Golang
var defaultTxOptions = &sql.TxOptions{} const defaultCurrency = "RUB" func CreateUserWithDefaultCurrency(ctx context.Context, db *sql.DB, email, passwordHash string) error { tx, err := db.BeginTx(ctx, defaultTxOptions) if err != nil { return err } defer func() { if err != nil{ tx.Rollback() } }() _, err = tx.Exec("INSERT INTO users (email, password) VALUES (?, ?)", email, passwordHash) if err != nil { return err } rows, err := tx.Query("SELECT id FROM users WHERE email = ?", email) if err != nil { return err } defer rows.Close() id := 0 for rows.Next() { err = rows.Scan(&id) if err != nil { return err } } _, err = tx.Exec("INSERT INTO balances (user_id, currency, current_balance) VALUES (?, ?, 0)", id, defaultCurrency) if err != nil { return err } return tx.Commit() }
Co robimy z metrykami po ich zebraniu? Jaki jest plan działania?
Co robi wywołanie systemowe fork()?
Jakie podejście podstawowe pozwoli na absolutnie równoległe i poprawne zapisanie wszystkich wartości, biorąc pod uwagę, że mamy stałą tablicę i stałą liczbę goroutine?
Jakie wynagrodzenie rozważasz przy zmianie firmy?
Wymagana jest implementacja funkcji uniqRandn, która generuje listę długości n z unikalnymi, losowymi liczbami. import ( "fmt" "math/rand" ) func main() { fmt.Println(uniqRandn(10)) } func uniqRandn(n int) []int { //... }
Czy możesz przypomnieć sobie wszystkie możliwe sposoby komunikacji międzyprocesowej (IPC)?
Jak ocenia się skuteczność zespołu deweloperskiego?
Co się dzieje w Kubernetes, gdy uruchamiasz kubectl create -f deployment.yaml? Opisz cały łańcuch.
Opowiedz, dlaczego zdecydowałeś się szukać nowych projektów i jakiego rozwoju oczekujesz.
Który prymityw synchronizacji ma wbudowaną kolejkę oczekujących i jest używany do jednokrotnej inicjalizacji?
Opisz główny cel izolacji zmian w oddzielnych gałęziach przed scaleniem z main: - Wyeliminować konieczność testowania przed wydaniem - Zapewnić niezależne wersje aplikacji dla produkcji i rozwoju bez scalania - Zachować stabilność głównej gałęzi - Uniknąć konfliktów podczas wspólnego rozwoju
Na jakich wersjach Go programujesz i czy interesują cię nowości?
Czy są pytania dotyczące etapów wywiadu?
Czym jest indeks złożony (indeks na kilku kolumnach)?
Jaki byłby dla Ciebie najwygodniejszy format pracy: zdalny, hybrydowy czy w biurze?
Jakie narzędzia zostały użyte do obserwowalności usług?
Na jakim etapie jest Twoje poszukiwanie pracy: aktywnie czy pasywnie rozważasz oferty?
Z jakimi bazami danych pracowałeś?
Czym różni się relacyjna baza danych od nierelacyjnej?