Golang
A fost vreodată ca rezultatul muncii tale să nu fi fost satisfăcător pentru superiorul tău?
Știi ce este testarea bazată pe tabele (teste conduse de tabele)?
Și în sharding-uri, în replici, cum a fost configurată configurația ClickHouse?
Ce este o bază de date relațională și care sunt diferențele față de una non-relațională?
Ce sunt DNS și atacul MITM?
Ce sunt tranzacțiile și proprietățile ACID?
Care este diferența dintre Inversiunea Dependenței și Injecția de Dependență?
Există restricții privind durata proiectului? Sunteți dispuși să luați în considerare un proiect de 2 luni?
Cum se leagă serviciul asincron de reducerea cu 25% a încărcării pe PostgreSQL?
Aveți experiență cu framework-uri moderne de frontend (Vue, React, Svelte)? Ce este reactivitatea și cum este implementată în React?
Descrie arhitectura unuia dintre proiectele tale (straturi, modele, organizarea codului)
Ce va fi afișat la rularea programului: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // Simulare de lucru }() } wg.Wait() fmt.Println(len(counter)) }
Cum gestionezi situația în care toate cele 5 goroutine văd simultan un cache gol și merg la baza de date (cache stampede)?
Putem influența colectorul de gunoi în Go?
Cum se execută această interogare SQL cu subinterogare și DENSE_RANK (ordinea de execuție)?
Cum se garantează că un mesaj din coadă va fi procesat exact o dată dacă există mai mulți lucrători?
Vorbește despre experiența ta actuală: unde lucrezi acum, la ce produs, care este stiva ta principală?
De cât timp lucrezi cu Go? La locul tău de muncă anterior, combinai PHP și Go — cum se întâmpla asta?
Este responsabilitatea ta să verifici singur metricile după deployment și să înregistrezi rezultatul?
// Corectează codul func FixProblem() { var wg sync.WaitGroup ch := make(chan string, 5) mu := sync.Mutex{} for i := 0; i < 5; i++ { wg.Add(1) go func(ch<- string, i int, wg *sync.WaitGroup) { defer wg.Done() mu.Lock() defer mu.Unlock() msg := fmt.Sprintf("Goroutine %s", strconv.Itoa(i)) ch <- msg }(ch, i, &wg) } for { select { case q := <-ch: fmt.Println(q) } } wg.Wait() }