Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, sql, backend.
Вовлечённость пользователей — это показатель активности и заинтересованности пользователей в продукте. Она может измеряться через метрики, такие как время на сайте, количество сессий, глубина просмотра, конверсии и т.п.
Если несколько горутин одновременно инкрементируют общий счётчик без синхронизации, то возникают гонки данных — результат может быть непредсказуемым из-за одновременного чтения и записи.
Уровень изоляции транзакций определяет, насколько транзакция изолирована от изменений, сделанных другими транзакциями, и влияет на возможные аномалии чтения (грязное чтение, неповторяющееся чтение, фантомное чтение).
Spinlock активно проверяет доступность ресурса в цикле, не переводя поток в состояние ожидания, что эффективно при кратковременных блокировках и на системах с несколькими ядрами.
Сервис изначально был написан на TypeScript, вероятно, из-за быстрой разработки, удобства работы с типами и широкого распространения JavaScript/TypeScript в веб-разработке.
В Go для хэширования часто используют пакет crypto или hash. Например, простая хэш-функция с использованием SHA-256 из пакета crypto/sha256 выглядит так:
Значения requests и limits для ресурсов в Kubernetes определяются на основе анализа потребления ресурсов приложением и требований к стабильности работы.
Inversion of Control (IoC) — это принцип проектирования, при котором управление созданием и связыванием объектов передаётся внешнему контейнеру или фреймворку, а не реализуется напрямую в коде.