Ce este o șir în Go? Care este structura și caracteristicile sale?
Golang
// Este trebuie să modifici funcția ap astfel încât 6 să fie inclus în slice-ul afișat și ca slice-ul să fie sortat // Important - funcția ap nu returnează nimic package main import ( "fmt" ) func main() { v := []int{3, 4, 1, 2, 5} ap(v) fmt.Println(v) // rezultatul așteptat trebuie să fie - [3 4 1 2 5 6] } func ap(arr []int) { arr = append(arr, 10) arr[5] = 6 }
Ce este o gorutină? În ce constă ușurința sa?
Ce metode de optimizare a interogărilor la baze de date ai folosit? Ce ai observat în EXPLAIN ANALYZE și planul de interogare?
Vorbiți despre noua implementare a map în Go (Swiss Tables). Ce metode de rezolvare a coliziunilor există?
Ce tipuri de date în Go pot accepta valoarea nil implicit?
Ce este schimbarea de context a gorutinelor? Cine o efectuează?
Cum se poate reduce frecvența apelurilor garbage collector? Ce metode de optimizare cunoști?
Întrebare generală: pregătirea pentru interviu și sursele de întrebări
La câți serve un canal într-o transmisie fără buffer, dacă datele merg din stivă în stivă? Ce rol are canalul?
Ce tip de multitasking folosește planificatorul Go? Care sunt cele două tipuri de multitasking existente?
Care este avantajul Swiss Tables comparativ cu implementarea veche a tabelului hash? Câți biți ocupă codul hash în implementarea veche și cea nouă?
Ce este analiza de escape? Cum determină unde va fi plasată variabila (stivă sau heap)?
Cum are loc transferul de date printr-un canal fără buffer? Are un buffer?
De unde provine memoria pentru variabile? Ce este un alocator de memorie?
Ce blochează mutex-ul într-un canal - o goroutine sau o zonă de memorie?
Ce se întâmplă când se închide un canal neinițializat?
Ce sarcini ai realizat cu Kafka? Cum ai configurat garanțiile de livrare (exactly-once)?
Cum funcționează un mutex într-un canal cu buffer? Ce protejează?
Vorbește despre experiența ta profesională și despre stiva ta tehnologică