Какие инструменты используете для работы с SQL?
Что проверяют
Насколько вы самостоятельны с данными: умеете ли сами достать, проверить и подготовить выборку, а не ждёте выгрузку от аналитика. Следом обычно просят рассказать, как вы разбирались с медленным запросом или как SQL попадает у вас в пайплайн обучения модели.
Как отвечать
Отвечайте от своего опыта и раскладывайте инструменты по задачам, а не списком названий:
- клиенты и IDE: DBeaver или DataGrip для разовых запросов,
psqlиclickhouse-clientдля работы на сервере и в скриптах; - Python:
pandas.read_sqlповерх SQLAlchemy, для больших выборок параметрchunksizeили выгрузка сразу в Parquet, чтобы не держать всё в памяти; - локальная аналитика: DuckDB, который читает Parquet и CSV напрямую и отвечает на SQL без отдельного сервера;
- трансформации: dbt, где модель это
SELECTпод версионным контролем, связи задаются черезref(), а качество проверяют тестыuniqueиnot_null; - большие объёмы: Spark SQL, Trino или колоночный ClickHouse, в зависимости от того, где лежат данные;
- производительность:
EXPLAIN ANALYZE, где вы смотрите наSeq Scanпо большой таблице, расхождение оценки и фактического числа строк, сортировку с выгрузкой на диск.
Хорошо добавить про гигиену: запросы лежат в Git и форматируются линтером вроде sqlfluff, а признаки для модели считаются в одном месте, чтобы обучение и инференс брали одинаковые данные. Приведите один свой пример с цифрами: какой запрос ускорили и за счёт чего. Если с каким-то классом инструментов не работали, скажите прямо и назовите, чем закрывали эту задачу.
Где спотыкаются
Называют Tableau или Power BI как инструмент для работы с SQL. Это BI, запросы там вторичны, и интервьюер слышит, что сами вы SQL почти не пишете.
Тянут таблицу целиком в pandas и фильтруют уже в Python. На десятках миллионов строк это заканчивается нехваткой памяти, хотя фильтр и агрегат должны выполняться в базе.
Говорят «смотрю EXPLAIN», но не могут объяснить, что там видят. Нужно назвать хотя бы тип сканирования, оценку стоимости, фактическое время и число строк, и помнить, что EXPLAIN ANALYZE запрос реально выполняет.