MySQL: вопросы на собеседовании
Вопросы и ответы по MySQL: подготовка, примеры и типичные ошибки.
Проверьте себя по MySQL: 5 вопросов, ~10 минут
Вопросов: 42. Частые идут первыми, сложные возвращаются на повторение.
- Как анализировать медленный запрос с помощью
EXPLAIN?Senior· спрашивают почти всегда - Что такое свойства ACID и как InnoDB их реализует?Middle· спрашивают почти всегда
- В чём разница между движками хранения
InnoDBиMyISAM?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Как делать backup/restore и point-in-time recovery через binary logs?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое индексы в MySQL и каковы их разновидности (B-tree, full-text, spatial)?Middle· спрашивают почти всегда
- Что такое MySQL и каковы его основные области применения?Junior· спрашивают почти всегда
- Что такое транзакции в MySQL и как их использовать?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Для каких типов нагрузок MySQL подходит лучше всего, а где стоит выбрать другую базу данных?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как предотвратить SQL injection при работе с MySQL?Senior· спрашивают почти всегда
- Что такое составной индекс (composite index) и как работает правило левого префикса?Middle· полный разбор — Jobs/Boost
- В чём разница между
DELETE,TRUNCATEиDROP?Junior - Когда добавлять индекс и каковы недостатки избыточного числа индексов?Middle· полный разбор — Jobs/Boost
- В чём разница между
INNER JOIN,LEFT JOINиCROSS JOIN?Junior· полный разбор — Jobs/Boost - Как сравнить MySQL с альтернативами по consistency, latency, throughput, cost и operability?Middle· полный разбор — Jobs/Boost
- Что такое deadlock в MySQL и как движок его обнаруживает и разрешает?Senior· полный разбор — Jobs/Boost
- Как понять, что проблема связана со схемой, индексом, запросом, настройками, диском или инфраструктурой?Senior
- Представьте, запросы к MySQL резко замедлились после релиза или роста данных. Как вы будете искать причину?Senior· полный разбор — Jobs/Boost
- Какие параметры InnoDB реально важны для MySQL 8.x performance tuning:
innodb_buffer_pool_size, redo log, temp tables и connection limits?Middle· полный разбор — Jobs/Boost - Каковы уровни изоляции (isolation levels) в MySQL и как они влияют на параллелизм?Senior· полный разбор — Jobs/Boost
- Какие ошибки делают команды, когда используют MySQL как «просто SQL-базу» без учёта его особенностей?Middle· полный разбор — Jobs/Boost
- Какая модель хранения, индексации и выполнения запросов у MySQL влияет на архитектуру приложения?Middle
- Какие production-риски есть у MySQL: блокировки, bloat, replication lag, backup/restore, schema changes или плохие запросы?Senior· полный разбор — Jobs/Boost
- В чём разница между оптимистичной и пессимистичной блокировкой?Middle· полный разбор — Jobs/Boost
- Что такое prepared statements в MySQL?Junior· полный разбор — Jobs/Boost
- Как работает репликация MySQL (primary/replica)?Senior
- Что такое
SELECT FOR UPDATEи когда его использовать?Middle· полный разбор — Jobs/Boost - Что такое подзапросы (subqueries) и коррелированные подзапросы (correlated subqueries)? Когда они проблематичны?Middle· полный разбор — Jobs/Boost
- В чём разница между
UNIONиUNION ALL?Junior - В чём разница между
HAVINGиWHERE?Junior· полный разбор — Jobs/Boost - В чём разница между
CHARиVARCHAR?Junior· полный разбор — Jobs/Boost - Расскажите о случае, когда вам приходилось решать проблему с MySQL: slow query, migration, incident, replication, backup или tuning.Middle
- Как читать
EXPLAIN ANALYZEи optimizer trace?Middle· полный разбор — Jobs/Boost - Как работает full-text поиск в MySQL и когда его стоит использовать?Middle· полный разбор — Jobs/Boost
- Что такое gap locks и next-key locks в InnoDB?Middle· полный разбор — Jobs/Boost
- Что такое тип данных
JSONв MySQL 5.7+ и как запрашивать JSON-поля?Middle - Как работает online DDL в MySQL 8 и когда операция всё равно блокирует?Middle
- Каковы типы партиционирования MySQL (RANGE, LIST, HASH, KEY)?Senior· полный разбор — Jobs/Boost
- Что такое views в MySQL и каковы их ограничения?Middle· полный разбор — Jobs/Boost
- В чём разница между
GROUP BYс включённым и выключенным режимомONLY_FULL_GROUP_BY?Middle· полный разбор — Jobs/Boost - В чём разница между statement-based и row-based репликацией?Senior· полный разбор — Jobs/Boost
- Что такое хранимые процедуры (stored procedures) и триггеры (triggers) в MySQL и каковы их плюсы и минусы?Middle
- В чём разница между
utf8иutf8mb4в MySQL и почему это важно?Junior· полный разбор — Jobs/Boost