Golang
După ce criterii alegi companiile, pe ce te bazezi?
Putem transmite un slice ca parametru la o funcție?
Cum ajung sarcinile în lucru? Povestește-mi despre acest proces.
Povestește despre bazele de date — cu ce ai lucrat și cu ce lucrezi acum?
Întrebare despre serviciul lent Luând exemplul creării unei comenzi. Există o solicitare către serviciu și un răspuns, între aceste două acțiuni stocăm în analiză produsele comandate (de exemplu, pentru a număra popularitatea produselor). Serviciul de analiză funcționează uneori lent sau dă timeout, și nu reușim să răspundem la timp, pierdem comenzi. Ce să faci pentru a nu mai pierde comenzi și, implicit, bani? Gândește-te cum poți paraleliza comanda și analiza.
Cum se gestionează erorile în Go? Care este diferența dintre errors.Is și errors.As?
Clarificarea zonei de responsabilitate: mașina de stări, Transactional Outbox, blocări optimiste
Imaginați-vă o situație: nu puteți găsi teren comun cu un tester din echipa dvs. care vă 'atacă' constant. Cum veți interacționa?
Ce sunt brokerii de mesaje? Pe care îi cunoști? Cu ce se deosebește RabbitMQ de Kafka?
Ce se întâmplă dacă trebuie să renunți la Kafka și să o înlocuiești cu un alt broker de mesaje? Cum izolezi Kafka de serviciile externe?
Cum funcționează procesul de lansare? Cum a decurs ultima lansare cu participarea ta?
Ce trebuie făcut pentru ca serverul REST API (depozitul de cod) să înceapă să funcționeze în Kubernetes?
Vorbește despre oprirea grațioasă: ce este, ce se întâmplă în timpul acesteia, cum este apelată? Ce procese execută serviciul în Kubernetes după ce primește SIGTERM?
După părerea ta, unde începe highload-ul? Care este granița dintre highload și non-highload?
Ai un serviciu care creează multe goroutines. Cum ai limita numărul de goroutines care rulează simultan?
Ce este o apel de sistem (syscall)?
Spuneți mai multe despre proiectele în Go
Care dintre următoarele opțiuni este cel mai probabil să se întâmple atunci când încerci să lansezi un număr foarte mare de goroutines (de exemplu, zeci de mii) fără control suplimentar? - Problema principală va fi cauzată de blocarea mutex-ului global din runtime, ceea ce va duce la oprirea completă a execuției programului - Planificatorul Go va executa goroutine-urile în grupuri mici în mod secvențial, astfel creșterea numărului lor aproape că nu va afecta consumul de memorie - Crearea masivă de goroutine poate duce la un consum semnificativ de memorie și la costuri suplimentare ale planificatorului; în astfel de cazuri, un pool de workeri este adecvat - Dacă numărul de goroutine depășește numărul procesoarelor logice, Go va începe automat să respingă noile lansări de goroutine cu un panic
Vorbește despre Kubernetes — ce este, cum se diferențiază de Docker, care sunt componentele principale?
Cum este organizat canalul sub capot în Go?