मैं संसाधन/स्मृति प्रबंधन के बारे में पूछूंगा, क्योंकि यह सी ++ में एक महत्वपूर्ण विषय है, और इसे ठोस कोड की आवश्यकता नहीं है। बस एक साधारण काल्पनिक परिदृश्य को स्केच करें, और पूछें कि वे कैसे सुनिश्चित करेंगे कि कुछ महत्वपूर्ण संसाधन त्रुटियों/अपवादों के मुकाबले भी मुक्त हो जाएं। मान लें कि वे एक नेटवर्क ऐप विकसित कर रहे हैं, वे कैसे सुनिश्चित करते हैं कि हम अपने सॉकेट को सही तरीके से बंद कर दें? निस्संदेह उचित उत्तर इसे आरएआईआई ऑब्जेक्ट में लपेटना होगा, लेकिन उनसे सीधे पूछें ("आरएआईआईआई" को Google करना आसान है, जबकि उपरोक्त प्रश्न "आप संसाधनों को ठीक से कैसे जारी करेंगे" वास्तव में आपको दिखाता है कि क्या या नहीं, वे उचित तकनीकों को जानते हैं। अगर वे "कोशिश/पकड़ने में सब कुछ लपेटें" का जवाब देते हैं, तो उन्हें एक समस्या हो सकती है। और यह ढेर और ढेर के बीच मतभेदों के बारे में प्रश्नों के साथ अच्छी तरह से संबंध रखता है।
आप शायद अपवाद सुरक्षा के बारे में कुछ सरल प्रश्न भी आते हैं, जिसके लिए किसी वास्तविक कोड की आवश्यकता नहीं होती है। आम तौर पर, मैं कहूंगा कि सभी विभिन्न सी ++ मुहावरे की चर्चा एक अच्छा विचार हो सकती है, क्योंकि उनमें से कई को ज्यादा आवश्यकता नहीं है वास्तविक कोड, लेकिन अभी भी महत्वपूर्ण भाषा-विशिष्ट अवधारणाएं हैं।
देखें कि क्या वे स्मार्ट पॉइंटर्स के बारे में जानते हैं (फिर से उन्हें एक स्थिति देकर जहां स्मार्ट पॉइंटर्स कहा जाता है, और देखें कि वे समस्या को कैसे हल करेंगे), और शायद टेम्पलेट्स/मेटाप्रोग्रामिन (बाद के मामले में, शायद अगर वे जानते हैं कि फोन पर वास्तविक मेटाप्रोग्राम कोड करने की आवश्यकता के बजाय यह संभव है)
आप अपरिभाषित व्यवहार के कुछ सामान्य क्षेत्रों के बारे में भी पूछना चाहेंगे (निष्पादन के बाद ए और बी के मूल्य क्या हैं a = b++ + b++?
?), या 10 तत्वों की एक सरणी आवंटित करें, और सरणी सूचक में 10 या 11 जोड़ें, और पूछें कि प्रत्येक मामले में परिणाम क्या है (+ = 10 कानूनी है, आपको एक अतीत-अंत-सूचक सूचक देता है, + = 11 अपरिभाषित है)। या उन्हें एक परिदृश्य दें जहां उन्हें बहुत सारी वस्तुओं की प्रतिलिपि बनाने की आवश्यकता है, और पूछें कि वे ऐसा कैसे करेंगे (सादे फॉर-लूप एक समय में प्रत्येक तत्व की प्रतिलिपि बनाते हैं, memcpy या std :: copy स्पष्ट उत्तर हैं। Memcpy के साथ चेतावनी नोट करें , यह गैर-पीओडी ऑब्जेक्ट्स के लिए सुरक्षित नहीं है)
या सामान्य रूप से उनकी कोडिंग शैली के बारे में पूछें। वे इटरेटर के बारे में कैसा महसूस करते हैं? क्या वे सादे पुराने लूप पसंद करते हैं? क्या वे जानते हैं कि std :: for_each या std :: transform का उपयोग कैसे करें?
संपादित करें: लगता a = b++ + b++
(उत्तर अपरिभाषित व्यवहार, btw है) विशेष रूप से सुझाव टिप्पणियों का एक बहुत उत्पन्न। शायद लोग इसमें बहुत ज्यादा पढ़ते हैं। चूंकि ओपी ने कहा कि वह कंक्रीट (अमूर्त नहीं, और फोन पर व्याख्या/उत्तर/चर्चा करने में आसान) प्रश्न पूछना पसंद करते हैं, जो साक्षात्कारकर्ता के सी ++ कौशल के बारे में थोड़ा सा खुलासा करते हैं, और यह एक सरल है (और हाँ, शायद नाइटपीकी) इसका उदाहरण। इसके पीछे तर्क यह है कि 1) इसका एक सहज अर्थ है, जो गलत है, और 2) आपको यह समझने से पहले सी ++ के साथ अनुभव का एक निश्चित स्तर होना चाहिए। और निश्चित रूप से 3), फोन पर पूछना बहुत आसान और आसान है। किसी को भी कोड लिखने की आवश्यकता नहीं है। नहीं, यह प्रकट नहीं करेगा कि उम्मीदवार एक "महान प्रोग्रामर" है, लेकिन जैसा कि मैंने सवाल समझा, वह लक्ष्य भी नहीं था। अगर किसी को यह गलत लगता है, तो इसका मतलब यह नहीं है कि, लेकिन अगर वे इसे सही मानते हैं, तो आप निश्चित रूप से सुनिश्चित हो सकते हैं कि वे थोड़ा सी ++ जानते हैं। लेकिन अगर आप फिर से मेरा जवाब पढ़ते हैं, तो आप देखेंगे कि यह उन प्रश्नों की एक श्रेणी का एक त्वरित उदाहरण था जिसे मैंने माना जाना चाहिए। सी ++ अपरिभाषित व्यवहार से भरा है, यहां तक कि कोड में जो पूरी तरह से हानिरहित और सहज दिखता है। उम्मीदवार से को पहचानने के लिए कहा जा रहा है इसका उदाहरण उपयोगी हो सकता है, भले ही यह "उसी अभिव्यक्ति में दो बार समान चर को संशोधित करें" उपरोक्त उदाहरण, या कुछ अलग है।
जो कुछ भी आप करते हैं, कृपया माइक्रोसॉफ्ट पार्श्व-सोच पहेली प्रश्नों से मत पूछें।और यदि आप करते हैं, तो कृपया आमने-सामने साक्षात्कार में उनसे दोबारा मत पूछें। – zaratustra
ऐसा क्यों है कि मुझे कभी इस तरह के प्रश्न नहीं पूछा गया है? मेरे पास कुछ आईक्यू परीक्षण (मजेदार) हैं, लेकिन ऐसा कुछ भी नहीं है। मेरे सभी साक्षात्कार दोस्तों के बीच बातचीत की तरह रहे हैं। क्या यह सांस्कृतिक है? – Guge
@Guge: यहां वर्णित प्रासंगिक तकनीकी प्रश्नों से पूछा नहीं जा रहा है, और इसके बजाय एक अच्छी बातचीत का सहारा लेना, भर्ती पक्ष पर ज्ञान की गंभीर कमी का संकेत हो सकता है। यदि किसी स्थिति की पेशकश की जाती है, तो आप इसके बारे में दो बार सोचना चाह सकते हैं। – Reunanen