yoklateknik mülakat

Pipelines / ETL Data Engineer Mülakat Soruları

450 doğrulanmış Pipelines / ETL Data Engineer mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Pe Airflow Scheduling DependenciesZorluk 2
Airflow 2.x'te günlük zamanlanmış bir DAG için bir DagRun'ın logical_date değeri neyi ifade eder?
  • aİşlenen data interval'in başlangıcı, çalışma anı değil
  • bScheduler'ın DagRun'ı fiilen başlattığı duvar saati zamanı
  • cDAG'daki son task instance'ın bittiği zaman
  • dAirflow'un DagRun'a atadığı rastgele bir kimlik
Açıklama:Airflow 2.x'te logical_date, DagRun'ın kapsadığı data interval'in başlangıcını gösterir, fiilen çalıştığı anı değil — günlük bir DAG genelde aralık kapandıktan SONRA çalışır, başında değil.
Pe Airflow Scheduling DependenciesZorluk 1
Airflow 2.x'te kullanımdan kaldırılan execution_date yerine hangi context değişkeni geçti?
  • arun_id
  • bdata_timestamp
  • cscheduled_at
  • dlogical_date
Açıklama:execution_date, Airflow 2.2'den itibaren kullanımdan kaldırıldı ve yerini, değerin çalışma anını değil interval başlangıcını gösterdiğini daha iyi yansıtan logical_date aldı.
Pe Airflow Scheduling DependenciesZorluk 2
Airflow 2.x'te schedule='@daily' olan bir DAG için Airflow, belirli bir günün data interval'ine ait DagRun'ı genelde ne zaman tetikler?
  • aO günün başında, 00:00'da
  • bO günün interval'i kapandıktan sonra, yani ertesi gün 00:00'da
  • cGünün tam 12. saatinde
  • dYalnızca kullanıcı manuel olarak 'Trigger DAG' dediğinde
Açıklama:Airflow 2.x'in varsayılan CronDataIntervalTimetable'ında bir DagRun, kendi data interval'i kapandıktan sonra zamanlanır; böylece Airflow o aralığa ait tüm verinin işlenmeye hazır olduğundan emin olur.
Pe Airflow Scheduling DependenciesZorluk 2
Bir DAG şöyle tanımlanmış:
dag = DAG(
    "daily_etl",
    start_date=datetime(2024, 1, 1),
    schedule="@daily",
    catchup=True,
)

Bugün 2024-01-10 ve DAG daha önce hiç çalışmamış. DAG'ın duraklatması kaldırıldığında (unpause) ne olur?
  • aAirflow yalnızca bugün için tek bir DagRun oluşturur, geçmişi yok sayar
  • bstart_date'ten bu yana kaçırılan her günlük interval için bir DagRun oluşturur
  • cKullanıcı start_date'i bugüne değiştirmeden Airflow çalışmayı reddeder
  • dÇok fazla interval kaçırıldığı için Airflow DAG'ı siler
Açıklama:catchup=True, scheduler'ın start_date'ten bu yana kaçırılan her zamanlanmış interval'i backfill etmesini sağlar; her biri için ayrı bir DagRun oluşturulur.
Pe Airflow Scheduling DependenciesZorluk 1
catchup=False, varsayılan catchup davranışına göre neyi değiştirir?
  • aAirflow tüm kaçırılan interval'leri ama ters kronolojik sırayla çalıştırır
  • bAirflow, DAG'daki tüm task'ların retry'lerini devre dışı bırakır
  • cKaçırılan interval'leri atlar, yalnızca en güncelinden itibaren zamanlar
  • dAirflow, DAG'ın manuel tetiklenmesini kalıcı olarak engeller
Açıklama:catchup=False, scheduler'a DAG etkin değilken kaçırılan interval'leri yok saymasını ve en güncel interval'den itibaren zamanlama yapmaya başlamasını söyler.
Pe Airflow Scheduling DependenciesZorluk 2
airflow dags backfill CLI komutunun amacı nedir?
  • acatchup ayarından bağımsız olarak seçilen tarih aralığı için DagRun oluşturur
  • bDAG'ın catchup ayarını veritabanında kalıcı olarak değiştirir
  • cYalnızca şu anda failed durumunda olan task'ları yeniden çalıştırır
  • dZamanlamayı yeniden oluşturmadan önce DAG'ın mevcut tüm DagRun'larını siler
Açıklama:airflow dags backfill, bir operatörün catchup ayarı ne olursa olsun, belirli bir interval aralığı için açıkça talep üzerine run oluşturmasını sağlar.

1950 soruluk Data Engineer bankasında kendini sına.

Mülakata başla