Golang
Millisele summale te loodate?
Kuidas puhastatakse surnud read PostgreSQL-is? Kuidas töötab Vacuum?
Kuidas sa aru, et andmebaasil on koormus? Kuidas osalesid probleemi tuvastamises?
Rääkige, millega täpselt tegelete [ettevõttes].
Milline on sinu haridus? Lõpetatud? Sa ei õpi praegu?
Kas saaks selgitada TCP ja UDP protokolle, kuidas nad erinevad?
Kas oled lugenud Go-s hash-tabeli (kaarti) rakendamisest? Kui halb võib olla hash-funktsioon kõige halvemal juhul?
Kuidas aru saada, millal on vaja partitsioneerimist või shardingut?
peamine pakett import ( "crypto/md5" "fmt" ) var tähe = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func ParooliTaastamine(h []byte) string { return "" } func parooliHash(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := parooliHash(exp) act := ParooliTaastamine(h) if act != exp { fmt.Printf("Viga: oodatud %q, saadud %q\n", exp, act) ok = false } } if ok { fmt.Println("Kõik testid läbitud edukalt") } }
Kas selle lahenduse jaoks on vaja konstruktor?
Kas teil on vigu olnud? Milliseid järeldusi te tegite, kuidas lahendasite?
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: } }() } return names, nil }
Kas on tavaline praktika paigutada fail auth.go ja test auth_test.go samasse kataloogi?
Miks sa läksite turule ja miks vastasite sellele tööpakkumisele?
Kui mitu tellimust sama kliendi poolt on sama summaga, kuidas muutub DENSE_RANK() käitumine võrreldes RANK()-ga? - DENSE_RANK() jätab vahele järgmise numbri, RANK() mitte - DENSE_RANK() omistab sama summa puhul sama reitingu ja ei jätma vahele järgmist numbrit, RANK() jätab vahele - Erinevust ei ole - DENSE_RANK() annab unikaalseid numbreid, RANK() sama numbreid
Kuhu soovite kasvada?
Kuidas arvutati 25% number? Miks mitte 20 või 30?
Kas otsustasid kirjutada WaitGroup, sest kanal ilmus või otsustasid kirjutada goroutines millegi jaoks?
Kuidas töötab Go-s prügikorjaja?
Mida juhtub, kui loete mitte-initsialiseeritud (nil) kanalilt?