Domande da Colloquio per Data Engineer, per Fase

Di Aaron Cao · Aggiornato il

Domande da Colloquio per Data Engineer, per Fase
I colloqui da data engineer coprono SQL avanzato, modellazione dati, progettazione di pipeline ed ETL, elaborazione distribuita e fasi comportamentali. La fase di progettazione della pipeline decide la maggior parte degli esiti: chiede come gestisci dati in ritardo, riesecuzioni e guasti, non quale strumento preferisci.

I colloqui da data engineer coprono SQL avanzato, modellazione dati, progettazione di pipeline ed ETL, elaborazione distribuita e fasi comportamentali. La fase di progettazione della pipeline decide la maggior parte degli esiti: chiede come gestisci dati in ritardo, riesecuzioni e guasti, non quale strumento preferisci.

Quali fasi contiene un percorso di colloqui da data engineer?

Potresti prepararti nello stesso modo in cui ti prepareresti per un percorso da software engineer, chiedendoti cosa cambia. Questa sezione mappa le fasi che questi colloqui riutilizzano, così puoi dedicare il tempo alle due che davvero distinguono i candidati. Il filtro tecnico raramente è dove si perdono le offerte.

  • SQL. Window function, deduplicazione e prestazioni delle query, di solito dal vivo.
  • Modellazione dati. Progettare tabelle per un business descritto, e difendere il grain scelto.
  • Progettazione di pipeline ed ETL. Una fase di system design aperta, focalizzata sul movimento dei dati.
  • Elaborazione distribuita. Come un framework esegue davvero il tuo job, e perché è lento.
  • Coding. Python o Scala, spesso più leggero di una fase da software engineer.
  • Comportamentale. Incidenti in reperibilità, dashboard rotte, e stakeholder che volevano il numero ieri.

I titoli si sovrappongono molto ai ruoli di analytics engineering e platform, quindi il mix cambia. I question bank per ruoli correlati si trovano nell'hub domande per colloquio per ruolo.

Quali domande di SQL e modellazione dati emergono?

SQL

  • Deduplica una tabella mantenendo solo la riga più recente per ogni chiave.
  • Scrivi una query che restituisce il conteggio di sessioni di ogni utente usando un gap di inattività di 30 minuti.
  • Calcola un totale progressivo e una variazione mese su mese in un'unica query.
  • Trova le righe presenti nello snapshot di ieri ma mancanti in quello di oggi.
  • Cosa fa QUALIFY, e cosa scriveresti senza di esso?
  • Questa query scansiona un miliardo di righe e impiega venti minuti. Come la diagnostichi?
  • Spiega la differenza tra partitioning e clustering, e quando ciascuno aiuta.

Modellazione dati

  • Progetta le tabelle per lo storico ordini di un marketplace online. Qual è il grain della tua fact table?
  • Spiega uno star schema, e quando denormalizzeresti deliberatamente ulteriormente.
  • Cos'è una slowly changing dimension, e come implementi il tipo due?
  • Uno stakeholder vuole che il reporting storico rifletta la regione attuale di un cliente. Cosa si rompe?
  • Come modelleresti un event stream che arriva fuori ordine?
  • Quando sceglieresti una tabella ampia rispetto a un modello normalizzato?

La fase di modellazione premia chi si impegna su un grain e lo difende. I candidati che descrivono tre possibili design senza sceglierne uno ottengono punteggi peggiori rispetto a chi sceglie un design ragionevole e ne nomina il punto debole.

Quali domande su pipeline ed elaborazione distribuita emergono?

Progettazione di pipeline ed ETL

  • Progetta una pipeline che carica le transazioni giornaliere in un warehouse per il reporting.
  • La fonte upstream invia di nuovo i dati di ieri. Cosa succede al tuo job?
  • Come rendi idempotente una pipeline, e perché conta per le riesecuzioni?
  • Come faresti il backfill di due anni di storico senza interrompere il caricamento giornaliero?
  • Dati in ritardo emergono tre giorni dopo la chiusura della partizione. Cosa fai?
  • Come rilevi che una pipeline è riuscita ma ha prodotto dati sbagliati?
  • Cosa monitori, e cosa fa suonare il cercapersone di qualcuno alle tre di notte?

