Вопросы с собеседований
Вопросы на собеседовании: Базы данных
SQL, индексы, транзакции и изоляция, ORM, Redis, NoSQL, поиск и временные ряды.
80вопросов
27Junior
49Middle
4Senior
SQL-запросы
5- Чем HAVING отличается от WHERE?Junior
- Как правильно проверить значение на NULL в SQL?Junior
- К какой группе SQL-команд относятся SELECT, INSERT, UPDATE, DELETE?Junior
- Чем TRUNCATE отличается от DELETE и DROP?Junior
- Напиши SQL-запрос, возвращающий вторую по величине зарплату из таблицы employee(id, salary).Junior
JOIN, ключи и ограничения
5Индексы и планы запросов
4Транзакции и изоляция
6- Что такое потерянное обновление и как его избежать?Junior
- Что такое транзакция в базе данных и как работают BEGIN, COMMIT и ROLLBACK?Junior
- Что означает аббревиатура ACID?Junior
- Какой уровень изоляции транзакций по стандарту SQL гарантированно предотвращает phantom reads?Middle
- Чем отличается оптимистичная блокировка от пессимистичной?Middle
- Чем dirty read, non-repeatable read и phantom read отличаются друг от друга?Middle
JDBC
5ORM и N+1
5- Что делает ORM?Junior
- Что такое проблема N+1 запросов и как её решать?Middle
- Почему возникает LazyInitializationException в Hibernate и как его правильно лечить?Middle
- Что верно про persistence context (сессию) в JPA?Middle
- Почему для эндпоинта, отдающего список из тысяч записей, обычно предпочитают проекцию в DTO, а не загрузку сущностей?Middle
Оптимизация запросов
5- Запрос стал работать медленно. С чего правильно начать разбор?Junior
- Что делает EXPLAIN для SQL-запроса?Middle
- Почему keyset-пагинация (seek) обычно лучше OFFSET-пагинации на больших таблицах?Middle
- Чем EXPLAIN ANALYZE отличается от обычного EXPLAIN?Middle
- После массовой загрузки данных запросы, работавшие быстро, резко замедлились, хотя индексы на месте. Наиболее вероятная причина?Middle
Моделирование данных
5- Что обеспечивает внешний ключ (foreign key)?Junior
- Что такое нормализация и когда оправдана денормализация?Middle
- Что требуют первые три нормальные формы?Middle
- Чем опасно объявление внешнего ключа с ON DELETE CASCADE?Middle
- Почему в качестве первичного ключа обычно предпочитают суррогатный ключ, а не естественный?Middle
Redis и кэширование
5NoSQL
5CAP и согласованность
5- Что такое репликация данных?Junior
- Что согласно CAP-теореме приходится выбирать во время сетевого разделения?Middle
- Что означает eventual consistency?Middle
- В кворумной системе из N реплик при каком условии чтение гарантированно увидит последнюю запись?Senior
- Что добавляет PACELC к формулировке CAP?Senior
Документные БД
5- Что представляет собой документ в документоориентированной базе?Junior
- Когда в документной БД (MongoDB) выгоднее embedding (вложение), а когда referencing (ссылки)?Middle
- Почему в документных БД схему проектируют от запросов, а не нормализуют как в реляционной?Middle
- На каком уровне документная база вроде MongoDB даёт атомарность по умолчанию?Middle
- В документе пользователя хранится массив всех его действий, который постоянно пополняется. Чем плоха такая модель?Middle
Key-value хранилища
5- Какой доступ к данным предоставляет хранилище ключ-значение?Junior
- Что такое проблема hot key (горячего ключа) в key-value хранилище и как её смягчают?Middle
- Чем Redis принципиально отличается от DynamoDB как key-value хранилище?Middle
- Почему выбор ключа партиционирования в key-value хранилище настолько важен?Middle
- Какие ограничения характерны для чистой модели ключ-значение?Middle
Колоночные БД
5- Чем нагрузка OLAP отличается от OLTP?Junior
- Из чего состоит первичный ключ в Cassandra?Middle
- Почему в Cassandra нормально хранить одни и те же данные в нескольких таблицах?Middle
- Почему колоночное хранение выигрывает у строчного в аналитических нагрузках?Middle
- Как устроен путь записи в LSM-дереве, лежащем в основе Cassandra и подобных хранилищ?Senior
Базы временных рядов
5- Что характерно для данных временных рядов?Junior
- Какая ошибка моделирования сильнее всего вредит базе временных рядов?Middle
- Зачем во временных рядах нужен downsampling?Middle
- Почему данные временных рядов сжимаются заметно лучше обычных?Middle
- Как обычно организуют хранение метрик на длинном горизонте?Middle
Полнотекстовый поиск
5- Почему полнотекстовый поиск не делают запросом LIKE '%слово%'?Junior
- Для чего Elasticsearch обычно используют в backend-системах?Middle
- Как устроен инвертированный индекс и почему он быстрее LIKE '%слово%'?Middle
- Документы проиндексированы, но поиск по очевидно присутствующему слову ничего не находит. Какая причина наиболее вероятна?Middle
- Что верно про использование поисковой системы в архитектуре backend-сервиса?Middle
Партнёр платформы
Разбор собеседования
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.