Golang
Sarcină: „Procesarea paralelă a URL-urilor cu limitare de timp” Scrieți o funcție fetchAll(urls []string, maxParallel int, timeout time.Duration) map[string]string, care: 1. Pentru fiecare URL face o solicitare HTTP GET (se poate folosi http.Get). 2. Returnează un map[string]string, unde cheia este URL-ul, iar valoarea este corpul răspunsului (ca șir) sau un șir gol în caz de eroare/timp expirat. 3. Nu se execută mai mult de maxParallel solicitări simultan. 4. Timpul total de funcționare nu trebuie să depășească timeout. Dacă timpul expiră, toate solicitările nefinalizate sunt anulate, iar funcția returnează ceea ce a reușit. 5. Folosiți contextul pentru anulare.
Ce gestionare de pachete sunt utilizate în Ubuntu și CentOS?
De ce acum sunt deschise propuneri care nu sunt satisfăcătoare în poziția actuală?
146% CPU în top — este posibil și ce înseamnă?
Vorbește-mi despre ultima ta experiență tehnică, ce sarcini ai realizat, ce te-a fascinat cel mai mult?
În ce limbaj de programare scrieți?
Este sigur accesul concurent la un slice? Va exista o condiție de cursă dacă 4 goroutines modifică fiecare indicele lor unic al slice-ului?
Ce este o vedere (reprezentare)?
Există tipizare dinamică în Go?
Ce servere HTTP în Go ai folosit?
Ce este observability? Ce include acest concept și ce este necesar pentru ca un serviciu să fie gata pentru producție? De ce sunt necesare metricile, trasările și jurnalele?
În CV se menționează că ai accelerat viteza de procesare de 4-5 ori la ultimul loc de muncă — povestește mai multe detalii.
Cum oprești executarea cererilor HTTP după prima eroare?
La ce serve un canal cu o structură goală chan struct{}?
Hai să clarificăm pe hartă. În găleți — este implementarea anterioară, implementarea nouă, ce putem spune?
Ce faci, ce echipă ai?
Care sunt modalitățile de a declara un WaitGroup? Cum se scrie o valoare într-un canal?
Ați lucrat cu PostgreSQL, MongoDB, ClickHouse și alte baze de date?
Care sunt caracteristicile Kafka?
Ce comenzi pot fi folosite pentru a verifica resursele consumate în Linux?