Pytania Rekrutacyjne dla Data Engineera, wg Etapu

Autor: Aaron Cao · Zaktualizowano

Pytania Rekrutacyjne dla Data Engineera, wg Etapu
Proces rekrutacyjny dla data engineera obejmuje zaawansowany SQL, modelowanie danych, projektowanie pipeline'ów i ETL, przetwarzanie rozproszone oraz etapy behawioralne. To etap projektowania pipeline'u decyduje o większości wyników: pyta, jak radzisz sobie z opóźnionymi danymi, ponownymi uruchomieniami i awariami, a nie które narzędzie wolisz.

Proces rekrutacyjny dla data engineera obejmuje zaawansowany SQL, modelowanie danych, projektowanie pipeline'ów i ETL, przetwarzanie rozproszone oraz etapy behawioralne. To etap projektowania pipeline'u decyduje o większości wyników: pyta, jak radzisz sobie z opóźnionymi danymi, ponownymi uruchomieniami i awariami, a nie które narzędzie wolisz.

Jakie etapy zawiera proces rekrutacyjny dla data engineera?

Możesz przygotowywać się tak samo, jak do procesu rekrutacyjnego dla software engineera, zastanawiając się, na czym polega różnica. Ta sekcja mapuje etapy, które te rozmowy powtarzają, dzięki czemu możesz poświęcić czas na dwa etapy, które naprawdę odróżniają kandydatów. Filtr techniczny rzadko jest miejscem, w którym tracone są oferty.

  • SQL. Funkcje okienkowe, deduplikacja i wydajność zapytań, zwykle na żywo.
  • Modelowanie danych. Projektowanie tabel dla opisanego biznesu i obrona wybranego grain.
  • Projektowanie pipeline'u i ETL. Otwarty etap projektowania systemu skupiony na przepływie danych.
  • Przetwarzanie rozproszone. Jak framework faktycznie wykonuje twój job i dlaczego jest wolny.
  • Programowanie. Python lub Scala, często lżejsze niż etap software engineeringu.
  • Behawioralny. Incydenty na dyżurze, zepsute dashboardy i interesariusze, którzy chcieli liczby wczoraj.

Tytuły stanowisk mocno pokrywają się z analytics engineeringiem i rolami platformowymi, więc mieszanka się zmienia. Powiązane banki pytań dla ról znajdziesz w hubie pytania rekrutacyjne wg roli.

Jakie pytania z SQL i modelowania danych się pojawiają?

SQL

  • Zdeduplikuj tabelę, zostawiając tylko najnowszy wiersz dla każdego klucza.
  • Napisz zapytanie zwracające liczbę sesji każdego użytkownika, używając 30-minutowej przerwy nieaktywności.
  • Oblicz sumę narastającą i zmianę miesiąc do miesiąca w jednym zapytaniu.
  • Znajdź wiersze obecne we wczorajszym snapshotcie, ale nieobecne w dzisiejszym.
  • Co robi QUALIFY, i co napisałbyś bez tego?
  • To zapytanie skanuje miliard wierszy i trwa dwadzieścia minut. Jak to zdiagnozujesz?
  • Wyjaśnij różnicę między partitioningiem a clusteringiem i kiedy każdy pomaga.

Modelowanie danych

  • Zaprojektuj tabele dla historii zamówień internetowego marketplace'u. Jaki jest grain twojej fact table?
  • Wyjaśnij star schema i kiedy celowo zdenormalizowałbyś dalej.
  • Czym jest slowly changing dimension i jak implementujesz typ dwa?
  • Interesariusz chce, aby historyczne raportowanie odzwierciedlało obecny region klienta. Co się psuje?
  • Jak zamodelowałbyś event stream, który przychodzi nie po kolei?
  • Kiedy wybrałbyś szeroką tabelę zamiast znormalizowanego modelu?

Etap modelowania nagradza zaangażowanie się w jeden grain i jego obronę. Kandydaci, którzy opisują trzy możliwe projekty bez wyboru jednego, oceniani są gorzej niż kandydaci, którzy wybierają rozsądny projekt i wskazują jego słabość.

Jakie pytania o pipeline i przetwarzanie rozproszone się pojawiają?

Projektowanie pipeline'u i ETL

  • Zaprojektuj pipeline, który ładuje codzienne transakcje do hurtowni danych na potrzeby raportowania.
  • Źródło upstream ponownie wysyła wczorajsze dane. Co dzieje się z twoim jobem?
  • Jak sprawiasz, że pipeline jest idempotentny, i dlaczego ma to znaczenie dla ponownych uruchomień?
  • Jak wykonałbyś backfill dwóch lat historii bez zakłócania codziennego ładowania?
  • Opóźnione dane pojawiają się trzy dni po zamknięciu partycji. Co robisz?
  • Jak wykrywasz, że pipeline zakończył się sukcesem, ale wyprodukował złe dane?
  • Co monitorujesz, i co obudzi kogoś o trzeciej nad ranem?

