Golang
Jaki jest główny język programowania, którego używasz? Czy używasz C++ lub Python?
Czy znasz zasadę najmniejszych przywilejów (Principle of Least Privilege)?
Jak był zorganizowany zespół? Ile osób, jak podzielono je według domen?
Czym jest inode w Linux?
Opowiedz o swoim doświadczeniu na ostatnim miejscu pracy
Czy używasz TDD? Jak pokrywasz kod testami?
Co się stanie, jeśli nie przekażesz kontekstu w zapytaniu do bazy danych?
Opowiedz o swoim doświadczeniu zawodowym, szczególnie na ostatnim stanowisku.
System zaczął zwalniać — jak będziesz szukać przyczyny?
Jak podchodzisz do rozwiązania trudnego zadania w kodzie legacy z różnymi technologiami (Go, Bash, Python, Jenkins) w jednym sprincie?
Jakie inne struktury są używane do indeksów w bazach danych oprócz drzewa B?
Wszystkie id wprowadziłeś jako serial. Co to oznacza?
Jak planujesz zrealizować morphing obiektu drzewa jabłoni w jabłko? Jakie podejścia widzisz?
Czym jest twierdzenie CAP i podaj przykłady systemów CP i AP?
Jakie inne metody ochrony mapy przed dostępem współbieżnym oprócz mutexa?
Czy w tej tabeli są jakieś indeksy?
Jeśli usługa zużywa zbyt dużo pamięci, na co zwrócić uwagę w profilerze? Jak zmniejszyć alokacje?
func fetch(ctx context.Context, u User) (string, error) { // coś robimy w sieci time.Sleep(time.Millisecond * 10) // symulacja opóźnienia return u.Name, nil //return "", errors.New("jakiś błąd") } func Do(ctx context.Context, users []User) (map[string]int64, error) { var mu sync.Mutex var wg sync.WaitGroup ch := make(chan error, len(users)) names := make(map[string]int64, 0) ctxWithCancel, cancel := context.WithCancel(ctx) wg.Add(len(users)) for _, u := range users { go func() { defer wg.Done() select { case name, err := fetch(ctx, u): if err != nil { ch <- err return } mu.Lock() names[name] = names[name] + 1 mu.Unlock() case <-ctxWithCancel.Err: } }() }
Dlaczego odszedłeś z poprzedniej firmy?
Jaką dokumentację piszesz podczas tworzenia nowej usługi?