डेटा इंजीनियर इंटरव्यू सवाल

अच्छी तरह डिजाइन की गई Airflow DAG किसे कहेंगे, और review में आप कौन सी गलतियां ढूंढते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

अच्छी DAG में छोटे idempotent tasks होते हैं जिनकी dependencies साफ होती हैं, वह अपनी time window wall clock के बजाय data interval से लेती है, और भारी logic DAG file से बाहर रखती है क्योंकि वह file लगातार parse होती है। XCom से बड़ा डेटा न भेजें, worker slots घेरने वाले लंबे blocking sensors से बचें, और जो tasks मायने रखते हैं उन पर समझदार retries, timeouts और alerting रखें।

इंटरव्यूअर यह क्यों पूछते हैं

ऑर्केस्ट्रेशन के बग सिर्फ failures नहीं, चुपचाप गलत नतीजे पैदा करते हैं, इसलिए इंटरव्यूअर इससे व्यावहारिक अनुभव जांचते हैं। वे top level कोड की सफाई चाहते हैं (धीमी DAG file पूरे scheduler को गिरा देती है), data interval वाली बात चाहते हैं जो reruns को सही रखती है, और sensors तथा हद से बड़े XCom payloads से resource खत्म होने की समझ भी।

अपना जवाब कैसे स्ट्रक्चर करें

  • छोटे, idempotent और अलग से दोबारा चलाने लायक tasks के पक्ष में दलील दें।
  • समझाएं कि time window data interval से क्यों आनी चाहिए।
  • DAG file में भारी top level कोड से आगाह करें।
  • XCom की size सीमा और payload के बजाय reference भेजना बताएं।
  • retries, timeouts, SLAs और काम की alerting सेट करें।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

मुझे दो चीजों की सबसे ज्यादा परवाह है, task की बारीकी और idempotency। tasks इतने छोटे हों कि failure दोबारा चलाना सस्ता पड़े और इतने खास हों कि failure खुद बता दे क्या टूटा, और हर एक को दोबारा चलाना सुरक्षित होना चाहिए। फिर time window Airflow के दिए data interval से आनी चाहिए, कभी task के अंदर datetime.now से नहीं, वरना पिछले मंगलवार का rerun आज का डेटा process कर देगा और आपको error की जगह एक बारीक गलत जवाब मिलेगा। review में मैं सबसे ज्यादा DAG file के top level पर महंगा कोड पकड़ता हूं। वह file छोटे अंतराल पर parse होती है, इसलिए task function के बाहर पड़ा कोई API call या database query लगातार चलता है और पूरे scheduler को गिरा देता है; मैंने अकेले इसी वजह से पूरे deployment में scheduling latency में मिनटों की बढ़ोतरी देखी है। मैं XCom का इस्तेमाल भी देखता हूं, क्योंकि वह metadata table है, डेटा ढोने का जरिया नहीं, इसलिए dataframe की जगह S3 path भेजें।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • deferrable operator क्या है और वह कौन सी दिक्कत हल करता है?
  • जिस DAG को हर बार अलग अलग संख्या में files process करनी हों, उसे आप कैसे संभालेंगे?
  • production में पहुंचने से पहले किसी DAG की जांच आप कैसे करते हैं?

डेटा इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं