Data Engineering

Просунутий SQL для Data Engineering

Window functions, рекурсивні CTE, аналітичні запити, оптимізація, EXPLAIN ANALYZE, індексація, партиціювання

20 питань зі співбесід·
Mid-Level
1

Яка window function присвоює унікальний послідовний номер кожному рядку в межах партиції?

Відповідь

ROW_NUMBER() присвоює унікальний послідовний номер кожному рядку в межах партиції, починаючи з 1. На відміну від RANK() та DENSE_RANK(), які можуть присвоювати однаковий номер однаковим значенням, ROW_NUMBER() завжди гарантує унікальні номери, навіть для ідентичних значень у клаузі ORDER BY.

2

У чому головна відмінність між RANK() та DENSE_RANK()?

Відповідь

RANK() залишає пропуски в нумерації після рівних значень. Наприклад, якщо два рядки мають ранг 1, наступний матиме ранг 3. DENSE_RANK() не залишає пропусків: після двох рядків з рангом 1 наступний матиме ранг 2. Це розрізнення важливе для аналізу рейтингів, де пропуски можуть спотворювати статистику.

3

Як обчислити накопичувальну суму (running total) за допомогою window function?

Відповідь

SUM() OVER з ORDER BY без явного фрейму за замовчуванням використовує ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, що обчислює суму всіх попередніх рядків до поточного рядка включно. Це стандартна поведінка для створення накопичувальних сум у часових рядах або послідовних аналізах.

4

Яка роль клаузи PARTITION BY у window function?

5

Яка функція дозволяє отримати доступ до значення попереднього рядка у window function?

+17 питань зі співбесід

Інші теми співбесід Data Engineering

Linux & Shell - Основи

Junior
20 запитань

Git & GitHub - Основи

Junior
20 запитань

Просунутий Python для Data Engineering

Junior
25 запитань

Docker - Основи

Junior
25 запитань

Google Cloud Platform - Основи

Junior
20 запитань

CI/CD та якість коду

Mid-Level
20 запитань

Docker Compose

Mid-Level
20 запитань

FastAPI - API даних

Mid-Level
20 запитань

Data Lake - Архітектура та завантаження даних

Mid-Level
20 запитань

BigQuery для Data Engineering

Mid-Level
20 запитань

PostgreSQL - Адміністрування

Mid-Level
20 запитань

Data Modeling для Data Engineering

Mid-Level
20 запитань

Fivetran & Airbyte - Завантаження даних

Mid-Level
20 запитань

dbt - Основи

Mid-Level
20 запитань

Apache Airflow - Основи

Mid-Level
20 запитань

Kubernetes - Основи

Mid-Level
20 запитань

dbt - Розширені можливості

Senior
20 запитань

Патерни ETL / ELT / ETLT

Senior
20 запитань

Apache Airflow - Просунутий

Senior
20 запитань

Airflow + dbt - Оркестрація пайплайнів

Senior
20 запитань

PySpark - Великомасштабна обробка

Senior
20 запитань

Google Pub/Sub - Стрімінг даних

Senior
20 запитань

Apache Beam & Dataflow

Senior
20 запитань

Kubernetes - Продакшн та масштабування

Senior
20 запитань

Terraform - Infrastructure as Code

Senior
20 запитань

Бази даних NoSQL

Senior
20 запитань

Сучасна Data Architecture

Senior
20 запитань

Моніторинг та спостережуваність

Senior
20 запитань

IAM та безпека даних

Senior
20 запитань

Опануй Data Engineering для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно