Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

315 вопросов 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 315
System Design

Как внедрить паттерн Saga в микросервисной архитектуре?

подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…

Читать ответ
Теория

Как вы обеспечивали потокобезопасность в приложениях, когда это требовалось?

Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…

Читать ответ
Теория

Как запустить несколько запросов к стороннему API параллельно?

параллельное выполнение сетевых запросов, асинхронный ввод-вывод применить async/await вместе с Promise.all в JavaScript или использовать эквивалентные средства в других языках одновременно инициировать все запросы и…

Читать ответ
Теория

Как запустить один event loop внутри другого?

Можно ли запустить event loop внутри другого event loop? Асинхронное программирование и event-driven модели Стандартный asyncio не позволяет напрямую запускать вложенный event loop — исключением является RuntimeError…

Читать ответ
System Design

Как защитить баланс от двойного списания при гонке транзакций?

Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…

Читать ответ
System Design

Как избежать дублирования отложенных писем при горизонтальном масштабировании сервиса?

Как исключить повторную отправку отложенных писем при горизонтальном масштабировании? область: распределённые системы, messaging ключевая проблема: конкуренция при отправке между несколькими инстансами решение 1 —…

Читать ответ
Теория

Как использовать suspendCancellableCoroutine для работы с колбэками?

Как использовать suspendCancellableCoroutine для работы с колбэками? Kotlin coroutines Преобразует колбэки в suspend-функции Приостанавливает выполнение до получения результата Поддерживает отмену корутины…

Читать ответ
Лайвкодинг

Как исправить CountDownLatch с неатомарным счётчиком без AtomicInteger?

Как исправить использование CountDownLatch с неатомарным счётчиком? проблема: счётчик не является атомарным, поэтому возникают состояния гонки решение 1: использовать AtomicInteger вместо обычного счётчика (если это…

Читать ответ
Теория

Как корректно настроить http.Server.Shutdown для воркеров и ресурсов?

Как корректно настроить http.Server.Shutdown для воркеров и ресурсов Контекст: graceful shutdown HTTP-сервера в Go http.Server.Shutdown выполняет плавную остановку: прекращает приём новых соединений и ожидает…

Читать ответ
Теория

Как корректно отменить горутину, выполняющую долгую операцию, например запрос к БД?

Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…

Читать ответ
Теория

Как корректно отменять корутины и какие инструменты для этого использовать?

Как корректно отменять корутины и какие средства для этого применяются? Управление корутинами в Kotlin/Coroutine строится вокруг контекста отмены Отмена передаётся по иерархии контекстов: при отмене родителя…

Читать ответ
Теория

Как масштабируется Apache Kafka?

распределённая публично-подписная система потоковой обработки событий (event streaming) масштабирование выполняется за счёт партиционирования топиков каждый топик разделён на партиции, что обеспечивает параллельную…

Читать ответ