Când map-ul se umple, se creează un nou lanț de bucket-uri. Povestește ce se întâmplă cu cheile vechi și cele noi în timpul transferului? De ce datele sunt transferate leneș, și nu imediat ca în slice?
Golang
În timpul funcționării Garbage Collector, există Stop the World?
Când este mai bine să folosiți partiționarea și când sharding-ul?
Când se face sharding, utilizatorul nu știe pe ce mașină sunt datele sale. Cum se rezolvă acest lucru?
Este întotdeauna bine să ai un index? Varianta cu index este întotdeauna mai bună decât cea fără?
Dacă avem 16 partiții și 2 consumatori, cum se vor împărți? Ce se va întâmpla când vom adăuga un al treilea consumator?
Cum se măsoară costul în EXPLAIN? Ce este costul?
Ce alte opțiuni există pentru a crește viteza bazei de date în afară de indecși?
Cum era reglat numărul de instanțe? Cine stabilea cerințele de resurse în Kubernetes?
Ce mecanisme de sincronizare în Go cunoști?
Există un handler HTTP care face un SELECT complex în baza de date, iar utilizatorul nu este mulțumit de timpul de așteptare lung. Care este secvența de acțiuni pentru diagnosticare și optimizare?
pprof îți va arăta întotdeauna o scurgere de memorie sau depășirea limitei?
Ce s-a făcut exact cu duplicatele după descoperire? Unde au fost curățate?
Există modalități de a gestiona (ajusta) momentele de pornire ale Garbage Collector-ului? De exemplu, setările compilatorului.
Cum interacționau serviciile între ele? Unde erau localizate?
Cum a fost realizat deployment-ul? Cu ce au fost implementate în Kubernetes?
Ce se întâmplă dacă unul dintre consumatorii din grup se deconectează? Vorbește despre reechilibrare.
Povesti-ne despre compoziția echipei, zonele de responsabilitate ale serviciilor și ciclul de lansare.
De ce sunt necesare tranzacțiile în bazele de date?
Sarcină practică în Go: implementați o funcție (liniile 15-17) pentru procesarea unui set de sarcini (jobs) cu execuție secvențială și monitorizarea procentului de finalizare printr-un canal de progres.