Przetwarzanie rozproszone i streaming

  • Co powoduje shuffle, i dlaczego jest kosztowny?
  • Twój job jest wolny, a jeden task trwa dużo dłużej niż reszta. Co się dzieje?
  • Wyjaśnij data skew i dwa sposoby radzenia sobie z nim.
  • Kiedy wybrałbyś streaming zamiast zaplanowanego joba wsadowego?
  • Co dokładnie gwarantuje exactly once processing, i gdzie to nie obowiązuje?
  • Jak watermarki obsługują zdarzenia nie po kolei w agregacji okienkowej?

Zwróć uwagę, jak niewiele z tych pytań prosi cię o nazwanie narzędzia. Nazwanie jednego to początek odpowiedzi, nie odpowiedź. Pytanie uzupełniające zawsze brzmi dlaczego i co się psuje.

Jak najlepiej ćwiczyć te pytania?

Czytanie tych list buduje rozpoznawanie. Etapy projektowe testują coś innego: utrzymanie systemu w głowie, gdy ktoś przerywa ci scenariuszem awarii. To bierze się tylko z mówienia projektów na głos.

  • Narysuj i opowiedz pipeline w piętnaście minut. Źródło, landing, transformacja, serwowanie, plus jak każdy etap zawodzi.
  • Zaatakuj własny projekt. Po każdej sesji ćwiczeniowej zapytaj, co dzieje się przy ponownym uruchomieniu, przy opóźnionych danych i przy zmianie schematu.
  • Miej gotową liczbę dla skali. Wiersze dziennie, rozmiar, budżet opóźnienia. Podanie założonej skali jako pierwsze jest oceniane.
  • Pisz SQL ręcznie. Etapy na żywo często używają zwykłego edytora bez autouzupełniania i bez wykonania.
  • Przećwicz dobrze jedną historię incydentu. Co się zepsuło, jak to znalazłeś, co zmieniłeś, żeby się nie powtórzyło.

Data engineer z sześcioletnim doświadczeniem w pipeline'ach wsadowych przygotowywała się, przeglądając wewnętrzne mechanizmy frameworków, po czym utknęła na "źródło upstream ponownie wysłało wczorajszy plik", bo obsługiwała to tylko ręcznie, nigdy tego nie wyjaśniała. Wiedza była; mówiona odpowiedź nie. Ćwiczenie etapu projektowego z pytaniami uzupełniającymi to dokładnie to, do czego zbudowano tryb mock interview.

FAQ

Czym rozmowa kwalifikacyjna dla data engineera różni się od tej dla software engineera?

Etap programowania jest zwykle lżejszy, a etap projektowy skupia się na przepływie danych zamiast na usługach. Pytania koncentrują się na poprawności przy ponownych uruchomieniach, opóźnionych danych i zmianach schematu, co rzadko pojawia się w ogólnym etapie projektowania oprogramowania.

Czy muszę znać konkretnie Sparka, czy sama koncepcja wystarczy?

Koncepcje niosą większość etapu: shuffle'e, skew, partitioning i dlaczego job jest wolny. Jeśli opis stanowiska wymienia konkretny framework, spodziewaj się co najmniej jednego pytania o jego model wykonania, więc bądź w stanie wyjaśnić, co się dzieje, gdy twój job działa.

Jak dużo modelowania danych testują te rozmowy?

Więcej niż spodziewa się większość kandydatów. Star schema, grain fact table i slowly changing dimension pojawiają się regularnie, a rekruterzy naciskają na konsekwencje twojego wyboru, zamiast prosić o podręcznikową definicję.

Jaki jest najczęstszy powód, dla którego kandydaci nie przechodzą procesu rekrutacyjnego dla data engineera?

Projektowanie pipeline'u, który działa tylko w happy path. Rekruterzy celowo wprowadzają ponowne uruchomienia, zduplikowane dostawy i opóźnione dane, a projekt bez odpowiedzi na to jest zwykle powodem porażki.

Jak ćwiczyć etapy projektowe samodzielnie?

Wybierz opisany biznes, zaprojektuj pipeline na głos z zegarem, a potem przesłuchaj własny projekt scenariuszami awarii. AI mock interviewer może też poprowadzić ten etap i przerywać pytaniami uzupełniającymi, co bliżej przypomina prawdziwą presję.

Powiązane pytania

← Więcej o Pytania rekrutacyjne według roli i tematu