Меню: https://t.me/guildofanalysts/33
Ютуб: https://www.youtube.com/@MrAnalitik
Менторство: https://teletype.in/@mranalitik/kjCU1Z3QMaN
Post #264
1.23K

Собеседование: Техническая часть SQL
На большинстве собеседований, которые проходили я и мои ученики, не было лайвкодинга по SQL. Обычно такая секция встречается в IT-компаниях, стартапах или бигтехе.
Но вопросы на знание SQL задают как минимум на каждом втором собеседовании. Поэтому я собрал самые популярные вопросы, которые мои ученики получали на собесах.
1. База SQL
— С какими СУБД работал?
— Что такое реляционная база данных?
— В чем разница между базой данных и схемой?
— Какой оператор используется для выборки данных из таблицы?
— Что такое первичный ключ и зачем он нужен?
— Что такое внешний ключ и как он связывает таблицы?
— Что такое NULL и почему с ним нельзя работать как с обычным значением?
— Что вернет выражение NULL + 5 и почему?
— Что делает выражение CASE в SQL?
— Как добавить новый столбец в существующую таблицу?
— Что такое нормализация данных и какие у нее преимущества?
2. Фильтрация и группировка
— В чем разница между WHERE и HAVING?
— Как работает оператор LIKE?
— Для чего используется GROUP BY?
— Что такое агрегатные функции?
— Как работают COUNT(), SUM(), AVG(), MIN(), MAX()?
— Как посчитать количество строк в таблице?
— Как агрегатные функции работают с NULL значениями?
3. JOIN и объединение данных
— В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?
— Что такое self-join и когда он используется?
— Что такое CROSS JOIN и зачем он может понадобиться?
— Как выбрать из таблицы А только те строки, которых нет в таблице Б?
— Сколько строк минимум и максимум может вернуть INNER JOIN, если в левой таблице 10 строк, а в правой 5?
— Сколько строк минимум и максимум может вернуть LEFT JOIN при тех же данных?
— Чем UNION отличается от UNION ALL?
4. Оконные функции
— Что такое оконная функция?
— Чем оконная функция отличается от обычной группировки?
— Что делает ROW_NUMBER()?
— В чем разница между ROW_NUMBER(), RANK() и DENSE_RANK()?
— Что делают LAG() и LEAD()?
— Как работает SUM( . . . ) OVER( . . . )?
— Для чего используется PARTITION BY?
— Как с помощью оконных функций найти топ-N товаров в каждой категории?
— Как посчитать изменение метрики месяц к месяцу?
5. Подзапросы, CTE и временные таблицы
— Что такое подзапрос?
— Где можно использовать подзапрос: в SELECT, FROM или WHERE?
— Что такое CTE?
— Чем CTE отличается от подзапроса?
— Что такое временная таблица?
— В каких случаях временная таблица удобнее CTE?
6. Представления, процедуры и триггеры
— Что такое VIEW (вьюшка)?
— Какие преимущества есть у представлений?
— Что такое хранимая процедура?
— Чем хранимая процедура отличается от функции?
— Что такое триггер в SQL?
— Какие проблемы могут появиться из-за триггеров?
7. Производительность и работа с большими данными
— Что такое индекс?
— Как индекс влияет на производительность запроса?
— Почему индекс не всегда ускоряет выборку данных?
— Как можно ускорить тяжелый SQL-запрос?
— Что такое план выполнения запроса?
— Почему SELECT * может быть плохой практикой?
— Как работать с временными рядами в SQL?
Ставьте реакции и я напишу пост о том, какие вопросы нужно задавать работодателю на HR-созвоне, собеседовании и этапе получения оффера.
Наберём 60 реакций и я выложу пост.
#собеседование
#sql
#поискработы
#польза
Гильдия аналитиков⚒️
На большинстве собеседований, которые проходили я и мои ученики, не было лайвкодинга по SQL. Обычно такая секция встречается в IT-компаниях, стартапах или бигтехе.
Но вопросы на знание SQL задают как минимум на каждом втором собеседовании. Поэтому я собрал самые популярные вопросы, которые мои ученики получали на собесах.
1. База SQL
— С какими СУБД работал?
— Что такое реляционная база данных?
— В чем разница между базой данных и схемой?
— Какой оператор используется для выборки данных из таблицы?
— Что такое первичный ключ и зачем он нужен?
— Что такое внешний ключ и как он связывает таблицы?
— Что такое NULL и почему с ним нельзя работать как с обычным значением?
— Что вернет выражение NULL + 5 и почему?
— Что делает выражение CASE в SQL?
— Как добавить новый столбец в существующую таблицу?
— Что такое нормализация данных и какие у нее преимущества?
2. Фильтрация и группировка
— В чем разница между WHERE и HAVING?
— Как работает оператор LIKE?
— Для чего используется GROUP BY?
— Что такое агрегатные функции?
— Как работают COUNT(), SUM(), AVG(), MIN(), MAX()?
— Как посчитать количество строк в таблице?
— Как агрегатные функции работают с NULL значениями?
3. JOIN и объединение данных
— В чем разница между INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN?
— Что такое self-join и когда он используется?
— Что такое CROSS JOIN и зачем он может понадобиться?
— Как выбрать из таблицы А только те строки, которых нет в таблице Б?
— Сколько строк минимум и максимум может вернуть INNER JOIN, если в левой таблице 10 строк, а в правой 5?
— Сколько строк минимум и максимум может вернуть LEFT JOIN при тех же данных?
— Чем UNION отличается от UNION ALL?
4. Оконные функции
— Что такое оконная функция?
— Чем оконная функция отличается от обычной группировки?
— Что делает ROW_NUMBER()?
— В чем разница между ROW_NUMBER(), RANK() и DENSE_RANK()?
— Что делают LAG() и LEAD()?
— Как работает SUM( . . . ) OVER( . . . )?
— Для чего используется PARTITION BY?
— Как с помощью оконных функций найти топ-N товаров в каждой категории?
— Как посчитать изменение метрики месяц к месяцу?
5. Подзапросы, CTE и временные таблицы
— Что такое подзапрос?
— Где можно использовать подзапрос: в SELECT, FROM или WHERE?
— Что такое CTE?
— Чем CTE отличается от подзапроса?
— Что такое временная таблица?
— В каких случаях временная таблица удобнее CTE?
6. Представления, процедуры и триггеры
— Что такое VIEW (вьюшка)?
— Какие преимущества есть у представлений?
— Что такое хранимая процедура?
— Чем хранимая процедура отличается от функции?
— Что такое триггер в SQL?
— Какие проблемы могут появиться из-за триггеров?
7. Производительность и работа с большими данными
— Что такое индекс?
— Как индекс влияет на производительность запроса?
— Почему индекс не всегда ускоряет выборку данных?
— Как можно ускорить тяжелый SQL-запрос?
— Что такое план выполнения запроса?
— Почему SELECT * может быть плохой практикой?
— Как работать с временными рядами в SQL?
Ставьте реакции и я напишу пост о том, какие вопросы нужно задавать работодателю на HR-созвоне, собеседовании и этапе получения оффера.
Наберём 60 реакций и я выложу пост.
#собеседование
#sql
#поискработы
#польза
Гильдия аналитиков⚒️
- 🔥 42
- ❤ 10
- 👍 10











