Golang
Cum se realizează procesul de testare a codului în limbajul Go?
Ai experiență cu cod vechi sau moștenit care necesită modernizare sau refactorizare?
Cum interacționează goroutine-urile cu memoria în timpul execuției programelor în Go?
Câte conexiuni erau la PostgreSQL? Ce să faci dacă conexiunile nu sunt suficiente la 10 mii RPS?
Există restricții privind numărul de goroutines care pot fi rulate simultan în aplicație?
În ce situații poate apărea blocarea mutuală a firelor sau proceselor?
Poate fi considerat un slice sigur pentru utilizarea într-un mediu multi-thread fără măsuri suplimentare de sincronizare?
Care sunt avantajele și dezavantajele utilizării goroutines în programele Go?
Cum se realizează ștergerea și optimizarea indexurilor în baza de date?
Ce componente fac parte din mediul de execuție al programului?
Aveți experiență practică în dezvoltarea de soluții arhitecturale pentru sisteme complexe?
De ce se utilizează algoritmul de hashing consistent și ce probleme ajută la rezolvarea?
Pentru ce este destinat directorul Internal în structura proiectului?
Ce parametri pot fi utilizați pentru configurarea comportamentului colectorului de gunoi?
Când exact pot trece goroutine-urile în coada locală de execuție?
Ce alte limbaje de programare cunoști pe lângă Go la un nivel bun?
Care dintre următoarele fragmente de cod conține o eroare sau o problemă potențială legată de lucrul cu canale? Opțiunea 1 package main func main() { ch := make(chan int) ch <- 1 } Opțiunea 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Opțiunea 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Opțiunea 4 package main func main() { ch := make(chan int) close(ch) <-ch } Opțiunea 5 package main func main() { ch := make(chan int, 3) ch <- 4 }
Ești pregătit pentru formatul de lucru hibrid (birou + de acasă)?
În ce parte a memoriei este plasat array-ul de date în timpul execuției programului?
Ați folosit vreodată un mecanism de blocare pesimistă în proiectele dvs.?