इस साइट और एसओ को पढ़ते हुए मैंने साक्षात्कार के सवालों और जवाबों की कई कहानियां देखीं, जिनमें कहा गया था कि एक उम्मीदवार को स्क्रैच से एक लिंक की गई सूची को लागू करना होगा। आमतौर पर यह FizzBuzz लिखने की तरह प्रोग्रामिंग भूमिका उम्मीदवारों के लिए एक "जिममे" अभ्यास है। यह विचार यह है कि यदि उम्मीदवार ऐसा नहीं कर सकते हैं, तो वे कार्यक्रम नहीं कर सकते हैं और लगभग तुरंत अस्वीकार कर दिया जाना चाहिए।
हालाँकि, मैं मदद नहीं कर सकता, लेकिन लगता है कि यह निम्नलिखित कारणों से एक खराब अभ्यास हो सकता है:
- आधुनिक उच्च स्तरीय भाषाएं जैसे C # और पायथन मूल रूप से सूचियों का बड़े पैमाने पर उपयोग करते हैं; अपनी स्वयं की लिंक की गई सूची ऑब्जेक्ट को लिखना केवल असामान्य परिस्थितियों में आवश्यक होगा और तब भी संभवतः बीमार होगा।
- C ++ जैसी निचले स्तर की भाषाओं में पुनरावृत्तियों / सूची कंटेनरों और ऑब्जेक्ट्स के साथ मानक लाइब्रेरी हैं।
- पहले दो बिंदुओं के प्रकाश में, कोडर स्वयं एक सूची (लिंक, डबल-लिंक्ड, आदि) को लागू करने के बारे में सोचने के बिना भी वर्षों तक जा सकते हैं। कुछ लोग वास्तव में कॉलेज के दिनों से ऐसी चीजें नहीं देख सकते हैं।
- कम्प्यूटिंग पावर भी वह कारक नहीं है जो वह वर्षों पहले था, इसलिए पॉइंटर्स के माध्यम से दक्षता वह मुद्दा नहीं है जो वह (सामान्य रूप से) करता था।
- "लिंक्ड लिस्ट उदाहरण" जैसी किसी चीज़ की एक सरल वेब खोज बहुत सारे कोड उदाहरणों को सामने लाएगी जो कि केवल याद किए जा सकते हैं और वापस बाहर जा सकते हैं, वास्तव में आवेदक की वास्तविक क्षमता का संकेत नहीं देते हैं।
मुझे कहना चाहिए कि उम्मीदवारों की समस्या को सुलझाने / महत्वपूर्ण सोच क्षमताओं के खुले-समाप्त प्रश्नों / चर्चाओं की ओर ले जाने के लिए एक लिंक की गई सूची का उपयोग करना ज्यादातर एक अच्छा साक्षात्कार अभ्यास है। किसी भी तरह से एक साक्षात्कारकर्ता वास्तव में देख सकता है कि एक आवेदक कैसा है और उन्हें कैसे लगता है कि यह व्यापक रूप से फायदेमंद है।
मुझे लगता है कि डेस्कटॉप या वेब एप्लिकेशन पर काम करने वाले प्रोग्रामरों के लिए "कोई लिंक्ड लिस्ट कोड, नो जॉब" का यह द्विआधारी दृष्टिकोण थोड़ा पुराना है। यह काफी हानिकारक भी हो सकता है; एक उम्मीदवार जो याद नहीं कर सकता कि सूची के प्रमुख के साथ ठीक से कैसे काम किया जाए, अन्यथा एक उत्कृष्ट कोडर और सह-कार्यकर्ता हो सकता है और मिश्रण में खो सकता है। विचार?
EDIT : कई (अच्छी) टिप्पणियां हैं जो यह बताती हैं कि क्या यह पूछना अच्छा या बुरा सवाल है जो नौकरी के संदर्भ पर निर्भर करता है। मैं दृढ़ता से सहमत हूं, इसलिए मुझे इस प्रश्न को फिर से लिखना चाहिए: लिंक्ड-जॉब की एक विस्तृत श्रृंखला के लिए लिंक-सूची को लागू करना एक सामान्य साक्षात्कार प्रश्न है, जैसे कि FizzBuzz जैसे प्रश्न या फैक्टरियल की गणना के लिए एक पुनरावर्ती कार्य लिखना। क्या इस प्रश्न की पर्याप्त उपयोगिता है जिसका उपयोग आमतौर पर बोर्ड भर में प्रोग्रामिंग उम्मीदवारों के मूल्यांकन के लिए किया जाता है? या "वरिष्ठ डेवलपर, एंबेडेड लिंक्ड लिस्ट्स टीम" पदों को छोड़कर पूछने के लिए एक बुरा प्रश्न माना जाना चाहिए?