Data Engineer Interjú Kérdések, Fordulónként

Szerző: Aaron Cao · Frissítve

Data Engineer Interjú Kérdések, Fordulónként
A data engineer körök haladó SQL-t, data modellinget, pipeline és ETL tervezést, distributed processinget és behavioral fordulókat foglalnak magukban. A pipeline tervezési forduló dönti el a legtöbb eredményt: azt kérdezi, hogyan kezeled a late datát, a rerunokat és a failure-öket, nem azt, melyik eszközt szereted.

A data engineer körök haladó SQL-t, data modellinget, pipeline és ETL tervezést, distributed processinget és behavioral fordulókat foglalnak magukban. A pipeline tervezési forduló dönti el a legtöbb eredményt: azt kérdezi, hogyan kezeled a late datát, a rerunokat és a failure-öket, nem azt, melyik eszközt szereted.

Milyen fordulókból áll egy data engineer interjú?

Lehet, hogy ugyanúgy készülsz, mint egy software engineering interjúra, és azon gondolkodsz, mi a különbség. Ez a szakasz feltérképezi azokat a fordulókat, amelyeket ezek az interjúk újra és újra használnak, hogy az időt arra a két fordulóra fordíthasd, amely valóban elválasztja a jelölteket. A technikai szűrőn ritkán bukik el az ajánlat.

  • SQL. Window functionök, deduplication és query performance, általában élőben.
  • Data modelling. Táblák tervezése egy leírt üzlethez, és a választott grain megvédése.
  • Pipeline és ETL tervezés. Egy nyitott végű system design forduló, amely az adatmozgásra fókuszál.
  • Distributed processing. Hogyan hajtja végre valójában egy framework a munkádat, és miért lassú.
  • Coding. Python vagy Scala, gyakran könnyebb, mint egy software engineering forduló.
  • Behavioral. On call incidensek, elromlott dashboardok, és stakeholderek, akik tegnapra akarták a számot.

A titulusok erősen átfedik az analytics engineeringet és a platform szerepeket, így a keverék változik. A kapcsolódó szerepkör-kérdésbankok az interview questions by role hubon találhatók.

Milyen SQL és data modelling kérdések jönnek elő?

SQL

  • Deduplikálj egy táblát úgy, hogy csak a legfrissebb sor maradjon meg key-enként.
  • Írj egy query-t, amely visszaadja minden user session-számát 30 perces inaktivitási résszel.
  • Számíts running totalt és hónapról hónapra változást egyetlen query-ben.
  • Találd meg a sorokat, amelyek a tegnapi snapshotban megvannak, de mára eltűntek.
  • Mit csinál a QUALIFY, és mit írnál nélküle?
  • Ez a query egymilliárd sort szkennel és húsz percig tart. Hogyan diagnosztizálnád?
  • Magyarázd el a partitioning és a clustering közti különbséget, és mikor segít mindegyik.

Data modelling

  • Tervezd meg a táblákat egy online piactér rendeléstörténetéhez. Mi a fact table grainje?
  • Magyarázz el egy star schemát, és mikor denormalizálnál tovább szándékosan.
  • Mi az a slowly changing dimension, és hogyan implementálnád a type two-t?
  • Egy stakeholder azt akarja, hogy a historikus reporting az ügyfél jelenlegi régióját tükrözze. Mi törik el?
  • Hogyan modelleznél egy event streamet, amely out of order érkezik?
  • Mikor választanál wide table-t egy normalizált modell helyett?

A modelling forduló azt jutalmazza, ha elköteleződsz egy grain mellett és megvéded. Azok a jelöltek, akik három lehetséges design-t írnak le választás nélkül, rosszabbul teljesítenek, mint akik egy ésszerű design mellett döntenek, és megnevezik a gyengeségét.

Milyen pipeline és distributed processing kérdések jönnek elő?

Pipeline és ETL tervezés

  • Tervezz egy pipeline-t, amely napi tranzakciókat tölt be egy warehouse-ba a reporting számára.
  • Az upstream forrás újra elküldi a tegnapi adatot. Mi történik a munkáddal?
  • Hogyan teszed idempotenssé a pipeline-t, és miért számít ez a rerunoknál?
  • Hogyan végeznél két év történelmi adat backfillt anélkül, hogy megzavarnád a napi loadot?
  • A late arriving adat három nappal a partition lezárása után jelenik meg. Mit teszel?
  • Hogyan derítenéd ki, hogy egy pipeline sikeres volt, de rossz adatot állított elő?
  • Mit monitorozol, és mi ébreszt fel valakit hajnali háromkor?

