Golang
Millist funktsiooni sa oled välja töötanud ja mille üle sa uhkust tunned? Räägi viimatisest huvitavast ülesandest.
Rääkige kõige meeldejäävama veaga tootmises: mis see oli, kuidas te selle parandate ja milliseid järeldusi te sellest tegite?
Räägi mulle oma viimatisest töökogemusest
Kuidas töötab Go-s prügikorjaja? Kirjeldage faase ja algoritmi.
Sa oled kirjutanud üsna palju tehnilisi ülesandeid. Palun räägi, milliseid tooteülesandeid need aitasid lahendada.
Millised on mõõdikud? Milliste tööriistadega me neid mõõdikuid kirjutame?
Üldmulje intervjuust, kandidaadi tase, soovitused
Mis on probes (probes) Kubernetesis, kuidas neid seadistada ja millised on tüübid?
Nüüd tahame minna HeadHunterisse ja otsida kandidaate filtrite järgi — kuidas seda arhitektuuriliselt kavandada?
Mida näitab kood lõikude ja nende funktsiooni edasiandmisega? Kuidas töötab lõigu edasiandmine funktsioonile?
Kas teil on kogemusi tehniliste skriiningute või intervjuudega?
Ülesanne: on callback, mis käivitub 100 000 korda sekundis, tarnides binaarandmeid. Neid tuleb toimetada keskserverisse. Millised on lõksud ja head praktikad?
Rakenda funktsiooni, mis võtab vastu []any ja delta int. Vajadus on suurendada delta-ga ainult unikaalsete arvude (int) esimesi esinemisi. Teised tüübid ja korduvad arvud jäävad muutmata. Funktsioon peaks tagastama uuendatud nimekirja ja 2 arvu: updated – kui palju unikaalseid numbreid on muudetud, duplicates – kui palju numbrilisi elemente osutusid duplikaatideks func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // sinu kood } // Näide: 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 // unikaalsed numbrid: 1, 5, 0 // d == 2 // duplikaadid: teine 1, teine 5
Mis on gorutin? Milles seisneb selle kergekaalulisus?
// Existentne liides Backend koos meetodiga Execute // On vaja kirjutada koormuse tasakaalustaja // Koormuse tasakaalustaja vastab liidesele Backend // Koormuse tasakaalustaja ülesandeks on vastu võtta päring ja suunata see ühe olemasoleva backendi juurde // Koormuse tasakaalustaja sisaldab endas kollektsiooni backendidest // Päringu täitmisel valib koormuse tasakaalustaja ühe backendi vastavalt teatud algoritmile // // Least Connection algoritm, tervise kontroll ja automaatne taastamine, thread safety atomic abil, konteksti edastamine katkestamiseks, vea piirväärtus, mille korral me backendi välja lülitame // Request esindab sisendpäringut Backendile. type Request struct { // Payload – päringu juhuslikud andmed. Payload []byte } // Response esindab vastust Backendist. type Response struct { // Payload – vastuse juhuslikud andmed. Payload []byte } // Backend – liides, mis määratleb meetodi päringu täitmiseks type Backend interface { Execute(ctx context.Context, req Request) (Response, error) } type Balancer struct { backends []Backend } func NewBalancer(backends []Backend) *Balancer { return &Balancer{backends: backends} } func (b *Balancer) Execute(ctx context.Context, req Request) (Response, error) { // todo: implementeeri koormuse tasakaalustaja loogika return Response{}, nil } type TestBackend struct { }
Kuidas sa arvutasid, et p95 langes 16%?
Kas on kõigile sama ajapiirang? Kuidas see ajapiirang arvutatakse?
// Antud on string s. Tuleb leida kõige pikem alamsõne ilma korduvate märkideta. // Näited: // s = "abcabcbb", vastus: 3 ("abc") // s = "cccccccc", vastus: 1 ("c") // s = "pwwkew", vastus: 3 ("wke") // s = "", vastus: 0 // String s koosneb inglise tähtedest, numbritest, sümbolitest ja tühikutest func lengthOfLongestSubstring(s string) int { return 0 }
Mis juhtub, kui sisestate [veebisaiti] brauserisse? Rääkige võimalikult üksikasjalikult, milliseid protokolle kasutatakse
Kas kas teil on kasutatud lähetatud tehingute lähenemisviise?