Ctrl K
Mid-level · Theory

У нас есть таблица заказов на сотни миллионов строк и составной B-tree индекс по (user_id, created_at). Расскажите, как устроен такой индекс внутри и как база по нему выполняет запрос «последние 20 заказов пользователя». А если в запросе фильтр только по created_at — индекс поможет?

~4 min by voice

How to approach it

Проверяют, понимает ли кандидат реальное устройство B-tree и составного индекса: как порядок колонок определяет, какие запросы индекс ускоряет, и почему без ведущей колонки спуск по дереву невозможен.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Where it's asked
Similar questionsЗапрос, который вчера выполнялся за 10 миллисекунд, сегодня выполняется 30 секунд, хотя код не менялся. Вы сделали EXPLAIN ANALYZE. Что вы будете в нём смотреть и почему планировщик вообще мог изменить план? Mid-levelКак устроена репликация в PostgreSQL от мастера к репликам? Что на самом деле передаётся по сети, и какие проблемы получит приложение, если читать с асинхронной реплики? Mid-levelЗапрос, который раньше выполнялся за миллисекунды, после роста таблицы до десятков миллионов строк стал выполняться секундами. Как будете разбираться и что можете сделать? Mid-levelКак в PostgreSQL устроен MVCC? Что физически происходит со строкой, когда вы делаете UPDATE, и почему одна забытая открытая транзакция может со временем раздуть таблицу? Mid-levelЧто такое индекс в базе данных и за счёт чего он ускоряет запросы? Junior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~4 min