Блог об SQL
Разборы, уроки и советы — от основ до продвинутых техник
Первичные ключи в PostgreSQL: SERIAL, BIGSERIAL, UUID или IDENTITY?
Первичные ключи в PostgreSQL: SERIAL vs BIGSERIAL vs GENERATED ALWAYS AS IDENTITY vs UUID. Производительность вставки, проблемы переполнения, когда UUID.
Динамический SQL в PostgreSQL: EXECUTE и строим запросы программно
Динамический SQL в PostgreSQL: EXECUTE в PL/pgSQL, FORMAT для безопасного построения запросов, защита от SQL-инъекций. Примеры с необязательными фильтрами.
Витрины данных на SQL: от сырых таблиц к готовым отчётам
Построение витрин данных на SQL: денормализация, звёздная схема, медленно меняющиеся измерения (SCD Type 2), MATERIALIZED VIEW для витрин.
Типы данных в PostgreSQL: как выбрать правильно
Типы данных в PostgreSQL: INTEGER vs BIGINT vs NUMERIC, VARCHAR vs TEXT, TIMESTAMP vs TIMESTAMPTZ, UUID, BOOLEAN, ENUM. Влияние выбора на производительность.
Связи между таблицами в SQL: один-к-одному, один-ко-многим, многие-ко-многим
Типы связей в реляционных базах данных: один-к-одному, один-ко-многим, многие-ко-многим. Как реализовать через Foreign Key и junction table.
А/Б тестирование на SQL: считаем статистическую значимость
А/Б тестирование на SQL: сравнение конверсий, z-тест для пропорций, p-value в PostgreSQL. Как проверить результаты эксперимента без Python.
RFM-анализ на SQL: сегментация клиентов
RFM-анализ на SQL: Recency, Frequency, Monetary — сегментация клиентов через NTILE и CASE WHEN. Готовый запрос для PostgreSQL.
Нормализация базы данных: 1НФ, 2НФ, 3НФ и когда их нарушать
Нормализация реляционных баз данных: первая, вторая, третья нормальные формы с примерами. Когда денормализация оправдана для производительности.
PIVOT в SQL: превращаем строки в столбцы
PIVOT в SQL: условная агрегация через CASE WHEN, расширение tablefunc и crosstab в PostgreSQL, динамический PIVOT. Примеры отчётов.
Когортный анализ на SQL: retention и отток пользователей
Когортный анализ на SQL: расчёт retention по неделям/месяцам, построение когортной матрицы, анализ оттока. Реальные примеры для продуктовой аналитики.
Продвинутые транзакции в PostgreSQL: SAVEPOINT и обработка ошибок
Продвинутые транзакции PostgreSQL: SAVEPOINT, ROLLBACK TO SAVEPOINT, вложенные транзакции, обработка deadlock на стороне приложения.
Оконные функции SQL: продвинутые техники и фреймы
Продвинутые оконные функции SQL: ROWS vs RANGE, фреймы PRECEDING/FOLLOWING, скользящие окна, EXCLUDE, FIRST_VALUE/LAST_VALUE. Примеры на PostgreSQL.
Time series анализ в PostgreSQL: временные ряды и тренды
Анализ временных рядов в PostgreSQL: скользящее среднее, заполнение пропусков, generate_series, lag/lead, сезонность, аномалии. Практические примеры.
Партиционирование таблиц в PostgreSQL: RANGE, LIST, HASH
Партиционирование PostgreSQL: RANGE по дате, LIST по категории, HASH по ID. Partition pruning, индексы, ATTACH/DETACH, автоматическое создание партиций.
Оптимизация JOIN в PostgreSQL: как ускорить объединения таблиц
Оптимизация JOIN в PostgreSQL: Hash Join vs Nested Loop vs Merge Join, когда JOIN медленный, индексы для JOIN, EXPLAIN ANALYZE, материализация CTE.
LATERAL JOIN в PostgreSQL: продвинутые запросы с зависимыми подзапросами
LATERAL JOIN в PostgreSQL: синтаксис, отличие от обычного JOIN, TOP-N на группу, unnest, generate_series. Когда и зачем использовать LATERAL.
Секционирование таблиц в PostgreSQL: PARTITION BY RANGE, LIST, HASH
Секционирование в PostgreSQL: PARTITION BY RANGE, LIST, HASH. Когда нужно секционирование, как создать и управлять секциями, прирост производительности.
Резервное копирование PostgreSQL: pg_dump и восстановление
Бэкап PostgreSQL через pg_dump, pg_dumpall, pg_basebackup. Форматы, автоматизация, восстановление из бэкапа, Point-in-Time Recovery. Практический гайд.
Multi-tenancy в PostgreSQL: паттерны изоляции данных
Три подхода к мультитенантности в PostgreSQL: отдельные БД, схемы на тенанта, общие таблицы с tenant_id. Сравнение, RLS, производительность.
SQL для финансового анализа: P&L, когорты, unit-экономика
SQL-запросы для финансового анализа: P&L отчёт, MRR/ARR, CAC payback, когортная выручка, unit-экономика. Практические примеры для финансовых аналитиков.
SQL для Excel-аналитика: переходим с таблиц на запросы
Как перейти с Excel на SQL: аналоги VLOOKUP, сводных таблиц, фильтров и формул. Практическое руководство для аналитиков, знающих Excel.
Репликация PostgreSQL: streaming replication и read replicas
Настройка streaming replication в PostgreSQL: primary/standby, pg_basebackup, read replicas, синхронная репликация, мониторинг лага. Практический гайд.
PgBouncer: пул соединений для PostgreSQL
Настройка PgBouncer для PostgreSQL: режимы session/transaction/statement, pool_size, max_client_conn, мониторинг. Зачем нужен пул и как настроить.
Generated columns в PostgreSQL: вычисляемые столбцы
Generated (вычисляемые) столбцы в PostgreSQL: STORED vs виртуальные, синтаксис, ограничения, индексы. Когда использовать вместо триггеров и функциональных индексов.
Блокировки в PostgreSQL: FOR UPDATE, deadlock и как с ними работать
Блокировки в PostgreSQL: строчные и табличные блокировки, SELECT FOR UPDATE, FOR SHARE, обнаружение и предотвращение deadlock. Практические примеры.
Введение в SQL: что это такое и зачем учить в 2025 году
SQL — язык запросов к базам данных. Объясняем простым языком что такое SQL, где он используется и с чего начать обучение аналитику или разработчику.
Сравнение баз данных: PostgreSQL, MySQL, SQLite, MongoDB
Сравнение популярных баз данных: PostgreSQL vs MySQL, SQLite, MongoDB. Что выбрать для стартапа, аналитики, мобильного приложения или учёбы.
SQL за месяц: реальный план для тех, кто начинает с нуля
Как выучить SQL за месяц: недельный план с конкретными темами и задачами. Для аналитиков и разработчиков без опыта в базах данных.
SQL в 2026 году: актуален ли язык и стоит ли его учить
Актуален ли SQL в 2026 году? Разбираем почему SQL до сих пор в топе востребованных навыков, как он изменился и где применяется.
SQL тренажёр онлайн: как научиться SQL без установки
Как выбрать SQL тренажёр онлайн: на что смотреть, какие задачи решать, почему практика важнее теории. Обзор подхода к обучению SQL через тренажёр.
Временные паттерны в SQL: хранение истории изменений данных
Паттерны для хранения исторических данных в SQL: bi-temporal модели, valid time, transaction time, SCD Type 1/2/4, temporal таблицы в PostgreSQL.
Подзапросы в SQL: скалярные, строчные, табличные и коррелированные
Типы подзапросов в SQL: скалярный, строчный, табличный, коррелированный. Когда использовать подзапрос, CTE или JOIN. Примеры оптимизации.
SQL песочница: пишите запросы онлайн без регистрации
SQL песочница онлайн — пишите и запускайте SQL запросы прямо в браузере. Три готовых датасета, реальный PostgreSQL, никакой установки.
Карьера с SQL: кем работать и сколько зарабатывать в 2026
Какие профессии требуют SQL, сколько платят за знание SQL в России в 2026 году, как SQL влияет на карьерный рост аналитика и разработчика.
CTE с DML в SQL: INSERT, UPDATE, DELETE внутри WITH
Как использовать CTE (WITH) с INSERT, UPDATE и DELETE в PostgreSQL: атомарные операции, перемещение строк, upsert с логированием, writable CTE паттерны.
SQL или Python: что учить первым в 2026 году
SQL или Python — что выбрать начинающему аналитику или разработчику? Разбираем для каких задач что подходит, можно ли учить оба и с чего начать.
5 привычек которые ускорят рост в SQL
Как быстрее вырасти в SQL: привычки и подходы которые отличают опытных специалистов от новичков. Практические советы для ежедневной работы.
SQL для менеджеров: зачем руководителю знать язык запросов
Зачем продакт-менеджеру и маркетологу знать SQL. Что можно делать с SQL без помощи аналитиков, реальные примеры запросов для бизнеса.
SQL для аналитиков: что нужно знать и уметь
SQL для бизнес-аналитика и дата-аналитика: ключевые темы, типичные задачи, аналитические паттерны. Что спрашивают на собеседованиях в аналитику.
SQL — что это такое и как с ним работать: полное введение
SQL — что это, зачем нужен, как работает. Объяснение простым языком для тех, кто слышит про SQL впервые. Первые запросы с нуля.
Агрегатные функции SQL: COUNT, SUM, AVG, MIN, MAX
Агрегатные функции SQL: COUNT, SUM, AVG, MIN, MAX — синтаксис и примеры. Как считать, суммировать и анализировать данные с GROUP BY.
Реляционные базы данных: как устроены таблицы и связи
Реляционные базы данных: таблицы, первичные и внешние ключи, нормализация, отношения один-ко-многим и многие-ко-многим. Основы для начинающих.
Настройка производительности PostgreSQL: ключевые параметры
Оптимизация postgresql.conf: shared_buffers, work_mem, checkpoint, autovacuum, max_connections. Диагностика узких мест, pg_stat_activity, pg_stat_bgwriter.
PostgreSQL для начинающих: первые шаги и основные команды
PostgreSQL для начинающих: установка, подключение, первые запросы, основные типы данных. Практическое введение в самую популярную СУБД с открытым кодом.
Подготовка к SQL собеседованию: что спрашивают и как готовиться
Реальные SQL-вопросы с собеседований в Яндекс, Сбер, Авито, Озон. Разбор типичных задач, частые ошибки кандидатов, план подготовки за 2 недели.
Первые шаги в SQL: пишем первый запрос за 10 минут
Напишите первый SQL-запрос за 10 минут. Без установки, прямо в браузере. SELECT, WHERE, ORDER BY — объяснение с нуля на простых примерах.
ORDER BY в SQL: сортировка результатов запроса
ORDER BY в SQL: сортировка по одной и нескольким колонкам, ASC/DESC, NULLS FIRST/LAST, сортировка по выражению. Примеры с пояснениями.
Как научиться SQL с нуля: план обучения на 3 месяца
Пошаговый план изучения SQL с нуля за 3 месяца. Что учить, в каком порядке, как практиковаться, чего избегать. Для аналитиков и начинающих разработчиков.
Materialized View в PostgreSQL: кэшируем тяжёлые запросы
Materialized View в PostgreSQL: создание, REFRESH MATERIALIZED VIEW, конкурентное обновление, отличие от обычного VIEW. Когда использовать и как избежать проблем.
Лучший тренажёр SQL онлайн: как выбрать и не потерять время
Как выбрать SQL тренажёр онлайн: критерии выбора, почему важна реальная база данных, как отличить хорошую платформу от плохой. Для начинающих и продолжающих.
Лучший курс по SQL в 2026 году: как выбрать и не потерять деньги
Как выбрать курс по SQL в 2026 году: на что смотреть, какие форматы работают, почему практика важнее видео. Критерии выбора обучающей платформы.
JOIN для начинающих: объединение таблиц простым языком
JOIN в SQL для начинающих: INNER JOIN, LEFT JOIN, RIGHT JOIN — объяснение на простых примерах. Когда использовать каждый тип, частые ошибки.
PostGIS в PostgreSQL: работа с геоданными в SQL
Введение в PostGIS: геометрические типы, ST_Distance, ST_Within, ST_Intersects, поиск ближайших объектов, GiST-индексы для геоданных. Практические примеры.
Что такое база данных: объяснение простым языком
База данных простым языком: что это, зачем нужна, как устроена. Таблицы, строки, колонки, связи. Введение для тех, кто только начинает разбираться.
10 частых ошибок в SQL и как их избежать
Разбираем самые распространённые ошибки в SQL: NULL-ловушки, неправильные JOIN, SELECT *, потеря строк в GROUP BY. Примеры и как правильно.
Сложные SQL-задачи с собеседований: разбор с решениями
Разбор сложных SQL-задач с реальных собеседований: island and gaps, consecutive days, sessionization, median without function, recursive fibonacci.
SQL для дата-инженера: паттерны и техники 2026
SQL-паттерны для дата-инженеров: партиционирование запросов, оконные функции для ETL, обработка поздних данных, идемпотентные пайплайны, Data Vault.
Последовательности (SEQUENCE) в PostgreSQL: SERIAL, BIGSERIAL и nextval
Как работают последовательности в PostgreSQL: SERIAL vs BIGSERIAL vs GENERATED ALWAYS, nextval, setval, сброс, ямы в ID, применение в мультитаблицах.
JSONB в PostgreSQL: хранение и запросы к полуструктурированным данным
JSONB в PostgreSQL: операторы ->, ->>, @>, GIN-индексы, jsonb_array_elements, обновление полей. Когда использовать JSONB вместо отдельных таблиц.
Функции для работы с JSONB в PostgreSQL: полный справочник
Операторы и функции JSONB в PostgreSQL: извлечение значений, обновление, поиск, индексы GIN, jsonb_set, jsonb_each, jsonb_path_query. Примеры.
ClickHouse vs PostgreSQL: когда что выбрать для аналитики
Сравнение ClickHouse и PostgreSQL для аналитических задач: скорость на агрегациях, колоночное vs строчное хранение, SQL-совместимость, типичные сценарии.
ROLLUP, CUBE и GROUPING SETS в SQL: многоуровневые итоги
Как строить многоуровневые отчёты в SQL с ROLLUP, CUBE и GROUPING SETS: subtotals, grand total, кросс-таблицы без CASE WHEN. Примеры для аналитики.
Качество данных в SQL: находим аномалии, дубликаты и пропуски
Как проверять качество данных в SQL: поиск дубликатов, NULL-анализ, выбросы, несогласованные данные, профилирование таблицы, data quality checks.
Популярные расширения PostgreSQL: pg_trgm, uuid-ossp, hstore и другие
Обзор ключевых расширений PostgreSQL: pg_trgm для нечёткого поиска, uuid-ossp, hstore, pg_stat_statements, pgcrypto, ltree, tablefunc. Когда и как использовать.
Полнотекстовый поиск в PostgreSQL: tsvector и tsquery
Полнотекстовый поиск в PostgreSQL: tsvector, tsquery, GIN-индексы, ранжирование результатов ts_rank. Примеры поиска на русском языке.
ETL-паттерны в SQL: загрузка, трансформация и обновление данных
Практические ETL-паттерны на SQL: upsert, SCD Type 2, инкрементальная загрузка, дедупликация, разбивка на батчи, аудитные поля. Для дата-инженеров.
dbt и SQL: трансформация данных в современном стеке
Что такое dbt, как он использует SQL для трансформации данных: модели, ref(), тесты, документация, lineage. Введение для аналитиков и дата-инженеров.
Триггеры в PostgreSQL: создание, виды и практические примеры
Как создавать триггеры в PostgreSQL: BEFORE/AFTER, ROW/STATEMENT, триггерные функции на PL/pgSQL, аудит изменений, updated_at, мягкое удаление.
Фреймы оконных функций SQL: ROWS, RANGE и GROUPS
Полный разбор фреймов в оконных функциях SQL: ROWS vs RANGE vs GROUPS, UNBOUNDED PRECEDING, CURRENT ROW, EXCLUDE, примеры скользящих агрегатов.
CROSS JOIN и SELF JOIN в SQL: когда нужно декартово произведение
Как работают CROSS JOIN и SELF JOIN в SQL: декартово произведение, генерация комбинаций, иерархии сотрудников, поиск пар, практические примеры.
Медиана и процентили в SQL: PERCENTILE_CONT, PERCENTILE_DISC, NTILE
Как считать медиану, квартили и процентили в PostgreSQL: PERCENTILE_CONT, PERCENTILE_DISC, NTILE, MODE, оконные варианты, практические кейсы для аналитики.
Массивы в PostgreSQL: хранение, запросы и функции
Как работать с массивами в PostgreSQL: создание, ANY/ALL, unnest, array_agg, GIN-индекс, поиск по элементам, сравнение с JSONB и нормализацией.
LATERAL JOIN в PostgreSQL: когда подзапрос становится циклом
LATERAL JOIN в PostgreSQL: синтаксис, применение для топ-N в каждой группе, вызов функций для каждой строки, сравнение с обычным подзапросом.
Функциональные индексы в PostgreSQL: ускоряем запросы с функциями
Функциональные (expression) индексы в PostgreSQL: LOWER(), DATE_TRUNC(), JSON-поля, составные выражения. Когда помогают и как проверить через EXPLAIN.
UUID в PostgreSQL: когда использовать вместо SERIAL и как оптимизировать
UUID vs SERIAL в PostgreSQL: типы uuid, gen_random_uuid(), UUIDv7, производительность индексов, проблема фрагментации и когда UUID необходим.
SQL vs NoSQL: когда что выбрать в 2026
Сравнение SQL и NoSQL баз данных: PostgreSQL vs MongoDB vs Redis vs Cassandra. Типы NoSQL, сценарии применения, CAP-теорема, реальные кейсы.
SQL для Junior аналитика: с чего начать в 2026
Roadmap по SQL для начинающего аналитика данных: что учить, в каком порядке, какие задачи решать на практике и как подготовиться к первому собеседованию.
Функции для работы с датами в SQL (PostgreSQL)
Работа с датами в SQL: DATE_TRUNC, EXTRACT, INTERVAL, AGE, NOW, TO_CHAR. Примеры для аналитики — метрики по периодам, разница дат, форматирование.
Схемы и роли в PostgreSQL: организация доступа к данным
Как работают схемы (namespaces) в PostgreSQL, создание ролей и пользователей, GRANT/REVOKE, разграничение доступа по схемам, Row Level Security.
Функции и хранимые процедуры в PostgreSQL: PL/pgSQL с нуля
Создание функций и процедур в PostgreSQL на PL/pgSQL: параметры, возвращаемые типы, условия, циклы, обработка ошибок. Когда использовать функции в SQL.
Автоматический скрининг SQL: плюсы и минусы
Разбор автоматизированного SQL-скрининга: когда он помогает, где проигрывает живому интервью, и как найти баланс.
Deadlock в PostgreSQL: причины, диагностика и решение
Что такое deadlock в PostgreSQL, как он возникает, как обнаружить в логах и pg_locks, стратегии предотвращения и код с правильным порядком блокировок.
Воронка продаж в SQL: анализ конверсии пошагово
Как построить воронку продаж в SQL: горизонтальная и вертикальная, CASE WHEN, поиск узких мест, когортная воронка, сравнение периодов.
SQL для продакт-менеджера: 10 запросов которые нужно знать
Практические SQL-запросы для продактов: DAU/MAU, конверсия, retention, воронка, топ-фичи, когортный анализ. Без лишней теории — только рабочие паттерны.
SQL антипаттерны: 12 ошибок которые замедляют запросы
Разбираем типичные SQL антипаттерны: SELECT *, функции в WHERE, NOT IN с NULL, OFFSET, декартово произведение. Каждый антипаттерн — с правильной альтернативой.
Функция нарастающего итога (Running Total) в SQL: объясняем за 5 минут
Как считать нарастающий итог в SQL: SUM OVER с ROWS/RANGE, кумулятивная сумма по дням, скользящее среднее, нарастающие количества пользователей.
LTV в SQL: как посчитать Lifetime Value пользователя
Как рассчитать LTV (Lifetime Value) в SQL: исторический LTV, предиктивный, LTV по когортам, LTV/CAC соотношение. Примеры для e-commerce и SaaS.
LEAD и LAG в SQL: работа с соседними строками
Оконные функции LEAD и LAG в PostgreSQL: синтаксис, примеры — рост продаж, разница между событиями, цепочки платежей, поиск пропусков в данных.
Топ ошибок HR при найме SQL-специалистов
Самые распространённые ошибки HR-специалистов при найме SQL-аналитиков и разработчиков: как их избежать.
EXPLAIN ANALYZE в PostgreSQL: как читать план запроса
Как использовать EXPLAIN и EXPLAIN ANALYZE в PostgreSQL: читаем план выполнения, находим Seq Scan, понимаем стоимость, ускоряем запросы.
Churn-анализ в SQL: считаем отток пользователей
Как считать churn rate в SQL: определение оттока, ежемесячный churn, когортный churn, быстрый и медленный отток, Net Revenue Retention.
VIEW в SQL: представления, материализованные вью и когда их использовать
Что такое VIEW в PostgreSQL, как создавать, обновлять, удалять. Отличие от материализованного VIEW, обновляемые вью, безопасность через RLS.
EXISTS и NOT EXISTS в SQL: когда использовать вместо JOIN и IN
Разбираем EXISTS и NOT EXISTS: как работают, отличие от IN и LEFT JOIN IS NULL, оптимизация, примеры с коррелированными подзапросами.
DML в SQL: INSERT, UPDATE, DELETE — полное руководство
Как вставлять, изменять и удалять данные в SQL: INSERT с подзапросами, UPDATE с JOIN, DELETE RETURNING, массовые операции и безопасные паттерны.
DDL в SQL: CREATE TABLE, ALTER TABLE, DROP — управление структурой БД
CREATE TABLE с ограничениями, ALTER TABLE для изменения схемы, DROP TABLE и безопасные миграции. PostgreSQL DDL с практическими примерами.
ROW_NUMBER vs RANK vs DENSE_RANK: разбираем разницу с примерами
Чем отличаются ROW_NUMBER, RANK и DENSE_RANK в SQL: как работает нумерация при одинаковых значениях, практические примеры и типичные задачи на собеседовании.
Рекурсивные CTE в PostgreSQL: иерархии, деревья и графы
Как использовать рекурсивные CTE (WITH RECURSIVE) в PostgreSQL: обход дерева организации, иерархические данные, граф маршрутов, поиск циклов.
Оптимизация SQL-запросов: практическое руководство
Как ускорить медленные SQL-запросы: индексы, переписывание запросов, EXPLAIN ANALYZE, типичные антипаттерны. Реальные примеры и советы для PostgreSQL.
SQL-оптимизация для Senior: вопросы на собеседовании
Вопросы и задачи по оптимизации SQL для Senior-разработчика: EXPLAIN, индексы, партиционирование, антипаттерны.
UNION и UNION ALL в SQL: объединение результатов запросов
Как работают UNION и UNION ALL в SQL: разница, примеры, когда использовать каждый, комбинация с ORDER BY и производительность.
Транзакции и ACID в SQL простыми словами
Что такое транзакции в SQL, свойства ACID, уровни изоляции (READ COMMITTED, SERIALIZABLE), аномалии (грязное чтение, фантомы) — объясняем на понятных примерах.
Строковые функции в SQL: полный справочник с примерами
SUBSTRING, CONCAT, TRIM, UPPER, LOWER, REPLACE, LIKE, REGEXP, LENGTH и другие строковые функции в PostgreSQL. Примеры для очистки и трансформации данных.
SELECT в SQL: полное руководство для начинающих
Разбираем SELECT с нуля: WHERE, ORDER BY, LIMIT, OFFSET, алиасы. Примеры на реальных данных с объяснением каждого шага.
SQL для аналитика данных: что нужно знать в 2026 году
Какой SQL нужен аналитику данных: от базовых SELECT до оконных функций и оптимизации. Реальные задачи из аналитики с примерами запросов.
DISTINCT в SQL: убираем дубликаты и считаем уникальные значения
Как работает DISTINCT в SQL: примеры с одним и несколькими столбцами, COUNT DISTINCT, отличие от GROUP BY и когда лучше не использовать DISTINCT.
Агрегатные функции SQL: COUNT, SUM, AVG, MIN, MAX
Полный разбор агрегатных функций SQL: COUNT(*) vs COUNT(col), SUM с NULL, AVG и деление на ноль, оконные функции vs агрегация. Примеры для аналитиков.
SQL для маркетингового аналитика: задачи скрининга
SQL-задачи для найма маркетингового аналитика: атрибуция, воронки, когорты, ROI кампаний и работа с UTM-метками.
PostgreSQL vs MySQL: что выбрать и чем они отличаются
Подробное сравнение PostgreSQL и MySQL: производительность, функциональность, типы данных, JSON, транзакции. Что лучше для аналитики, веб-приложений и продакшена.
Сравнение SQL-кандидатов: методология оценки
Как объективно сравнивать SQL-кандидатов между собой: стандартизированные формы оценки, взвешенные критерии и принятие решений.
Индексы в PostgreSQL: B-tree, Hash, GIN — что и когда использовать
Как работают индексы в PostgreSQL: типы (B-tree, Hash, GIN, BRIN), составные индексы, partial и expression индексы. Когда индекс не используется и как это проверить через EXPLAIN.
Как создать SQL-тест для своей компании
Пошаговое руководство по созданию кастомного SQL-теста для найма: структура, задачи, проверка, доработка.
Подзапросы SQL на собеседовании: примеры задач
Практические задачи на подзапросы SQL для технического интервью: скалярные, коррелированные, EXISTS и оптимизация.
Массовая загрузка данных в PostgreSQL: COPY и bulk INSERT
Как быстро загрузить миллионы строк в PostgreSQL: COPY FROM, multi-row INSERT, отключение индексов, настройки сессии для ETL.
Подзапросы vs JOIN vs CTE: когда что выбрать в SQL
Сравниваем подзапросы, JOIN и CTE в SQL: производительность, читаемость, типичные случаи применения. Разбираем на одной задаче тремя способами.
Миграции базы данных: как менять схему без даунтайма
Zero-downtime миграции PostgreSQL: как добавить колонку, создать индекс CONCURRENTLY, переименовать таблицу без блокировок. Практические паттерны.
SQL для BI-разработчика: задачи для найма
Что проверять у BI-разработчика на SQL-собеседовании: витрины данных, оптимизация, специфика ETL и аналитических запросов.
Топ-20 вопросов по SQL на собеседовании с ответами
Самые частые SQL-вопросы на собеседованиях для аналитиков и разработчиков: JOIN, GROUP BY, оконные функции, индексы, транзакции. С примерами и объяснениями.
Метрики технического скрининга: как измерить эффективность
Как измерить эффективность SQL-скрининга кандидатов: ключевые метрики, benchmarks и способы улучшения воронки найма.
SQL-инъекции: как работают и как защититься
SQL-инъекции: как работает атака, классические примеры, parameterized queries, prepared statements, принцип наименьших привилегий. Защита на практике.
NULL в SQL: ловушки, IS NULL, COALESCE и NULLIF
Как работает NULL в SQL: сравнение, агрегатные функции, JOIN с NULL, COALESCE и NULLIF. Частые ошибки новичков и способы их избежать.
Как оценить SQL-навыки без live-собеседования
Альтернативные способы оценки SQL-навыков кандидатов: тестовые задания, портфолио, GitHub, платформенные сертификаты.
Антипаттерны индексов в PostgreSQL: когда индексы вредят
Когда индексы вредят: дублирующиеся индексы, низкая селективность, избыточное индексирование, index bloat. Как найти бесполезные индексы.
CASE WHEN в SQL: условная логика в запросах
Как использовать CASE WHEN в SQL: простой и поисковый вариант, применение в SELECT, GROUP BY, ORDER BY и агрегатных функциях. Примеры на реальных данных.
Оконные функции SQL: ROW_NUMBER, RANK, LAG и другие с примерами
Полный разбор оконных функций SQL: синтаксис OVER (PARTITION BY ORDER BY), ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, SUM с нарастающим итогом. Примеры и типичные задачи с собеседований.
SQL для Product Analyst: что проверять при найме
Специфика SQL-собеседования для продуктового аналитика: воронки, retention, A/B тесты, когортный анализ.
Мониторинг медленных запросов в PostgreSQL: pg_stat_statements
Как находить медленные запросы в PostgreSQL: pg_stat_statements, slow query log, топ-10 самых тяжёлых запросов, мониторинг production.
SQL CTE: что такое WITH и зачем нужны общие табличные выражения
CTE (Common Table Expressions) с ключевым словом WITH — как писать читаемые запросы, рекурсивные CTE и чем они лучше подзапросов.
GROUP BY и агрегация: задачи для найма
Практические задачи на GROUP BY, агрегатные функции и HAVING для технического скрининга SQL-аналитиков и разработчиков.
VACUUM и ANALYZE в PostgreSQL: как поддерживать производительность
VACUUM и ANALYZE в PostgreSQL: зачем нужны, autovacuum, bloat таблиц, как мониторить и когда запускать вручную. Практические советы.
SQL JOIN: виды, отличия и примеры на реальных данных
Разбираем INNER, LEFT, RIGHT, FULL, CROSS JOIN — чем отличаются, когда использовать каждый, и как не запутаться на собеседовании.
GROUP BY и HAVING в SQL: агрегация с фильтрацией
Разбираем GROUP BY и HAVING: как группировать данные, считать агрегаты и фильтровать группы. Отличие HAVING от WHERE с примерами.
Скрининг аналитиков данных: SQL-часть
Как провести SQL-часть технического скрининга аналитика данных: темы, задачи, уровни сложности и критерии оценки.
Античит в техническом интервью: методы защиты
Как защититься от читерства на SQL-собеседовании: признаки нечестного прохождения, методы проверки и альтернативные форматы.
PostgreSQL на собеседовании: специфика и задачи
Вопросы и задачи по PostgreSQL для технического интервью: специфичные функции, EXPLAIN, типы данных, JSON.
SQL тест для Data Scientist: что должен знать
Какой уровень SQL ожидать от Data Scientist на собеседовании: темы, задачи, отличие от требований к аналитику данных.
Онлайн-тестирование SQL: как организовать скрининг
Как организовать онлайн-скрининг SQL-навыков кандидатов: выбор платформы, структура теста, автоматическая проверка.
Бенчмарки SQL-тестов: средние результаты кандидатов по рынку
Какой балл считается нормой на SQL-тесте при найме аналитиков и разработчиков — ориентиры для HR по уровням.
CTE в SQL: задачи для проверки кандидатов
Практические задачи на CTE (Common Table Expressions) для технического скрининга SQL-разработчиков и аналитиков.
Оконные функции SQL на собеседовании
Как проверить знание оконных функций SQL на собеседовании: задачи с ROW_NUMBER, RANK, LAG, LEAD, SUM OVER для Middle и Senior.
SQL JOIN задачи для технического скрининга
Набор практических SQL JOIN задач для технического скрининга кандидатов: INNER, LEFT, SELF JOIN и антипаттерны.
5 типичных ошибок кандидатов на SQL-собеседовании
Разбор пяти самых частых ошибок, которые совершают кандидаты на SQL-собеседованиях, и как их избежать.
Как нанять SQL-аналитика: полный чеклист
Пошаговый чеклист найма SQL-аналитика: от составления вакансии до оффера. Технические требования, этапы проверки, красные флаги.
Агрегатные функции SQL: задачи для проверки кандидатов
Практические задачи на агрегатные функции SQL для технического скрининга: COUNT, SUM, AVG, MIN, MAX и их комбинации.
Подзапросы на собеседовании: задачи и разбор
Подборка SQL-задач на подзапросы для технического интервью: примеры, эталонные решения и критерии оценки кандидата.
SQL тест для Junior-разработчика: что проверять
Как составить SQL-тест для Junior-разработчика или аналитика: темы, задачи, критерии оценки начального уровня.
SQL для backend-разработчика: что проверять на интервью
Какие SQL-навыки критичны для backend-разработчика и как HR может правильно оценить их на техническом скрининге.
Как проверить SQL-навыки кандидата за 30 минут
Пошаговый план технического SQL-скрининга за 30 минут: задачи, критерии, что спрашивать и как интерпретировать ответы.
Сколько времени давать на SQL-тест кандидату
Как правильно установить временной лимит на SQL-тестирование, чтобы не отпугнуть хороших кандидатов и получить объективную оценку.
Как проводить SQL-собеседование удалённо
Практические советы для HR: как организовать дистанционное SQL-интервью, какие инструменты использовать и как избежать типичных проблем.
Топ-10 SQL вопросов для собеседования аналитика
Лучшие SQL-вопросы для технического интервью с аналитиком данных: от базовых JOIN до оконных функций. С примерами ответов.
Какой SQL нужен BI-аналитику: требования и тест
Разбираем, какие SQL-навыки обязательны для BI-аналитика, и как HR может проверить их на собеседовании.
SQL: как отличить middle от senior на собеседовании
Практическое руководство для HR: конкретные критерии и вопросы, которые помогут разграничить уровни middle и senior по SQL.
Полный гид по SQL-скринингу кандидатов
Как HR-специалисту организовать SQL-скрининг при найме аналитиков и разработчиков: этапы, задачи, критерии оценки.