Golang
hlavný balík import "fmt" func subis(is []int) []int { return append(is, 5) } func main() { is := []int{1, 2, 3, 4} subis(is[2:3]) fmt.Println(is) }
Poznáš vzory pri práci s kanálmi a gorutinami? Povedz o fan-in, fan-out a ďalších.
Na čom sa zakladáš, keď prijímaš riskantné rozhodnutie v prospech rýchlosti alebo kvality?
Prečo ste sa rozhodli opustiť svoje súčasné zamestnanie?
Aké typy Mutexov sú v Go?
Čo je v balíčku sync?
Firemná platforma na spracovanie logistických a prevádzkových údajov — práve ste tvorili a počítali logistické trasy?
Čo možno povedať o rýchlosti čítania pri prítomnosti indexu?
Ako sa podarilo zvýšiť spoľahlivosť integrácie s medicínskym agregátorom a znížiť stratu dát z 2% na 0,01%? A nie je to veľa — 2% stratených dát v medicíne?
Môžeš opísať, čo používaš na čítanie kanála v goroutine pracovníkov?
Aké anomálie poznáš v viacvláknovom programovaní?
Aké vysoko zaťažené služby si vyvíjal? Môžeš uviesť RPS?
Čo by nemalo byť v tíme alebo v práci? Aké sú červené vlajky?
Nakoniec, z akých riešení ste si vyberali? ClickHouse, ELK a čo ešte?
Prečo je v rate limiteru potrebný mutex? Je možné problém vyriešiť bez mutexu pomocou sync.Map?
Ohodnoťte svoje znalosti o Go a PostgreSQL od 1 do 10.
balíček maptask import "fmt" import "time" func Foo() { data := make(map[int]bool) for i := 0; i < 10; i++ { go func() { data[i] = true }() } time.Sleep(time.Second * 1) for k, v := range data { fmt.Println(k, v) } }
Prečo teraz v hľadaní? A čo presne pritiahlo na tejto pozícii?
Ako napísať paralelné HTTP požiadavky v Golang?
Osobne som testoval, že Postgres preusporadúva stĺpce a optimalizátor mu nezáleží na poradí, v akom napíšete dotaz — sám ho preusporiada tak, ako je potrebné. Čo si o tom myslíš?