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

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

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

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

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

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

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

Каталог

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

Найдено: 2523
Поведенческий

Работали ли вы с миграциями баз данных при изменении схемы или функциональности, в частности с MongoDB? Был ли опыт переноса данных на MongoDB?

Уточните, меняли ли схему, преобразовывали существующие документы или переносили данные между системами. Назовите реальный объём своей ответственности.

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

Нужно отправить сразу несколько запросов в базу данных и продолжить выполнение только после получения всех запросов, независимо от того, resolve это или reject. Какой статический метод промисов нужно использовать?

Используйте Promise.allSettled: он ждёт завершения всех переданных промисов и возвращает status и value либо reason для каждого.

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

Опишите структуру системного дизайна: клиент, DNS, серверы, load balancer, база данных, S3-хранилище, CDN, кэширование (Redis).

DNS помогает найти адрес сервиса, балансировщик направляет запросы к приложению, а данные и файлы обслуживаются подходящими хранилищами и кешами.

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

Как будет работать репликация базы данных (master-slave)? Как load balancer будет направлять запросы на разные серверы с разными базами данных?

В primary–replica схеме записи идут в primary, изменения реплицируются на replicas, а чтение можно направлять на них с учётом задержки.

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

Есть таблица ManagerSales с колонками «ФИО» и «Стоимость», содержащая около миллиона строк продаж за месяц. Как SQL-запросом получить менеджеров, чья суммарная сумма продаж за месяц превышает 1 000 000 рублей? Почему для условия по сумме используется HAVING, а не WHERE?

Сгруппируйте строки по менеджеру, вычислите SUM и отфильтруйте группы через HAVING; WHERE применяется к исходным строкам до агрегации.

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

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

Результаты должен обрабатывать consumer с идемпотентной записью, а SSE доставляет уже упорядоченные события клиенту, не становясь единственным хранилищем.

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

Как оптимизировать генерацию отчёта, если через Promise.all выполняется много запросов к нескольким базам данных, включая получение исторических данных?

Ограничьте параллелизм, устраните повторные запросы и перенесите тяжёлую агрегацию ближе к данным; Promise.all сам по себе не ускоряет базы.

Читать ответ