Golang
Kas nutiks, jei rašysite uždarytame kanale?
Kokius konkurencijos modelius žinote Go?
Kaip pavyko pagerinti medicinos agregatoriaus integracijos patikimumą ir sumažinti duomenų praradimą nuo 2% iki 0,01%? Ar tai nėra per daug — 2% prarastų duomenų medicinoje?
Paaiškinkite skirtumą tarp WebSocket ir SSE, taip pat jų naudojimo atvejus.
Pasakok apie kanalus Go.
Ar pats aprašėte ką nors apie observability — metrikas, įspėjimus?
Kas tau patinka Go ir kas tave erzina?
Ar buvo kokių nors galinių taškų paslaugos veikimui patikrinti — ar paslauga šiuo metu veikia?
Kokios rekomendacijos yra rašant Go modulius?
Kaip užtikrinote duomenų nuoseklumą projekte? Ar buvo atvejų skirtumų?
Kas nutiks su esamais užklausomis be Graceful Shutdown proceso pabaigoje?
Kodėl dabar paieškoje? Ir kas būtent patraukė šioje pozicijoje?
Asmeniškai išbandžiau, kad Postgres perkelia stulpelius ir optimizatoriui nesvarbu, kokia tvarka rašysi užklausą — jis pats ją perrikiuos kaip reikia. Ką manai?
Ką išves programos paleidimo metu: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // Darbo imitacija }() } wg.Wait() fmt.Println(len(counter)) }
Išvardinkite transakcijų izoliacijos lygius Postgres. Kodėl griežtesni izoliacijos lygiai veikia lėčiau? Nuo kurio lygio kyla konkurencija dėl duomenų?
Parašykite funkciją, kuri vietoje pašalina visus elementus, lygius val, iš slice. Grąžina slice be pašalintų reikšmių. func RemoveValue(slice []int, val int) []int { // jūsų kodas } // Pavyzdys RemoveValue([]int{1,2,3,2,4}, 2) // -> []int{1,3,4} RemoveValue([]int{1,2,3}, 5) // -> []int{1,2,3} RemoveValue([]int{}, 1) // -> []int{}
Kokius įrankius naudojote priklausomybėms valdyti Go?
Papaskinkite apie Garbage Collector'į Go, kaip jis veikia.
Kokios problemos gali iškilti naudojant Redis esant dideliam apkrovimui?
Papaskink apie sync.Atomic: kam jis naudojamas, ar teko jį naudoti darbe?