Golang
Na kojem grafikonu ste videli problem prilikom korišćenja pprof?
Čime ste se tačno bavili na trenutnom radnom mestu? Koja je vaša zona odgovornosti?
Šta su timeout-ovi i da li ih koristiš u radu?
Ispričaj mi, koji je tvoj trenutni projekat, za koji deo funkcionalnosti si odgovoran?
Kada je bolje koristiti Mutex, a kada Channel?
Kako se u Go naziva pristup kada kreiraš kanal, zatvoriš ga, a zatim čitaš iz njega? Koja je prednost zatvaranja kanala u odnosu na slanje vrednosti u njega?
Šta je gorutina i kako ona radi?
Koji je bio sastav tima? Da li je bio monofunkcionalan ili cross-funkcionalan?
Na koliko hostova/instanci je radio najzahtevniji servis?
Koje su osobine ponašanja goroutine kada poziva sinhrone sistemske funkcije?
Kako su organizovani testovi u timu — ko šta piše, kakvo pokriće, postoji li E2E?
Лив кодирање: додајте таймаут у функцију — ако извршење пређе 1 секунду, вратите грешку. Коришћење select, time.After, context.
Kako implementirati Dead Letter Queue (DLQ) u Kafka?
Šta bi bilo za tebe interesantno u novom poslu?
Šta je TLS i čemu služi sertifikat?
Још увек радите у [компанији]? Када планирате да напустите и зашто?
Koje stanje ima gorutina?
Koja je razlika između L4 i L7 balansera opterećenja?
Zašto smo istovremeno koristili Kafka i gRPC? Koji scenariji su išli kroz Kafka, a koji kroz gRPC?
/* Postoji aplikacija s arhitekturom mikroservisa. Mikroservis se može apstrahirati pomoću sučelja Backend. Za pristup primjerku mikroservisa, možete koristiti tip BackendImpl, koji je već implementiran. Svaki mikroservis ima nekoliko desetaka pokrenutih primjeraka, od kojih je svaki dostupan putem svoje adrese addr. Međutim, pojedinačni primjerci mikroservisa nisu pouzdani: the mogu pasti, biti nedostupni ili preopterećeni. Stoga morate implementirati tip Balancer, koji također implementira sučelje Backend i vrši balansiranje opterećenja na strani klijenta između primjeraka mikroservisa, birajući svaki put **najmanje opterećen** primjerak. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr sadrži ip:port određenog primjerka func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs sadrže adrese svih uravnoteženih primjeraka func NewBalancer(addrs []string) *Balancer { // TODO }