Elaborazione distribuita e streaming

  • Cosa causa uno shuffle, e perché è costoso?
  • Il tuo job è lento e un task impiega molto più tempo degli altri. Cosa sta succedendo?
  • Spiega il data skew e due modi per gestirlo.
  • Quando sceglieresti lo streaming rispetto a un job batch pianificato?
  • Cosa garantisce davvero l'exactly once processing, e dove non vale?
  • Come gestiscono i watermark gli eventi fuori ordine in un'aggregazione windowed?

Nota quante poche di queste domande ti chiedono di nominare uno strumento. Nominarne uno è l'inizio della risposta, non la risposta. La domanda di follow-up è sempre perché, e cosa si rompe.

Come dovresti esercitarti per queste?

Leggere queste liste crea riconoscimento. Le fasi di design testano altro: tenere un sistema in testa mentre qualcuno ti interrompe con un caso di guasto. Questo si ottiene solo dicendo i design ad alta voce.

  • Disegna e narra una pipeline in quindici minuti. Source, landing, transform, serve, più come fallisce ogni fase.
  • Attacca il tuo stesso design. Dopo ogni sessione di pratica, chiediti cosa succede a una riesecuzione, a dati in ritardo, e a un cambio di schema.
  • Tieni pronto un numero per la scala. Righe al giorno, dimensione, budget di latenza. Dichiarare per primo la scala assunta viene valutato.
  • Scrivi SQL a mano. Le fasi dal vivo spesso usano un editor semplice, senza autocomplete e senza esecuzione.
  • Prova bene una storia di incidente. Cosa si è rotto, come l'hai scoperto, cosa hai cambiato perché non potesse ripetersi.

Una data engineer con sei anni su pipeline batch si è preparata rivedendo gli interni dei framework, poi si è bloccata su "la fonte upstream ha rimandato il file di ieri" perché lo aveva sempre gestito a mano, mai spiegato. La conoscenza c'era; la risposta parlata no. Esercitarsi sulla fase di design con i follow-up è esattamente ciò per cui è costruita la modalità mock interview.

FAQ

In cosa un colloquio da data engineer è diverso da uno da software engineer?

La fase di coding è di solito più leggera e la fase di design è focalizzata sul movimento dei dati anziché sui servizi. Le domande si concentrano sulla correttezza sotto riesecuzioni, dati in ritardo e cambi di schema, che raramente compaiono in una fase generale di software design.

Mi serve Spark in particolare, o basta il concetto?

I concetti coprono la maggior parte della fase: shuffle, skew, partitioning, e perché un job è lento. Se la job description nomina un framework, aspettati almeno una domanda sul suo modello di esecuzione, quindi sappi spiegare cosa succede quando il tuo job gira.

Quanta modellazione dati testano questi colloqui?

Più di quanto si aspettino la maggior parte dei candidati. Star schema, grain della fact table, e slowly changing dimension emergono regolarmente, e i selezionatori insistono sulle conseguenze della tua scelta invece di chiedere la definizione da manuale.

Qual è il motivo più comune per cui i candidati falliscono i colloqui da data engineer?

Progettare una pipeline che funziona solo nel percorso ideale. I selezionatori introducono deliberatamente riesecuzioni, consegne duplicate e dati in ritardo, e un design senza risposta per questi è di solito la modalità di fallimento.

Come mi esercito da solo per le fasi di design?

Scegli un business descritto, progetta la pipeline ad alta voce con un timer, poi interroga il tuo stesso design con casi di guasto. Un mock interviewer AI può anche condurre la fase e interromperti con follow-up, il che è più vicino alla pressione reale.

Domande correlate

← Altro su Domande da colloquio per ruolo e argomento