Вопросы по базам данных
- Что такое нормализация? В какой форме у вас бд на проекте? Пример 2НФ и как сделать 3НФ. Зачем приводить к нормальным формам, зачем денормализовать?
- Как можно классифицировать индексы? Почему не стоит создавать индекс на каждую колонку? В каких случаях индекс наиболее эффективен/неэффективен? (набор дискретных значений). Имеет ли значение порядок полей в составном индексе?
- Что такое транзакция? ACID. Как достигается Durability в PostgreSQL (wal)? Зачем нужны различные уровни изоляции транзакций? Как выбрать правильно, от чего будет зависеть выбор?
- Имеет ли смысл доставать данные из бд (никаких update insert, чисто select) в рамках транзакции?
- Есть дерьмовый огромный неоптимальный SQL запрос, его надо улучшить. С чего начать? (план запроса)
- Как выбрать бд для своей задачи? sql vs nosql .Теорема CAP. Что значит каждая из букафф? Какие две характерны для PostgreSQL?
- Естественные vs синтетические ключи. Какие когда использовать?
- Блокировки (пессимистичные vs оптимистичные). Как выбрать для своей задачи?
- Медленно достаются данные одним из ендпоинтов, как определить в чем проблема? Если выяснили, что проблема в бд - как лечить? А если индексы уже есть? Партицировать или шардировать - как решить?
- Как партицировать/шардировать, по какому признаку? Допустим есть табличка с транзакциями по переводу денег, которая активно используется для отображения истории операций.
- Drop vs Delete vs Truncate
- Что делает VACUUM в PostgreSQL?
- Таблица стала огромной, в ней много исторических данных, которые шибко не нужны, но и выкинуть нельзя. Поиск замедлен, надо ускорить - как можно поступить?
- Что будет если при джойне условие запихнуть в ON а не в WHERE. (join on t1.id = t2.id and t1.id = 2234)
- В чем различие между операторами HAVING и WHERE?
Николай
Вспомнил свои первые собесы...









Jun 29 2024 07:54 

1