Перейти к содержанию
Стратегия интервью

План подготовки к SQL-собеседованию: аналитик и backend

SQL-интервью проверяет две разные компетенции: корректно выразить бизнес-логику и понимать, как база выполнит запрос. Аналитику нужен сильный grain и окна, backend-инженеру — ещё транзакции, индексы и эксплуатация.

3 мин чтенияРедакционный гайдПроверено 24 августа 2026
Главная мысль

До запроса проговорите таблицы, ключи, grain и ожидаемый результат на маленьком примере. После запроса объясните дубликаты, NULL, сложность и индекс — именно там проявляется глубина.

План

Пройдите этапы по порядку

  1. 01

    База: SELECT, JOIN, GROUP BY и NULL

    Тренируйте cardinality каждого join, отличие WHERE от HAVING, three-valued logic и COUNT(*)/COUNT(column). Всегда прогнозируйте количество строк на примере.

  2. 02

    Оконные функции

    row_number/rank, lag/lead, running total и рамки окна. Умейте объяснить, почему окно не схлопывает строки и как детерминировать порядок при равных timestamps.

  3. 03

    Аналитические задачи

    Когорты, retention, воронка, повторная покупка, сессии и A/B-агрегации. Зафиксируйте событие, пользователя, окно, timezone и поздние данные.

  4. 04

    Транзакции и изоляция

    ACID, MVCC, read committed/repeatable read/serializable, lost update и deadlock. Для каждой аномалии предложите минимальный сценарий и способ защиты.

  5. 05

    Индексы и EXPLAIN

    B-tree, составной индекс, селективность, index-only scan, statistics и cost. Смотрите фактические rows/time/buffers в EXPLAIN ANALYZE и сравнивайте с оценкой planner.

  6. 06

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

    Пишите запрос в текстовом редакторе, проговаривая CTE и проверку промежуточных результатов. Затем предложите альтернативу и тестовые данные для дубликатов, NULL и пустой группы.

Что обычно мешает

Частые ошибки

  • Не определять grain таблицы.
  • Чинить дубли с помощью DISTINCT вслепую.
  • Считать индекс бесплатным.
  • Запускать EXPLAIN ANALYZE на опасном запросе без понимания.

Перед следующим этапом

Чек-лист готовности

  • Предсказываю cardinality join.
  • Уверенно пишу окна.
  • Объясняю MVCC и аномалии.
  • Читаю estimates и actuals в плане.
  • Проверяю NULL, дубли и timezone.

Коротко

Частые вопросы

Какой диалект выбрать?

Ориентируйтесь на вакансию. PostgreSQL — хороший базовый выбор для российской продуктовой разработки; отмечайте диалектные функции и не выдавайте их за стандарт SQL.

Нужно ли писать запрос без запуска?

Часто да. Тренируйтесь проверять запрос на маленькой таблице вручную и объяснять промежуточные наборы строк.

Чем отличается подготовка аналитика?

Больше внимания grain, окнам, временным данным и метрикам. Backend-роли глубже спрашивают транзакции, locking, индексы, планы и миграции.

Источники

Источники и редакционная политика

Материалы RecallDeck сопоставлены с официальной документацией и открытыми публикациями компаний, когда первичный источник доступен. Мы не связаны с упомянутыми работодателями, не публикуем конфиденциальные задания и не продаём места в подборках. Формат найма может меняться — уточняйте его у рекрутера.

От чтения к воспроизведению

Отрепетируйте полный цикл интервью.

RecallDeck возвращает сложные темы по расписанию и помогает удерживать в памяти язык, SQL, архитектуру и поведенческие истории.

Начать подготовку

Продолжить подготовку

Стратегия интервью3 мин

Собеседование Go-разработчика в Ozon Tech

Что повторить Go-разработчику перед интервью в Ozon Tech: slices, channels, context, runtime, микросервисы, Kafka, PostgreSQL и надёжность.

3 быстрых ответа
Стратегия интервью17 мин

35 вопросов по теме «поведенческое интервью разработчика» на собеседовании

35 вопросов по теме «поведенческое интервью разработчика» с подробными ответами, примерами, компромиссами и частыми ошибками кандидатов на техническом интервью.

35 подробных ответов
Библиотека собеседований RecallDeck

Подробные русские ответы, разборы этапов найма и планы подготовки для российского IT-рынка.

RSS