Golang
Czy klucz główny może być złożony?
Czy w Twoim obecnym lub poprzednim miejscu pracy miałeś system o dużym obciążeniu?
Czym jest Mutex i co jest pod maską?
Co się działo po skrzynce odbiorczej? Czy istnieje procedura agregacji?
Dlaczego potrzebna jest normalizacja?
func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // fmt.Println(sum) } func foo_req(c chan int) error { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
Kto i jak przełącza goroutines między sobą? Opowiedz o planatorze (M:G:P).
Jakie sygnały systemu operacyjnego można przechwycić, a jakie nie?
Czy brał udział w onboarding nowych pracowników, pomagał młodszym kolegom?
Opowiedz o procesie pracy: jak były przydzielane zadania, które repozytorium było używane, jakie były kontury?
Co powiedzieć rekruterowi (jeśli zapyta) "Użyłbym puli workerów z ustaloną liczbą workerów, kanału na zadania i sync.WaitGroup. Workerzy będą wykonywać zapytania, a timeout i anulowanie będą kontrolowane przez kontekst. Wyniki zbiorę w buforze, chronionym mutexem (lub przez oddzielny kanał)." Teraz twoja kolej Napisz kod w tym czacie. Sprawdzę go i dam feedback. Jeśli nie wiesz, od czego zacząć, poproś o podpowiedź. Powodzenia!
Czy słyszałeś coś o kwaternionach? Wiesz, jak są używane w grafice komputerowej?
Czy Redis przechowywał dane wyłącznie w pamięci, czy był fallback na dysk? Co się stanie, jeśli Redis się zawiesi?
Zadanie architektoniczne: usługa powiadomień korzysta z szablonów z serwisu administracyjnego. Jak zapewnić niezawodność w przypadku awarii serwisu administracyjnego?
Z jakimi bazami danych pracowałeś? Relacyjne, nierelacyjne?
Opowiedz o porażce w pracy.
Jakie rodzaje kontekstu znasz?
Jaka jest główna różnica między Repeatable Read a Serializable?
Jak działa slice w Go?
Od jakiej kwoty jesteście gotowi rozważyć ofertę?