Golang
Вие сте в Москва ли?
Защо беше добавена услугата за антифрод проверки към зоната на отговорност на кандидата?
Колко микросервиса има в текущата ти работа и с кои работиш директно?
Какво мислиш, какъв е проблемът с решението в паметта? Какво ще се случи, ако рестартираш услугата?
Кога трябва да се премахват индексите? Какво е денормализация?
За какво изобщо са нужни кофите в хеш таблицата/карта? Каква е тяхната функционална роля?
Това означава ли, че всичко все пак ще приключи след този тайм-аут? Тоест, може все още нещо да не работи — какъв е проблемът тук?
Опишете процеса на зареждане на Linux сървър от стартиране до стартиране на терминала
Максимално натоварване: 25k четения / 5k записи в секунда Обем на новите данни: 10 ТБ годишно Максимален паралелизъм: 120k едновременни заявки Годишен растеж на потребителите: 30% Целева p99 закъснение: <150 мс за четения, <400 мс за записи Целева наличност: 99.95% Вашата задача е да разработите архитектурно решение, което ще премахне текущите проблеми, ще осигури съгласуваност и отказоустойчивост, както и ще внедри механизми за проследяване за пълно наблюдение на жизнения цикъл на поръчката. Опишете механизма за управление на грешки, план за миграция от текущата архитектура и обяснете как предложеното решение ще подобри надеждността и прозрачността на системата.
Какви са каналите в Go и какви видове има?
Има ли начин да управлявате и настройвате stop-the-world събирача за боклук в Go?
// таблица с стоки: // ID | cnt_view // ----------- // 1 | 100 // двама потребители започнаха да гледат продукта с id = 1 едновременно // и в нашата база данни бяха стартирани 2 паралелни транзакции // какъв ще бъде резултатът? 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() }
Имали ли сте някога задачи свързани с архитектурата? Как се взимаха архитектурните решения?
Защо трябва да прекъснем контекста в структурата? Защо да завършим работниците? Искаме да прекъснем метода Stop.
Къде попадат горутините при създаване — в локалната или глобалната опашка на планировчика Go?
Как извършихте мащабирането на Kafka потребителите? По какви критерии?
Как влияят тайм-аутите върху намаляването на натоварването на аналитиката?
Какъв беше проектът в компанията? Какъв микросервис имаше там?
Индекси в PostgreSQL: какво представляват, какви видове знаеш, защо B-tree е по-добър от Hash?
Може ли да се пише в една map от различни горутини едновременно? Какво ще се случи?