Golang
Kuo skiriasi JOIN nuo UNION?
Ar esate Maskvoje?
Kodėl kandidato atsakomybės srityje buvo pridėta antifraud patikros paslauga?
Kiek mikroservisų yra tavo dabartiniame darbe ir su kuriais dirbi tiesiogiai?
Ką manai, kas iš esmės yra problema su atminties sprendimu? Kas nutiks, jei perkrausite paslaugą?
Kada reikia pašalinti indeksus? Kas yra denormalizacija?
Kam iš tikrųjų reikalingi kibirai žemės plokštelėje/map? Kokia jų funkcionalinė rolė?
Ar tai reiškia, kad viskas vis tiek baigsis po šio laiko? Kitaip tariant, kažkas vis dar gali neveikti — koks čia problemos?
Aprašykite Linux serverio įkėlimo procesą nuo paleidimo iki terminalo paleidimo
Maksimali apkrova: 25k skaitymų / 5k įrašų per sekundę Naujų duomenų kiekis: 10 TB per metus Maksimalus paralelizmas: 120k vienu metu užklausų Metinis vartotojų augimas: 30% Tikslo p99 delsmas: <150 ms skaitymui, <400 ms rašymui Tikslo prieinamumas: 99,95% Jūsų užduotis yra sukurti architektūrinį sprendimą, kuris pašalins esamas problemas, užtikrins nuoseklumą ir atsparumą klaidoms, taip pat įdiegti sekimo mechanizmus, skirtus visiškam užsakymo gyvavimo ciklo stebėjimui. Aprašykite klaidų valdymo mechanizmą, migracijos planą nuo dabartinės architektūros ir paaiškinkite, kaip siūlomas sprendimas pagerins sistemos patikimumą ir skaidrumą.
Kas yra kanalai Go ir kokie jų tipai?
Ar yra būdas valdyti ir reguliuoti stop-the-world šiukšlių surinkėją Go?
// prekių lentelė: // ID | cnt_view // ----------- // 1 | 100 // du naudotojai pradėjo žiūrėti prekę su ID = 1 vienu metu // ir mūsų duomenų bazėje buvo paleistos 2 paralelinės operacijos // koks bus rezultatas? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Ar teko kada nors užsiimti architektūros užduotimis? Kaip buvo priimti architektūros sprendimai?
Kodėl mums reikia nutraukti kontekstą struktūroje? Kodėl užbaigti darbuotojus? Mes norime nutraukti Stop metodą.
Kur patenka gorutinos, kai jos sukuriamos — į vietinę ar į globalią planuotojo eilę?
Kaip atlikote Kafka vartotojų mastelio keitimą? Pagal kokius kriterijus?
Kaip laiko limitai veikia analitikos apkrovos mažinimą?
Koks buvo projektas įmonėje? Koks ten buvo mikroservisas?
Indeksai PostgreSQL: kas jie yra, kokius tipus žinai, kodėl B-tree yra geresnis nei Hash?