Бесплатно · без регистрации
Банк вопросов
с собеседований.
200 вопросов, которые часто задают на интервью. У каждого — короткий ответ, пример, как сказать вслух, и подробный разбор.
Какие методы HTTP вы знаете и что такое идемпотентность? Какие методы идемпотентны?
Какие типы в Python изменяемые, а какие нет, и почему это важно?
Расскажите, из каких областей состоит память JVM и что в них хранится.
Какие виды и уровни тестирования вы знаете и чем они отличаются?
Чем функциональные требования отличаются от нефункциональных? Приведите примеры.
Расскажите про модель OSI. На каких уровнях работают балансировщики L4 и L7?
Что такое p-value и как его правильно интерпретировать?
Спроектируйте сервис сокращения ссылок наподобие bit.ly: генерация короткого кода, редирект, статистика переходов.
Расскажите о себе.
В чём разница между var, let и const? Что такое всплытие (hoisting)?
Расскажите про коды ответов HTTP. Чем 401 отличается от 403, а 502 от 504?
Что такое GIL и как он влияет на многопоточность в Python?
Как работает сборка мусора в Java? Какие сборщики вы знаете и чем отличается G1 от ZGC?
Что такое пирамида тестирования и почему она именно такой формы?
В чём разница между user story и use case? Когда что использовать?
Чем контейнер отличается от виртуальной машины? За счёт чего достигается изоляция контейнеров в Linux?
Что такое переобучение и какие способы борьбы с ним вы знаете?
Спроектируйте ленту новостей социальной сети: пользователь видит посты тех, на кого подписан, отсортированные по времени или релевантности.
Почему вы уходите с текущего места работы?
Что такое замыкание (closure) и где оно применяется на практике?
Сравните REST, gRPC и GraphQL. Когда что выбрать?
Что такое генераторы и чем они отличаются от обычных функций и списков?
Как устроен HashMap внутри? Что происходит при put и get, и что такое тремификация корзин?
Расскажите про классы эквивалентности и граничные значения. Как бы вы протестировали поле возраста от 18 до 60?
Какие методы выявления требований вы знаете и как выбираете подходящий?
Сервер на Linux «тормозит». Как вы будете искать причину?
Объясните precision и recall. В каких задачах важнее одна метрика, а в каких другая?
Спроектируйте мессенджер уровня WhatsApp: личные и групповые чаты, статусы доставки и прочтения, работа при нестабильной сети.
Назовите ваши сильные стороны.
Что такое промисы и чем async/await отличается от цепочек then?
Как устроен индекс в базе данных и почему он ускоряет поиск? Когда индекс не поможет?
Как работают декораторы? Напишите пример и объясните, зачем нужен functools.wraps.
Какой контракт связывает equals и hashCode? Что будет, если переопределить только equals?
Что такое pairwise-тестирование и когда вы будете его применять?
Что такое критерии приёмки и как вы их формулируете?
Как работает DNS-резолвинг и какие типы DNS-записей вы знаете? Что такое TTL и чем опасны его большие значения при миграции?
Что показывает ROC-AUC и когда эта метрика может вводить в заблуждение?
Спроектируйте распределённый rate limiter: не более N запросов в секунду на пользователя для API из множества инстансов.
Какие у вас слабые стороны?
Как определяется значение this в JavaScript? Чем стрелочные функции отличаются от обычных?
Какие уровни изоляции транзакций существуют и какие аномалии они допускают?
Как устроены контекстные менеджеры и оператор with? Как написать свой?
Почему String в Java неизменяемый и что такое пул строк?
Из чего состоит хороший баг-репорт? Какие атрибуты обязательны?
Расскажите про основные элементы BPMN. Чем BPMN лучше обычной блок-схемы?
Как работает TLS? Расскажите про рукопожатие, цепочку сертификатов и чем симметричное шифрование отличается от асимметричного.
Как работает градиентный бустинг и чем он отличается от случайного леса?
Спроектируйте систему уведомлений: push, email и SMS от разных сервисов компании, с настройками пользователя, ретраями и защитой от дублей.
Расскажите о конфликте с коллегой и как вы его решили.
Чем interface отличается от type в TypeScript и когда что использовать?
Что такое ACID? Объясните каждое свойство и как база его обеспечивает.
Когда выбирать asyncio, а когда потоки или процессы? Как работает событийный цикл?
Что делает volatile и что такое happens-before? Почему volatile не заменяет синхронизацию?
Опишите жизненный цикл дефекта. Что происходит с багом от обнаружения до закрытия?
Какие UML-диаграммы вы используете в работе? Когда нужна sequence, а когда activity?
Из каких компонентов состоит Kubernetes? Что происходит в кластере, когда вы применяете манифест Deployment?
Зачем нужна кросс-валидация и какие схемы вы выберете для разных типов данных?
Объясните CAP-теорему. Что реально выбирают распределённые базы данных и почему «выбери два из трёх» — упрощение?
Расскажите о вашем провале и чему он вас научил.
Как React решает, что перерисовать? Расскажите про согласование (reconciliation) и роль ключей в списках.
Какие стратегии кэширования вы знаете и как решаете проблему инвалидации кэша?
Как работает MRO при множественном наследовании и что на самом деле делает super()?
Чем ConcurrentHashMap отличается от Collections.synchronizedMap и HashMap? Как он устроен внутри?
Чем отличаются смоук, санити и регрессионное тестирование? Когда какое проводится?
Что такое ER-модель и нормализация? Объясните первые три нормальные формы.
Чем отличаются Deployment, StatefulSet и DaemonSet? Когда вы выберете каждый из них?
Что такое утечка данных (data leakage), какие виды бывают и как её предотвратить?
База данных перестаёт справляться с нагрузкой и объёмом. Расскажите про репликацию и шардирование: когда что применять, как выбрать ключ шардирования и что делать с решардингом.
Расскажите о ситуации, когда вам пришлось работать в сжатые сроки.
Как работает useEffect? Зачем нужен массив зависимостей и какие с ним бывают проблемы?
Чем Kafka отличается от RabbitMQ и когда вы выберете каждую из них?
Зачем нужны аннотации типов в Python и что такое Protocol и дженерики?
Как работает Stream API: чем отличаются промежуточные и терминальные операции и что такое ленивость?
Как вы тестируете REST API? Что проверяете и как используете Postman?
Чем REST отличается от SOAP? Какие принципы REST вы знаете?
Что такое requests и limits в Kubernetes? Как они влияют на планирование подов, OOM и троттлинг?
Как вы спроектируете A/B-тест: от гипотезы до решения по результатам?
Зачем нужны балансировщик нагрузки и CDN? Какие алгоритмы балансировки бывают и какой контент имеет смысл раздавать через CDN?
Как вы расставляете приоритеты, когда задач больше, чем времени?
Чем Flexbox отличается от CSS Grid и когда что выбирать?
Сравните аутентификацию по сессиям и по JWT. Как безопасно хранить токен и что делать с отзывом?
Чем отличается поверхностное копирование от глубокого? Когда какое использовать?
Что такое IoC и DI в Spring? Опишите жизненный цикл бина и основные скоупы.
Сравните Selenium и Playwright. Что выберете для нового проекта автоматизации и почему?
Чем синхронная интеграция отличается от асинхронной? Когда нужны очереди сообщений?
Зачем Terraform нужен state-файл? Как организовать работу со state в команде и что делать при его рассинхронизации с реальностью?
Какие способы кодирования категориальных признаков вы знаете и как выбрать подходящий?
Клиент отправил запрос на списание денег, не дождался ответа и повторил его. Как спроектировать идемпотентность API, чтобы списание не прошло дважды?
Что вас мотивирует в работе?
Что такое CORS? Почему возникает ошибка и как её правильно устранять?
Что такое SQL-инъекция и как от неё защититься? Какие ещё уязвимости API нужно знать?
Что такое проблема N+1 в Django ORM и чем отличаются select_related и prefetch_related?
Как работает @Transactional в Spring? В каких случаях аннотация молча не сработает?
Что вы делаете с нестабильными (flaky) автотестами? Как боретесь с ними системно?
Что такое OpenAPI (Swagger) и как вы используете его в работе аналитика?
Как устроен Prometheus? Расскажите про pull-модель, типы метрик и как строится алертинг.
Как работать с сильным дисбалансом классов в задаче классификации?
В микросервисной архитектуре заказ затрагивает сервисы оплаты, склада и доставки. Как обеспечить согласованность без распределённых транзакций? Расскажите про saga и transactional outbox.
Какие у вас зарплатные ожидания?
Сравните cookie, localStorage, sessionStorage и IndexedDB. Что где хранить?
Что такое проблема N+1 запросов и как её обнаружить и устранить?
Как устроено внедрение зависимостей в FastAPI и какую роль играет Pydantic?
Что такое проблема N+1 в Hibernate/JPA и как её решать? Как связана ленивая загрузка?
Как вы подходите к нагрузочному тестированию? Какие виды нагрузки и метрики используете?
Что такое идемпотентность API и зачем аналитику её учитывать?
Объясните SLI, SLO и SLA. Что такое error budget и как он влияет на процесс разработки?
Как устроен механизм внимания (attention) и почему трансформеры вытеснили рекуррентные сети?
Дан массив чисел и целевое значение target. Верните индексы двух элементов, сумма которых равна target. Один элемент дважды использовать нельзя.
Какие вопросы у вас есть к нам?
Что такое reflow и repaint? Как устроен пайплайн отрисовки и как писать код, не вызывающий лишних перерасчётов?
Какие гарантии доставки сообщений бывают? Возможна ли exactly-once и как сделать обработку идемпотентной?
Как устроены фикстуры в pytest и как вы подходите к мокам и параметризации?
Что такое виртуальные потоки в Java 21+? Чем они отличаются от платформенных и когда их использовать?
Как встроить автотесты в CI/CD-пайплайн? Опишите, как это устроено на вашем проекте.
Как вы управляете изменениями требований и зачем нужна трассировка?
Сравните стратегии деплоя: rolling, blue-green и canary. Какие у каждой плюсы, риски и требования к инфраструктуре?
Что такое RAG, как устроен пайплайн и от чего зависит качество ответов?
Дана строка из символов ()[]{}. Проверьте, является ли она корректной скобочной последовательностью: каждая скобка закрыта парной в правильном порядке.
У вас в резюме перерыв в карьере. Расскажите, с чем он связан?
Что делает сборщик (bundler)? Объясните tree shaking и code splitting — как уменьшить бандл приложения.
Как работает репликация в базах данных? Какие проблемы создаёт асинхронная репликация и как с ними жить?
Как вы управляете зависимостями и окружениями в Python-проекте?
Расскажите про records, sealed-классы и pattern matching. Какие задачи они решают вместе?
Вы приходите на проект, где тестирования нет вообще. С чего начнёте выстраивать процесс?
Есть таблицы customers и orders. Напишите запрос: клиенты, не сделавшие ни одного заказа за последние 90 дней. Чем LEFT JOIN отличается от INNER JOIN?
Как правильно управлять секретами в инфраструктуре и CI/CD? Почему нельзя хранить их в git и чем плохи «голые» Secrets в Kubernetes?
Как мониторить ML-модель в проде и что делать при дрейфе данных?
Разверните односвязный список: верните голову списка, в котором узлы идут в обратном порядке. Решите итеративно, без дополнительной памяти.
Почему вы решили сменить профессию?
Напишите функцию debounce. Чем она отличается от throttle и где что применять?
Даны таблицы orders (id, customer_id, amount, created_at) и customers (id, name). Напишите запрос: топ-5 клиентов по сумме заказов за последние 30 дней, включая число заказов.
В этой функции баг: def add_item(item, items=[]) — объясните его и исправьте.
Как Kotlin решает проблему NullPointerException и что происходит на границе с Java-кодом?
Составьте тест-кейсы для формы логина (email, пароль, кнопка «Войти»).
Напишите SQL-запрос: по каждой категории товаров найти три самых продаваемых товара по выручке. Чем оконные функции отличаются от GROUP BY?
Напишите production-готовый Dockerfile для Python-приложения. Объясните, как уменьшить образ и ускорить сборку за счёт кэша слоёв.
Дан DataFrame с заказами (user_id, order_date, amount). Посчитайте для каждого пользователя число заказов, суммарную выручку и дату последнего заказа, а затем выделите топ-5 пользователей по выручке.
Реализуйте LRU-кэш заданной ёмкости: get(key) возвращает значение или -1, put(key, value) добавляет пару и вытесняет самый давно не использованный элемент при переполнении. Обе операции — за O(1).
Как вы действуете, когда получаете задачу с неясными требованиями?
Реализуйте собственный Promise.all. Как он поведёт себя при ошибке одного из промисов?
В таблице users есть дубликаты по email. Напишите запрос, который найдёт все дублирующиеся email, и запрос, который удалит дубли, оставив самую раннюю запись.
Напишите декоратор retry(times, delay), который повторяет функцию при исключении.
Найдите баг: объект кладут в HashSet, затем меняют его поле — и contains возвращает false. Объясните и исправьте.
Напишите автотест логина на Playwright. Как сделаете его стабильным и поддерживаемым?
Спроектируйте интеграцию интернет-магазина со службой доставки: передача заказов и получение статусов. Какие вопросы зададите и что опишете в постановке?
Напишите bash-скрипт, который находит в access-логе nginx топ-10 IP-адресов по числу запросов с ошибкой 5xx. Какие приёмы делают скрипт надёжным?
SQL: есть таблица payments (user_id, paid_at, amount). Найдите для каждого пользователя три самых крупных платежа и посчитайте долю каждого в его общей сумме.
Реализуйте бинарный поиск: в отсортированном массиве найдите индекс целевого элемента или верните -1. Объясните, почему он работает и где ошибаются чаще всего.
Что вы делаете, если не согласны с решением руководителя?
Есть список из тысячи элементов, по клику на элемент нужно выполнить действие. Как повесить обработчики эффективно? Реализуйте делегирование событий.
С помощью оконных функций выведите по каждому клиенту его последний заказ и долю этого заказа в общей сумме заказов клиента.
Напишите функцию chunked(iterable, size), которая разбивает любой итерируемый объект на части по size элементов.
Напишите через Stream API: посчитать частоту слов в списке и вывести топ-3 самых частых.
Напишите автотест для API создания пользователя на pytest. Что и как будете проверять?
Две системы должны обмениваться данными о сделках с гарантией доставки. Спроектируйте обмен: что выберете и как обеспечите надёжность и согласованность?
Напишите манифест Kubernetes: Deployment на 3 реплики с пробами и ресурсами плюс Service. Объясните, зачем нужны liveness и readiness probes.
NumPy: дана матрица точек X размера (n, d) и матрица центров C размера (k, d). Посчитайте без циклов матрицу попарных евклидовых расстояний и ближайший центр для каждой точки.
Реализуйте обходы графа в ширину (BFS) и в глубину (DFS). Чем они отличаются и когда какой выбирать?
Каким профессиональным достижением вы гордитесь больше всего?
Напишите функцию memoize, кэширующую результаты вызовов. Какие есть подводные камни у мемоизации?
Спроектируйте сервис сокращения ссылок наподобие bit.ly: генерация кода, хранение, редиректы под высокой нагрузкой.
Реализуйте контекстный менеджер Timer двумя способами: классом и через contextlib.
Реализуйте producer-consumer: один поток кладёт задачи, несколько обрабатывают. Какие инструменты java.util.concurrent возьмёте?
Разработчик вернул ваш баг со статусом «не воспроизводится». Ваши действия?
Два стейкхолдера дают противоречащие требования к одной функции. Ваши действия?
Спроектируйте CI/CD-платформу для команды из 10 микросервисов: от коммита до продакшена. Какие этапы, окружения и меры безопасности вы заложите?
Спроектируйте ML-систему прогноза оттока клиентов: от постановки задачи до продакшена.
Что такое O-нотация? Оцените сложность примеров кода и объясните, почему O(n log n) — практический предел для сортировки сравнениями.
Кем вы видите себя через пять лет?
Спроектируйте компонент поиска с автодополнением (autocomplete) для крупного сайта: API, состояние, производительность, доступность.
Спроектируйте распределённый rate limiter для API-гейтвея: сотни инстансов, лимиты на пользователя и на ключ, минимальная задержка.
Скачайте 100 URL конкурентно, но не более 10 одновременно, с обработкой ошибок отдельных запросов.
Вот код с двумя блокировками, который иногда зависает. Найдите deadlock и предложите исправления.
До релиза один день, а тестирования осталось на три. Как поступите?
Заказчик ставит задачу размыто: «сделайте нам личный кабинет поудобнее». Как будете действовать?
Спроектируйте систему мониторинга и алертинга для продакшена: метрики, логи, трейсы. Как не утонуть в алертах?
Спроектируйте рекомендательную систему для интернет-магазина: архитектура, модели, метрики.
Дан список интервалов [start, end]. Объедините все пересекающиеся интервалы и верните результат без пересечений.
Как вы относитесь к критике вашей работы?
Спроектируйте бесконечную ленту (infinite scroll) с тысячами карточек: загрузка данных, виртуализация, сохранение позиции.
Спроектируйте сервис уведомлений: email, push и SMS, миллионы отправок в день, ретраи, дедупликация, приоритеты.
Спроектируйте на Python сервис сокращения ссылок: API, хранилище, кэш, масштабирование.
Спроектируйте REST-сервис заказов на Spring Boot: слои, обработка ошибок, идемпотентность, миграции и наблюдаемость.
Вы считаете баг критичным, а разработчик и менеджер — мелочью, которую можно не чинить. Как будете действовать?
Разработчики говорят, что согласованное требование нереализуемо или слишком дорого. Что будете делать?
Спроектируйте отказоустойчивую инфраструктуру веб-сервиса: балансировка, несколько зон доступности, база данных, деплой без даунтайма.
Расскажите о ML-проекте, который не дал ожидаемого результата. Что пошло не так и что вы изменили в своём подходе?
Дан массив из n элементов. Найдите k самых часто встречающихся. Почему полная сортировка — не лучший ответ и какие есть варианты быстрее?
Как вы оцениваете сроки выполнения задач и что делаете, если оценка не сходится с реальностью?
Расскажите о случае, когда вы заметно улучшили производительность или качество фронтенда. Как вы нашли проблему, убедили команду и чем измерили результат?
В микросервисной архитектуре оформление заказа затрагивает сервисы заказов, склада и платежей. Как обеспечить согласованность без распределённых транзакций?
Django-приложение тормозит под нагрузкой: как вы будете диагностировать и масштабировать его?
Сервис должен сохранить заказ в БД и опубликовать событие в Kafka. Как гарантировать согласованность? Расскажите про transactional outbox.
После релиза на проде нашли серьёзный баг, который вы пропустили. Что делаете сразу и что потом?
Проект близок к релизу, а ключевой стейкхолдер приносит существенное новое требование. Как поступите?
Расскажите о серьёзном инциденте в продакшене, который вы разбирали: как действовали, как нашли причину и что изменили после.
Как оценивать качество LLM-приложения и снижать долю галлюцинаций?
Найдите длину самой длинной подстроки без повторяющихся символов. Объясните технику скользящего окна и когда она применима.
Расскажите, как были устроены процессы в вашей команде. Что работало, а что бы вы изменили?
Ничего не нашлось. Попробуйте другое слово или сбросьте фильтры.
На собеседовании
подсказка придёт сама.
InterviewPilot слышит вопрос и показывает короткий ответ простыми словами — как в разделе «Как сказать вслух».
Купить ключ — 1 500 ₽ ↗