Golang
Ar pprof visada parodys, kad turi atminties nutekėjimą arba viršijai limitą?
Trumpai papasakok, kuo užsiėmėte ankstesnėse darbo vietose ir kokias funkcijas įgyvendinote.
Įgyvendinkite funkciją, kuri priima []any ir delta int. Reikia padidinti tik pirmuosius unikalių skaičių (int) pasirodymus delta. Kiti tipai ir pasikartojantys skaičiai paliekami nepakitę. Funkcija turi grąžinti atnaujintą sąrašą ir 2 skaičius: updated – kiek unikalių skaičių buvo pakeista, duplicates – kiek skaitinių elementų pasirodė esantys dubliuoti func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // jūsų kodas } // Pavyzdys: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // unikalūs skaičiai: 1, 5, 0 // d == 2 // dubliuojantys skaičiai: antras 1, antras 5
Kokia yra operacijų sudėtingumas su žemėlapiu blogiausiu atveju susidūrus su kolizijomis?
Papaskinkite apie Transactional Outbox modelį — kaip jis veikia ir kam jis naudojamas?
Ką veikiate [įmonėje]? Kokiame projekte dirbate?
Ar turite patirties optimizuojant užklausas reliacinėse duomenų bazėse?
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Kokios yra jūsų atlyginimo lūkesčiai ir pageidaujamas pateikimo formatas?
Kiek gorutinių galima sukurti vienoje mašinoje? Kaip skaičiuoti?
Kaip optimizavote paieškos scenarijus?
// Mūsų metodas gauti informaciją apie produktus, šis metodas yra labai dažnai kviečiamas // ar yra problemų šiame kode ir kaip jas ištaisyti? postgress duomenų bazė func (r *ProductRepository) GetProductDetails(ctx context.Context, productIDs []int) []Product { products := make([]Product, 0, len(productIDs)) for _, id := range productIDs { go func(id int) { var p Product query := "SELECT name, price, description FROM products WHERE id = $1" err := r.db.QueryRowContext(ctx, query, id).Scan(&p.Name, &p.Price, &p.Desc) if err != nil { r.logger.Error("error get product", "err", err) return } products = append(products, p) }(id) } return products }
**Sąlyga** Kelių URL užklausos turi būti vykdomos lygiagrečiai. Reikia parodyti HTTP būsenas ir tvarkyti klaidas.
Kodėl pasirinkote sau Go?
Kiek laiko rašote Go iš verslo patirties požiūriu?
Kokias konteinerizacijos ir orkestracijos sistemas žinote?
Kiek dažnai naudojote triggerius, tik su istorijos atveju ar buvo ir kitų atvejų?
Kokiu tvarka vykdomi priėmimo webhook'ai ir kodėl būtent taip?
Kas yra stekas ir kas yra krūva?
Kas yra JWT tokenas? Kokia jo struktūra ir kokie yra jo pranašumai prieš įprastus tokenus?