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

window function क्या है, और वह GROUP BY से कैसे अलग है?

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

छोटा जवाब

window function मौजूदा पंक्ति से जुड़ी पंक्तियों के एक समूह पर गणना करता है पर उन्हें समेटता नहीं, तो हर पंक्ति बची रहती है और आपको एक गणना किया हुआ column मिल जाता है। GROUP BY पंक्तियों को समेटकर हर समूह की एक पंक्ति बना देता है। इसका मतलब है कि आप हर order को उसी नतीजे में उस ग्राहक के कुल खर्च के साथ दिखा सकते हैं, जिसके लिए GROUP BY में एक subquery और वापस join करना पड़ता।

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

window function बुनियादी और मध्यम स्तर के SQL के बीच की लकीर हैं, और एनालिस्ट का ज्यादातर असली काम (running total, ranking, अवधि की तुलना, deduplication) इन्हीं पर टिका है। इंटरव्यूअर वह न समेटने वाली बात चाहते हैं, PARTITION BY बनाम ORDER BY की सही समझ, और आदर्श रूप से यह जानकारी कि window frame के डिफॉल्ट नतीजा बदल देते हैं।

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

  • मुख्य फर्क से शुरू करें: पंक्तियां बची रहती हैं, समेटी नहीं जातीं।
  • PARTITION BY को समूह और ORDER BY को क्रम के रूप में समझाएं।
  • अपने लिखे हुए दो तीन असली इस्तेमाल बताएं।
  • frame clause और ORDER BY मौजूद होने पर डिफॉल्ट का जिक्र करें।

उदाहरण जवाब

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

मुख्य फर्क यह है कि GROUP BY समेटता है और window function नहीं। window के साथ मैं हर पंक्ति रखता हूं और एक ऐसा column जोड़ता हूं जो तय पड़ोसियों के समूह पर गणना करके बना हो, तो मैं हर transaction के बगल में उस ग्राहक का running total बिना किसी self join के दिखा सकता हूं। PARTITION BY बताता है कि कौन सी पंक्तियां एक ही window में हैं, तो partition by customer_id, और ORDER BY उसके भीतर का क्रम तय करता है, जिससे running total और lag वाली तुलना काम करती हैं। मैं इन्हें लगातार इस्तेमाल करता हूं: हर entity का सबसे नया record चुनने के लिए row_number, महीने दर महीने बदलाव के लिए lag, cumulative revenue के लिए किसी ordered partition पर sum। जानने लायक बात frame है। जैसे ही आप ORDER BY जोड़ते हैं, डिफॉल्ट frame partition की शुरुआत से मौजूदा पंक्ति तक होता है, जो running total के लिए तो बिल्कुल वही है जो आप चाहते हैं पर पूरे partition के total के लिए नहीं। अगर मुझे हर पंक्ति पर समूह का total चाहिए, तो मैं ORDER BY छोड़ देता हूं या frame साफ साफ तय कर देता हूं।

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

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

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

  • डिफॉल्ट window frame क्या है और वह लोगों को कब चौंकाता है?
  • SQL में सात दिन का moving average आप कैसे निकालेंगे?
  • क्या आप किसी window function के नतीजे पर सीधे filter लगा सकते हैं?

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

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

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

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

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

GhostPilot पाएं