पायथन इंटरव्यू प्रश्न
द्वारा Aaron Cao · अपडेट
तीन स्तरों की उम्मीद रखें: भाषा से जुड़ी मैकेनिक्स जैसे म्यूटेबिलिटी, जनरेटर और डेकोरेटर्स; रनटाइम व्यवहार जैसे GIL; और डेटा स्ट्रक्चर पर लागू कोडिंग। अधिकतर अस्वीकृतियां गलत सिंटैक्स से नहीं, बल्कि "क्यों" की कमज़ोर व्याख्या से होती हैं।
बार-बार लौटने वाले सवाल
दो सौ पायथन सवालों की सूची पर काम करना उत्पादक लगता है, लेकिन इससे इंटरव्यू का नतीजा शायद ही कभी बदलता है। यह सेक्शन फोन स्क्रीन और तकनीकी राउंड्स में बार-बार आने वाली मुट्ठी भर सवालों तक दायरे को सीमित करता है, और दिखाता है कि एक मज़बूत जवाब में क्या होना चाहिए। भाषा की कुछ ही खासियतें ज़्यादातर सिग्नल उठाती हैं।
- म्यूटेबल डिफ़ॉल्ट आर्ग्युमेंट्स।
def f(x=[])कॉल्स के बीच वैल्यूज़ क्यों जमा करता है? डिफ़ॉल्ट वैल्यूज़ का मूल्यांकन सिर्फ एक बार होता है, जब फंक्शन डिफाइन होता है, हर कॉल पर नहीं। - जनरेटर बनाम लिस्ट।
yieldलिस्ट बनाने से कब बेहतर होता है? जब सीक्वेंस बड़ा हो, या जब आप जल्दी पढ़ना बंद कर सकते हों। - डेकोरेटर्स। एक डेकोरेटर असल में क्या रिटर्न करता है, और रैपर को
functools.wrapsकी ज़रूरत क्यों पड़ती है? - GIL। CPython में CPU-बाउंड थ्रेड्स स्केल क्यों नहीं करते, और इसकी जगह आप किस तरफ रुख करते हैं?
- शैलो बनाम डीप कॉपी। जब किसी नेस्टेड स्ट्रक्चर को स्लाइस से कॉपी किया जाता है तो क्या टूटता है?
- आइडेंटिटी बनाम इक्वलिटी। शेल में छोटे इंटीजर्स पर
isटेस्ट करने से भ्रामक नतीजा क्यों मिलता है।
पास और फेल के बीच फर्क क्या करता है
दो उम्मीदवार GIL की एक जैसी सही परिभाषा दे सकते हैं, फिर भी सिर्फ एक ही आगे बढ़ता है। फर्क अक्सर दूसरे वाक्य में होता है।
एक पब्लिक क्लाउड वेंडर में L5 बैकएंड इंजीनियर पद के लिए इंटरव्यू दे रहे एक इंजीनियर से पूछा गया कि लोड के दौरान उनकी सर्विस धीमी क्यों हो जाती थी। उन्होंने GIL का नाम लिया, फिर आगे बढ़े: हॉट पाथ JSON पार्सिंग था, इसलिए थ्रेड्स सही टूल नहीं थे, और उस स्टेज को प्रोसेस पूल में शिफ्ट करने से थ्रूपुट फिर से ठीक हो गया। सिर्फ बाधा का नाम लेने पर आंशिक अंक मिले। उसे किसी फैसले से जोड़ने पर राउंड जीता गया।
हर जवाब को तीन हिस्सों में बनाएं: फीचर क्या करता है, यह क्यों मौजूद है, और आप इसे कब टालेंगे। तीसरा हिस्सा वही है जिसे ज़्यादातर उम्मीदवार छोड़ देते हैं, और यही वह है जो निर्णय क्षमता दिखाता है। कोडिंग, बिहेवियरल और सिस्टम डिज़ाइन राउंड्स से जुड़े दूसरे पेज इंटरव्यू के प्रकार के तहत रखे गए हैं।
बिना रटे तैयारी कैसे करें
जवाब पढ़ना और जवाब बोलना अलग-अलग कौशल हैं, और इनमें से सिर्फ एक की परीक्षा ली जाती है। घड़ी के सामने, ज़ोर से बोलकर, उन्हीं शब्दों में अभ्यास करें जो आप कॉल पर इस्तेमाल करेंगे।
- हर बार-बार आने वाले सवाल के जवाब को तीन वाक्यों में लिखें, फिर बिना देखे उसे बोलें।
- दो ऐसे फीचर चुनें जिन्हें आप रोज़ इस्तेमाल करते हैं और हर एक के लिए एक ईमानदार सीमा तैयार करें। अपने ही टूल्स की आलोचना कर पाना अनुभव जैसा लगता है।
- एक असली डिबगिंग कहानी लेकर आएं जहां पायथन के व्यवहार ने आपको चौंकाया और आपने वजह पता लगाई।
- अप्लाइड हिस्से का अलग से अभ्यास करें: डिक्शनरी, सेट, key फंक्शन के साथ सॉर्टिंग, और स्ट्रिंग हैंडलिंग ज़्यादातर स्क्रीन का बड़ा हिस्सा कवर करते हैं।
अगर आप असली इंटरव्यू से पहले किसी AI इंटरव्यूअर के सामने टाइम्ड प्रैक्टिस चाहते हैं, तो वह मॉक इंटरव्यू पेज पर मौजूद है।
लाइव असिस्टेंट कहां फिट बैठता है, और कहां नहीं
SubcueAI, macOS और Windows के लिए एक नेटिव डेस्कटॉप ऐप है। यह कॉल के दोनों पक्षों को कैप्चर करता है, रियल टाइम में ट्रांसक्राइब करता है, और एक फ्लोटिंग ओवरले पर एक ढांचा दिखाता है जो सिर्फ आपकी मशीन तक सीमित रहता है, इसलिए यह किसी पार्टिसिपेंट या बॉट के रूप में मीटिंग में शामिल नहीं होता। पायथन राउंड के लिए, उपयोगी आउटपुट एक स्ट्रक्चर प्रॉम्प्ट है, तैयार जवाब नहीं: बारीकियां आपकी अपनी होनी चाहिए, क्योंकि फॉलो-अप सवाल उसी कोड के बारे में होगा जिसे आपने अभी बताया।
ईमानदार सीमाएं क्षमता से ज़्यादा मायने रखती हैं। अगर आप अपनी स्क्रीन शेयर करते हैं, तो उस स्क्रीन पर जो कुछ भी है वह शेयर हो जाता है। अगर राउंड किसी प्रॉक्टर्ड असेसमेंट प्लेटफॉर्म पर, या कंपनी की मैनेज्ड डिवाइस पर चल रहा है, तो असिस्टेंट दायरे से बाहर है। सेटअप और परमिशन ट्यूटोरियल पेज पर बताए गए हैं।