P
prepair.app
Пройти інтерв'ю →
EnglishУкраїнськаРусскийDeutsch
🗄️

Senior Data EngineerПитання на співбесіді data engineer

Senior · 5+ років досвіду

Співбесіда дата-інженера сильно спирається на SQL і на те, чи переживуть ваші пайплайни запуск двічі, із запізненням або не по порядку. Будуть і питання з моделювання, де немає єдино правильної відповіді. Нижче — питання, які ставлять найчастіше, кожне з еталонною відповіддю. Senior: архітектуру, трейд-офи, менторство та прийняття рішень.

Спробувати — без реєстрації
Готуємо питання…

Теми для підготовки

Просунутий SQL
Моделювання даних і сховища
ETL проти ELT та оркестрація
Spark і розподілена обробка
Стрімінг і Kafka
Якість даних

6 питань рівня Senior з відповідями

1

Чим партиціювання відрізняється від шардування?

Відповідь

Партиціювання ділить таблицю всередині однієї бази, щоб рушій міг пропускати непотрібні шматки; шардування розкладає дані по окремих базах, кожна з яких тримає підмножину. Партиціювання — інструмент продуктивності й обслуговування, шардування — інструмент масштабу з реальною ціною: міжшардові запити й транзакції стають складними або неможливими. Братися за шардування до того, як вичерпані партиціювання та індекси, — часта і дорога помилка.

2

Як обробляти еволюцію схеми, коли змінюється джерело?

Відповідь

Обравши формат, що несе схему й підтримує еволюцію — Avro чи Parquet із реєстром схем, — і вирішивши заздалегідь, які зміни сумісні: додавання необовʼязкового поля зазвичай так, видалення чи зміна типу ні. Зона підготовки має приймати нову форму, не роняючи все завантаження, а закладатися треба на тихе розширення типу, що псує агрегати нижче за потоком.

3

Як вимірювати й автоматизувати якість даних?

Відповідь

За названими вимірами — повнота, унікальність, валідність, своєчасність, узгодженість, — кожен виражений перевіркою з порогом, а не відчуттям. Автоматизація означає, що перевірки йдуть частиною конвеєра і можуть його зупинити, бо звіт про якість, який ніхто не читає, якістю не керує. Пропускають зазвичай своєчасність, а застарілі дані, що виглядають коректно, шкодять більше, ніж явно відсутні.

4

Джоба, що йшла двадцять хвилин, тепер іде чотири години. Як шукати причину?

Відповідь

Почати з того, що змінилося: обсяг даних, перекіс, розмір кластера чи код. Далі дивитися на стадії — одна стадія, що займає більшу частину часу, зазвичай означає shuffle, а кілька задач, що йдуть набагато довше за решту, означають перекіс. Перекіс виявляється відповіддю частіше, ніж очікують, а лікується підсолюванням ключа, розсилкою малої сторони або перепартиціюванням.

5

Що таке медальйонна архітектура і яку проблему вона розвʼязує?

Відповідь

Bronze тримає сирі завантажені дані, silver — очищені та приведені, gold — агрегати бізнес-рівня. Розвʼязує вона те, що перетворення заплутуються, коли кожен читає звідки зручно: із шарами походження читабельне, а погане завантаження можна переробити з bronze, не звертаючись знову до джерела. Це домовленість, а не технологія, і вся її цінність у тому, щоб її дотримувалися.

6

Коли ви приймаєте eventual consistency у платформі даних?

Відповідь

Майже завжди для аналітики, бо дашборд, що відстає на хвилину, нічого не змінює, а ціна сильної узгодженості в розподіленому сховищі — доступність під час мережевого розділення. Не приймаєте там, де рішення нижче за потоком фінансове чи регуляторне, або де дві системи мусять погодитися про число в один момент. Важливо, щоб вибір був проговорений: прикрість у тому, що про нього дізнаються під час аудиту.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Senior Data Engineer →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — Data Engineer

Junior Data EngineerMiddle Data EngineerУсі питання Data Engineer

Інші спеціалізації

🔍Senior QA Manual🤖Senior QA AutomationSenior Java Backend🐍Senior Python Backend🐘Senior PHP Backend🦫Senior Go Backend🟢Senior Node.js Backend💎Senior Ruby on Rails🟣Senior .NET Backend Developer🔷Senior C++