Golang
Miks kasutasite Redis-i mitte-mälu vahemälu asemel?
Kas olete töötanud PostgreSQL-i tehingutega ja milliste isolatsioonitasemetega?
Kas sa veel suhtled teiste ettevõtetega? Kas sul juba on pakkumised?
Raksturojiet darbu ar Kafka: kas notiek, kad uzkrājas lag, kādi ir riski un kā tie tika risināti?
Räägi olukorrast, kus sa pakkusid algatust ja seda kaitsesid.
Milline käsk näitab kettaruumi?
peamine pakett func main() { c := make(chan int) 3 tsüklit { valik { vaikimisi: println(1) juhtum <-c: println(2) juhtum c <- 1: println(3) } } }
Millised on vaheprotsesside suhtluse (IPC) tüübid?
Kuidas toimus reeglite lisamine ja eemaldamine, kui see oli suur switch-case?
Kuidas peaks arendajad kasutama tehisintellekti tööriistu koodi genereerimiseks või ülevaatamiseks ning millised sammud on vajalikud nende väljundi valideerimiseks?
Kas standardraamatukogu net/http piisab tootmises veebiserveri kirjutamiseks puhtas Go-s ilma raamistikudeta?
Räägi mulle, kuidas sa arened ja õpid, mida praegu õpid?
```go type User struct { ID int Name string } var ( dbHits int ) func getUserInfoFromDB(id int) User { time.Sleep(100 * time.Millisecond) dbHits++ return User{ID: id, Name: fmt.Sprintf("User-%d", id), } } func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { defer wg.Done() fmt.Println(getUserInfoFromDB(i)) }(42) } wg.Wait() fmt.Println("DB hits:", dbHits) } ``` Korrigenda koda, kas saistīta ar vienlaicīgu piekļuvi mainīgajam dbHits, ir jāveic sinhronizācija, lai novērstu datu sacensības.
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() }
Kuidas on seotud plokiahel ja CAP-teoreem? Kas plokiahel on alati kättesaadav?
Mis on sinu peamine arenduskeel ja kui palju kogemust sul on?
Kas olete töötanud koos koostatud indeksitega?
Go-s on raamatukogu — LRU, kuhu saab saata Any ja määrata TTL. Miks valiti Redis, mitte see?
Rääkige meile gorutinidest ja kuidas need erinevad operatsioonisüsteemi niitidest.
Kas on küsimusi intervju etappide kohta?