events को एक हल्के endpoint से Kafka या Kinesis जैसे टिकाऊ log में इकट्ठा करें, ताकि producers, consumers से अलग रहें। सीमा पर ही schema registry से validate करें और failures को dead letter topic पर भेजें। raw events को object storage में event date के हिसाब से partition करके अपरिवर्तनीय रूप से उतारें, फिर उन्हें साफ और modeled layers में transform करें। event id पर dedupe करें और हर चीज को event time पर टिकाएं।
इंटरव्यूअर यह क्यों पूछते हैं
यह खुला हुआ design सवाल है जिससे देखा जाता है कि आप सिस्टम को ढांचा कैसे देते हैं और सुरक्षा कहां लगाते हैं। इंटरव्यूअर एक टिकाऊ buffer, किनारे पर schema enforcement, replay के लिए अपरिवर्तनीय raw layer, समझदार partitioning, और duplicates तथा late data की कहानी देखते हैं। बहाव बताए बिना सीधे टूल के नाम गिनाना यहां आम गलती है।
अपना जवाब कैसे स्ट्रक्चर करें
- वॉल्यूम, latency की जरूरत, और output कौन इस्तेमाल करेगा, यह साफ करें।
- टिकाऊ और replay होने लायक log में संग्रह बताएं।
- सीमा पर schema लागू करें और dead letter रास्ता रखें।
- raw को अपरिवर्तनीय उतारें, फिर परतों में model करें।
- duplicates, late data और personal data संभालना कवर करें।
उदाहरण जवाब
मैं पहले वॉल्यूम और latency पूछूंगा, क्योंकि दिन में एक लाख events और सेकंड में एक लाख events अलग अलग सिस्टम हैं, और यह भी कि किसी को सचमुच एक मिनट से कम का डेटा चाहिए या नहीं। सामान्य product analytics मानकर चलें तो एक पतला collector endpoint Kafka में लिखता है, जो मुझे टिकाऊपन देता है और आगे किसी consumer में बग हो तो replay करने देता है। उसी सीमा पर मैं registered schema से validate करता हूं और अमान्य चीज को वजह के साथ dead letter topic पर धकेलता हूं, क्योंकि गड़बड़ events चुपचाप गिराने का मतलब है महीनों बाद पता चलना। raw events object storage में event date के हिसाब से partition होकर उतरते हैं, अपरिवर्तनीय, और वही परत सच का स्रोत है जिससे मैं कभी भी दोबारा बना सकता हूं। वहां से एक transformation layer साफ करती है, event id पर dedupe करती है, sessionize करती है, और fact तथा dimension tables में model करती है। personal data मैं ingestion पर ही संभालूंगा, user identifiers को hash करके और mapping को सीमित पहुंच वाले store में रखकर, क्योंकि यह बाद में पूरी lake रगड़ने से कहीं आसान है।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- events को आप कैसे sessionize करेंगे, और session की सीमा क्या तय करती है?
- raw layer में bot traffic को आप कैसे संभालते हैं?
- अगर client एक mobile app हो जो offline चला जाता है, तो क्या बदलेगा?
डेटा इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें