Veri Mühendisi Mülakat Soruları, Aşamalara Göre

Yazan: Aaron Cao · Güncellendi

Veri Mühendisi Mülakat Soruları, Aşamalara Göre
Veri mühendisi mülakat turları ileri düzey SQL, veri modelleme, pipeline ve ETL tasarımı, dağıtık işleme ve davranışsal aşamaları kapsar. Sonucu çoğunlukla pipeline tasarım aşaması belirler: hangi aracı tercih ettiğinizi değil, geç gelen veriyi, yeniden çalıştırmaları (rerun) ve hataları nasıl ele aldığınızı sorar.

Veri mühendisi mülakat turları ileri düzey SQL, veri modelleme, pipeline ve ETL tasarımı, dağıtık işleme ve davranışsal aşamaları kapsar. Sonucu çoğunlukla pipeline tasarım aşaması belirler: hangi aracı tercih ettiğinizi değil, geç gelen veriyi, yeniden çalıştırmaları (rerun) ve hataları nasıl ele aldığınızı sorar.

Bir veri mühendisi mülakat sürecinde hangi aşamalar var?

Belki de bir yazılım mühendisliği mülakatına hazırlanır gibi hazırlanıyor ve farkın ne olduğunu merak ediyorsunuz. Bu bölüm, bu mülakatlarda tekrar tekrar kullanılan aşamaları haritalandırır, böylece zamanınızı adayları gerçekten ayıran iki aşamaya ayırabilirsiniz. Teknik filtre, teklifin kaybedildiği yer nadiren burasıdır.

  • SQL. Window fonksiyonları, deduplication ve sorgu performansı, genellikle canlı olarak.
  • Veri modelleme. Anlatılan bir iş için tablo tasarlamak ve seçtiğiniz grain'i savunmak.
  • Pipeline ve ETL tasarımı. Veri hareketine odaklanmış, açık uçlu bir sistem tasarımı aşaması.
  • Dağıtık işleme. Bir framework işinizi gerçekte nasıl çalıştırır, ve neden yavaştır.
  • Kodlama. Python veya Scala, genellikle bir yazılım mühendisliği aşamasından daha hafif.
  • Davranışsal. Nöbet olayları, bozulan dashboard'lar ve rakamı dün isteyen paydaşlar.

Unvanlar analytics engineering ve platform rolleriyle büyük ölçüde örtüşür, bu yüzden karışım değişir. İlgili rol soru bankaları role göre mülakat soruları merkezinde yer alır.

Hangi SQL ve veri modelleme soruları çıkıyor?

SQL

  • Bir tabloyu, her anahtar için yalnızca en güncel satırı bırakacak şekilde deduplicate edin.
  • 30 dakikalık bir hareketsizlik boşluğu kullanarak her kullanıcının oturum sayısını döndüren bir sorgu yazın.
  • Tek bir sorguda running total ve ay bazında (month over month) değişimi hesaplayın.
  • Dünün snapshot'ında bulunan ama bugünkünde eksik olan satırları bulun.
  • QUALIFY ne işe yarar, ve onsuz ne yazardınız?
  • Bu sorgu bir milyar satırı tarıyor ve yirmi dakika sürüyor. Bunu nasıl teşhis edersiniz?
  • Partitioning ile clustering arasındaki farkı, ve her birinin ne zaman işe yaradığını açıklayın.

Veri modelleme

  • Bir online pazaryerinin sipariş geçmişi için tabloları tasarlayın. Fact tablonuzun grain'i nedir?
  • Bir star schema'yı açıklayın, ve ne zaman bilerek daha fazla denormalize edersiniz.
  • Slowly changing dimension nedir, ve type two'yu nasıl uygularsınız?
  • Bir paydaş, geçmişe dönük raporlamanın bir müşterinin güncel bölgesini yansıtmasını istiyor. Ne bozulur?
  • Sırasız gelen bir event stream'i nasıl modellersiniz?
  • Normalize edilmiş bir modele karşı geniş bir tabloyu ne zaman seçersiniz?

Modelleme aşaması, bir grain'e bağlanıp onu savunmayı ödüllendirir. Üç olası tasarımı seçim yapmadan anlatan adaylar, makul bir tasarım seçip zayıf noktasını söyleyen adaylardan daha düşük puan alır.

Hangi pipeline ve dağıtık işleme soruları çıkıyor?

Pipeline ve ETL tasarımı

  • Günlük işlemleri raporlama için bir warehouse'a yükleyen bir pipeline tasarlayın.
  • Upstream kaynak dünün verisini yeniden gönderiyor. İşinize ne olur?
  • Bir pipeline'ı nasıl idempotent hale getirirsiniz, ve bu yeniden çalıştırmalar için neden önemlidir?
  • Günlük yüklemeyi aksatmadan iki yıllık geçmişi nasıl backfill edersiniz?
  • Geç gelen veri, partisyon kapandıktan üç gün sonra ortaya çıkıyor. Ne yaparsınız?
  • Bir pipeline'ın başarılı olduğunu ama yanlış veri ürettiğini nasıl tespit edersiniz?
  • Neyi izlersiniz, ve sabahın üçünde birini neyin uyandırmasını sağlarsınız?

Dağıtık işleme ve streaming

  • Bir shuffle'a ne sebep olur, ve neden pahalıdır?
  • İşiniz yavaş ve bir task diğerlerinden çok daha uzun sürüyor. Ne oluyor?
  • Data skew'i ve bunu ele almanın iki yolunu açıklayın.
  • Zamanlanmış bir batch işine karşı streaming'i ne zaman seçersiniz?
  • Exactly once processing gerçekte neyi garanti eder, ve nerede geçerli değildir?
  • Watermark'lar, windowed bir aggregation'da sırasız olayları nasıl ele alır?

Bunların ne kadar azının size bir araç adı sormasına dikkat edin. Bir isim söylemek cevabın başlangıcıdır, cevabın kendisi değil. Sonraki soru her zaman neden, ve neyin bozulacağıdır.

Bunlara nasıl çalışmalısınız?

Bu listeleri okumak tanıma kazandırır. Tasarım aşamaları başka bir şeyi test eder: biri sizi bir hata senaryosuyla keserken bir sistemi kafanızda tutmak. Bu yalnızca tasarımları sesli söylemekten gelir.

  • On beş dakikada bir pipeline çizin ve anlatın. Kaynak, landing, transform, serve, artı her aşamanın nasıl bozulacağı.
  • Kendi tasarımınıza saldırın. Her pratik turdan sonra, bir yeniden çalıştırmada, geç veride ve bir şema değişikliğinde ne olacağını sorun.
  • Ölçek için hazır bir rakamınız olsun. Günlük satır sayısı, boyut, gecikme bütçesi. Varsayılan ölçeğinizi önce belirtmek puanlanır.
  • SQL'i elle yazın. Canlı aşamalar genellikle otomatik tamamlama ve çalıştırma olmayan sade bir editör kullanır.
  • Bir olay hikayesini iyice prova edin. Ne bozuldu, nasıl buldunuz, tekrar olmasın diye neyi değiştirdiniz.

Batch pipeline'larda altı yıllık deneyimi olan bir veri mühendisi, framework içyapısını gözden geçirerek hazırlandı, sonra "upstream kaynak dünün dosyasını yeniden gönderdi" sorusunda takıldı çünkü bunu yalnızca elle halletmişti, hiç anlatmamıştı. Bilgi oradaydı; sözlü cevap değildi. Takip sorularıyla tasarım aşamasını prova etmek, mock interview modunun tam olarak yapıldığı iştir.

SSS

Bir veri mühendisi mülakatı bir yazılım mühendisi mülakatından nasıl farklıdır?

Kodlama aşaması genellikle daha hafiftir ve tasarım aşaması servislere değil veri hareketine odaklanır. Sorular, genel bir yazılım tasarımı aşamasında nadiren görülen yeniden çalıştırmalar, geç veri ve şema değişikliği altında doğruluk etrafında döner.

Özellikle Spark'a mı ihtiyacım var, yoksa kavram yeterli mi?

Aşamanın çoğunu kavramlar taşır: shuffle'lar, skew, partitioning ve bir işin neden yavaş olduğu. İş ilanı belirli bir framework adı veriyorsa, onun çalışma modeliyle ilgili en az bir soru bekleyin, bu yüzden işiniz çalışırken ne olduğunu açıklayabilmelisiniz.

Bu mülakatlar veri modellemeyi ne kadar test ediyor?

Çoğu adayın beklediğinden fazla. Star schema'lar, fact tablo grain'i ve slowly changing dimension'lar düzenli olarak çıkar, ve mülakatçılar ders kitabı tanımı istemek yerine seçiminizin sonuçlarına odaklanır.

Adayların veri mühendisi mülakat sürecinde başarısız olmasının en yaygın sebebi nedir?

Yalnızca happy path'te çalışan bir pipeline tasarlamak. Mülakatçılar bilerek yeniden çalıştırmalar, mükerrer teslimler ve geç gelen veri ekler, ve bunlara cevabı olmayan bir tasarım genellikle başarısızlık sebebidir.

Tasarım aşamalarını tek başıma nasıl pratik ederim?

Anlatılan bir iş seçin, pipeline'ı bir zamanlayıcıyla sesli tasarlayın, sonra kendi tasarımınızı hata senaryolarıyla sorgulayın. Bir AI mock interviewer da bu aşamayı yürütüp takip sorularıyla kesebilir, ki bu gerçek baskıya daha yakındır.

İlgili sorular

← Daha fazlası: Rol ve konuya göre mülakat soruları