Distributed processing és streaming

  • Mi okoz shuffle-t, és miért drága?
  • A munkád lassú, és az egyik task sokkal tovább tart, mint a többi. Mi történik?
  • Magyarázd el a data skew-t és két kezelési módját.
  • Mikor választanál streaminget egy ütemezett batch job helyett?
  • Mit garantál valójában az exactly once processing, és hol nem érvényes?
  • Hogyan kezelik a watermarkok az out of order eseteket egy windowed aggregationben?

Figyeld meg, milyen kevés kérdés kéri, hogy nevezz meg egy eszközt. Egy eszköz megnevezése a válasz kezdete, nem a válasz. A folytatás mindig az, hogy miért, és mi törik el.

Hogyan gyakorold ezeket?

Ezeknek a listáknak az olvasása felismerést épít. A design fordulók mást tesztelnek: azt, hogy a fejedben tartasz egy rendszert, miközben valaki egy failure case-szel megszakít. Ez csak abból jön, ha hangosan mondod ki a design-t.

  • Rajzolj és mesélj el egy pipeline-t tizenöt perc alatt. Source, landing, transform, serve, plusz hogy minden szakasz hogyan hibázik.
  • Támadd meg a saját design-odat. Minden gyakorlás után kérdezd meg, mi történik rerunnál, late adatnál és schema változásnál.
  • Legyen kész számod a skálához. Sor naponta, méret, latency budget. A feltételezett skálád elsőként való kimondása pontot ér.
  • Írj SQL-t kézzel. Az élő fordulók gyakran egyszerű editort használnak autocomplete és futtatás nélkül.
  • Gyakorolj be rendesen egy incidens-történetet. Mi romlott el, hogyan találtad meg, mit változtattál, hogy ne ismétlődhessen meg.

Egy hat éve batch pipeline-okon dolgozó data engineer a framework internals átnézésével készült, majd fennakadt azon, hogy "az upstream forrás újraküldte a tegnapi fájlt", mert ő azt mindig csak kézzel kezelte, sosem magyarázta el. A tudás megvolt; a kimondott válasz nem. A design forduló gyakorlása follow-up kérdésekkel pontosan az, amire a mock interview mód épült.

GYIK

Miben különbözik a data engineer interjú a software engineer interjútól?

A coding forduló általában könnyebb, és a design forduló az adatmozgásra fókuszál, nem a szolgáltatásokra. A kérdések a rerunok, a late data és a schema változás melletti helyességre összpontosítanak, ami ritkán jelenik meg egy általános software design fordulóban.

Kifejezetten Sparkra van szükségem, vagy elég a koncepció?

A forduló nagy részét a koncepciók viszik: shuffle-ök, skew, partitioning, és hogy miért lassú egy job. Ha a munkaköri leírás megnevez egy frameworköt, számíts legalább egy kérdésre az execution modelljéről, szóval tudd elmagyarázni, mi történik, amikor a munkád fut.

Mennyire tesztelik ezek az interjúk a data modellinget?

Jobban, mint a legtöbb jelölt várná. Star schemák, fact table grain, és slowly changing dimensionök rendszeresen előjönnek, és az interjúztatók a választásod következményeire nyomnak, nem a tankönyvi definíciót kérik.

Mi a leggyakoribb ok, amiért a jelöltek elbuknak a data engineer köröknél?

Egy olyan pipeline tervezése, amely csak a happy pathon működik. Az interjúztatók szándékosan bevezetnek rerunokat, duplikált kézbesítéseket és late arriving adatot, és az erre válasz nélküli design a szokásos bukási mód.

Hogyan gyakoroljam egyedül a design fordulókat?

Válassz egy leírt üzletet, tervezd meg hangosan a pipeline-t időmérővel, aztán vallasd ki a saját design-odat failure case-ekkel. Egy AI mock interviewer is levezetheti a fordulót, és follow-up kérdésekkel szakíthat meg, ami közelebb áll a valódi nyomáshoz.

Kapcsolódó kérdések

← Több erről: Interjúkérdések szerep és téma szerint