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

किसी table में duplicate record आप कैसे ढूंढेंगे और हटाएंगे?

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

छोटा जवाब

पहले तय करें कि duplicate का मतलब क्या है, क्योंकि हूबहू copy और बिज़नेस वाले duplicate अलग समस्याएं हैं। उन्हें ढूंढने के लिए इच्छित key पर GROUP BY करें और HAVING COUNT(*) एक से ज्यादा से filter लगाएं। हटाने के लिए उसी key पर partition किया गया ROW_NUMBER और एक निश्चित ORDER BY इस्तेमाल करें, फिर जहां नंबर एक से ज्यादा हो उसे delete या बाहर कर दें, और सबसे नई या सबसे पूरी पंक्ति रख लें।

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

duplicate संभालना हर हफ्ते का काम है और फुले हुए मेट्रिक्स का आम स्रोत। इंटरव्यूअर देखना चाहते हैं कि आप SQL लिखने से पहले duplicate की परिभाषा साफ करते हैं, कि आप किसी कमजोर self join के बजाय window function इस्तेमाल करते हैं, और कि आप सोच समझकर चुनते हैं कि कौन सी copy रखनी है, बेतरतीब नहीं।

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

  • SQL छूने से पहले पूछें कि duplicate किसे माना जाएगा।
  • GROUP BY और HAVING COUNT एक से ज्यादा से पकड़ें।
  • किसी partition पर ROW_NUMBER और स्थिर sort से dedup करें।
  • बताएं कि कौन सी पंक्ति बचेगी और क्यों।
  • सिर्फ सफाई के बजाय ऊपर की वजह भी जांचें।

उदाहरण जवाब

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

मैं पहले पूछूंगा कि यहां duplicate का मतलब क्या है, क्योंकि पूरी तरह एक जैसी पंक्ति का आमतौर पर मतलब है कि load दो बार चला, जबकि एक ही ग्राहक की अलग अलग email वाली दो पंक्तियां data entry की समस्या हैं जिसके लिए बिज़नेस का फैसला चाहिए। उन्हें ढूंढने के लिए मैं इच्छित key पर group करता हूं और HAVING COUNT एक से ज्यादा इस्तेमाल करता हूं, जिससे समस्या का आकार भी पता चल जाता है। हटाने के लिए मैं उसी key पर partition किया गया ROW_NUMBER इस्तेमाल करता हूं, updated_at descending से ordered और tiebreaker के तौर पर primary key के साथ ताकि यह दोहराने लायक रहे, फिर row number एक रख लेता हूं। अगर मुझे delete करने की इजाजत नहीं है, तो वही logic किसी view में चला जाता है। जो हिस्सा मैं छोड़ने की कोशिश नहीं करता वह है यह पूछना कि ये आए कहां से। हर सोमवार सुबह duplicate साफ करना एक लक्षण है। पिछली बार जब मैंने इसे ट्रेस किया, तो एक retry हुआ ingestion job merge करने के बजाय append कर रहा था, और उसे ठीक करने में एक घंटा लगा और हफ्तेवार सफाई हमेशा के लिए खत्म हो गई।

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

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

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

  • duplicate पंक्तियों में से कौन सी रखनी है, यह आप कैसे तय करते हैं?
  • जब key धुंधली हो, जैसे नाम और पता, तब dedup आप कैसे करेंगे?
  • duplicate दोबारा न बनें, इसके लिए आप ऊपर की तरफ क्या जांचेंगे?

डेटा एनालिस्ट के और सवाल

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

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

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

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

GhostPilot पाएं