Data Engineer
Kafka görevi: üretici ürün fiyatı değişikliklerini gönderiyor (200 ruble, sonra 300 ruble), tüketici 3 podda çoğaltılmıştır. Varsayılan yapılandırmada sorunlar olacak mı?
Girişte meta verileri sağlıyoruz ve bu, bu meta verilere dayanarak bir akış oluşturuyor — bu, mevcut akışların eski sistemlerden planlanana hızlı bir şekilde nasıl taşınmasını sağlar?
Spark'ta shuffle'ın tehlikesi nedir?
Veri kalitesi riskleri nelerdir?
Kaynak sürekli değişiyorsa, orijinal ("canlı") ve hedef tablolar nasıl karşılaştırılır?
Veri bölümlendirmesi nedir ve tabloyu tamamen taramayı nasıl önler?
Mümkün olan en geniş biçimde pencere fonksiyonlarını tanımlayın: hangi anahtar kelimeler kullanılır ve her biri ne işe yarar.
Ne oldu ve çalışmayı nasıl geri getirebilirsiniz?
Duck typing nedir?
Partitioning hakkında bana anlat. Hangi ilginç işlemleri yapmak zorunda kaldın?
Partition türleri nelerdir?
ClickHouse'da birincil anahtar nedir ve geleneksel veritabanlarındaki birincil anahtardan nasıl farklıdır?
SQL sorgularını optimize etme konusunda deneyiminiz var mı? Bir örnek verin.
Spark'ta broadcast join nedir?
Spark'taki Catalyst optimizeörü nedir ve hangi belirli optimizasyonları yapar (örneğin, predicate pushdown)?
Kaynaktan artış yakalama algoritmasını, yükleme frekansı değiştirildiğinde hiçbir şeyin kaybolmaması için detaylandırın.
Data Vault'ta belirli bir satırın hangi DAG çalışmasında göründüğünü nasıl takip edilir?
Git ana deposunun tarihinde kritik öneme sahip gizli veriler içeren commitler olduğunu fark ettiniz. Bu verilerin tüm depo geçmişinden tamamen silinmesi gerekiyor. Aşağıdaki stratejiyi kullanmanın ne kadar doğru ve güvenli olacağını değerlendirin: Mevcut dosya sürümünden gizli verileri silen yeni bir commit oluşturun ve bunu main'e gönderin. - Doğru, ama en iyi değil. Commitleri geri almak için git revert kullanmak daha iyidir - Koşullu olarak doğru. Bu, verilerin silinmesi için daha radikal bir yöntem bulunana kadar geçici bir çözümdür - Yanlış ve güvensiz. Veriler mevcut sürümden silinecek, ancak depo geçmişinde erişilebilir kalacaktır - Yanlış. Bu commit, diğer dallarla birleştirme sırasında yeni çatışmalara yol açabilir - Doğru ve güvenli. Bu yöntem, verilerin silindiğinden emin olmanızı sağlar ve tekrar depo üzerinde görünmeyecektir
Projede, tüm dallarda güvenlik açığını en az riskle giderme stratejisi nedir? - Sorunlu commit ve kısmen düzeltmiş olan tüm commitler için revert commitleri oluşturmak, ardından tam düzeltme ile yeni bir commit yapmak - Sorunlu commit'ten önceki bir noktadan hotfix dalı oluşturmak, düzeltmeleri yapmak ve bu dalı tüm etkilenmiş dallarla birleştirmek - Ana dalda git revert abc123 kullanarak tek bir düzeltici commit oluşturmak ve ardından bu commit'i tüm sürüm dallarına cherry-pick yapmak - Sorunlu kodu tam olarak belirlemek için git bisect kullanmak, bir yama oluşturmak ve bunu git am ile tüm dallara uygulamak - Her dalda sorunlu commit'i düzenlemek için git rebase -i kullanmak, ardından zorunlu push (force-push) yapmak
Üretimde en son çözdüğünüz Python görevi nedir?