Golang
Šta se dešava sa ostalim gorutinama dok se neke izvršavaju?
Koji je vaš format rada? Da li radite potpuno na daljinu? Gde se trenutno nalazite?
Kako razlikuješ Junior, Middle i Senior developere? Po kojim kriterijumima smatraš sebe Seniorom?
Koja entitet koristi za prenos podataka između gorutina?
Šta je za vas neprihvatljivo na poslu?
Indeksi u PostgreSQL-u: šta su, koje vrste poznaješ, zašto je B-tree bolji od Hash?
Da li se podaci kontejnera brišu nakon njegovog zaustavljanja?
U kojim situacijama je prikladnije da programer ručno piše kod umesto da se oslanja na rešenja generisana od AI?
Шта ће за тебе бити важно при избору новог посла?
Šta je kanal u Go i kako funkcioniše bufferiranje kanala?
Kako ste uticali na promenu procesa sa analizom?
Da li imate iskustva sa gRPC i GraphQL? Ispričajte mi o njima.
тип Response интерфейс {} tип Backend интерфейс { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr садржи ip:port конкретног примера func NewBackend(addr string) *BackendImpl tип Balancer структура { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { ако len(b.backends) == 0 { return nil, fmt.Errorf("Број на бекендови во слајсот е 0") } b.mu.Lock() index := b.index ако b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs содржи адреси на сите балансирани примероци func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Kako je garantovana ponovljivost izračuna — da su svim zaposlenima primenjivani isti uslovi?
Ispričaj mi o svom projektu i dostignućima u poslednje tri godine.
Koje arhitektonske obrasce ste primenjivali u svom radu?
Da li ste upoznati sa mehanizmom same-size grow u map? Šta je evakuacija u map i pri kojim operacijama ona nastaje?
Kako uporediti elemente u mapi? Kako proveriti da li se dve mape poklapaju?
func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Грешка при компилацији # command-line-arguments ./main.go:39:32: грешка у синтакси: неочекивани нови ред, очекивао { након if клаузуле
Може ли да се узме показивач на елемент мапе?