Встречается на 33% собеседований по Go
Что такое индекс в БД
Индекс в БД — это структура данных, ускоряющая поиск и сортировку по определенным столбцам. Он работает как указатель на данные, уменьшая количество операций чтения (I/O).
Пример создания индекса в SQL:
sql
CREATE INDEX idx_user_email ON users(email);Особенности:
- Ускоряет
SELECT,WHERE,JOIN,ORDER BY. - Замедляет
INSERT,UPDATE,DELETE(требуется обновление индекса). - Использует B-деревья (чаще всего) или хеш-таблицы.
Golang-пример (псевдокод):
go
// Без индекса: O(n) поиск
for _, user := range users {
if user.Email == target { ... }
}
// С индексом: O(log n) поиск (если B-дерево)
found := index.Search(target)Важно: Индексы занимают память, их избыток вредит производительности.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
