अब तक मिला सबसे अच्छा इंजीनियरिंग इंटरव्यू प्रश्न

memcached “Mult” इंटरव्यू टास्क का समग्र दृष्टिकोण

  • कई लोगों को यह एक ठोस, यथार्थवादी इंजीनियरिंग अभ्यास लगता है: एक वास्तविक C कोडबेस में बदलाव करना, मौजूदा फीचर जैसा एक नया फीचर जोड़ना, और दिखाना कि आप प्रोडक्शन-स्टाइल कोड पढ़ और बढ़ा सकते हैं।
  • दूसरों को यह तकनीकी रूप से कम प्रभावशाली (“milquetoast”) लगता है और यह मुख्यतः incr का एक copy‑paste लगता है जिसमें +* बदल दिया गया है, जिससे बहुत कम “insight” मिलता है।

यह प्रश्न वास्तव में क्या जांचता है

  • समर्थकों का कहना है कि यह जांचता है:
    • किसी अपरिचित कोडबेस में जल्दी नेविगेट करना।
    • अति-डिज़ाइन करने के बजाय मौजूदा पैटर्न का पुन: उपयोग करना।
    • ऐसा कोड लिखना जो compile हो, चले, और आसपास की style में फिट बैठे।
  • आलोचकों का तर्क है कि यह अप्रत्यक्ष रूप से यह भी जांचता है:
    • environment setup skills (C toolchain, build system)।
    • गति के पक्ष में वैध चिंताओं (locking, overflow, performance) को अनदेखा करने की क्षमता।
  • कुछ लोग इस बात पर ज़ोर देते हैं कि कई उम्मीदवार “bare minimum” भी नहीं दे पाते, इसलिए यह एक अच्छा filter है।

Overengineering बनाम pragmatism (“Type 1 vs Type 2”)

  • एक पक्ष “Type 1” (locks, races, design का गहन विश्लेषण) को अच्छा engineering मानता है और “copy‑paste and tweak” को खराब practice, खासकर memcached जैसी high-performance system में।
  • दूसरा पक्ष “Type 1” को analysis paralysis और “Type 2” (clone incr/decr, operators बदलना, tests जोड़ना) को व्यावहारिक, senior-engineer व्यवहार मानता है।
  • overflow और non-commutativity जैसी समस्याओं पर विवाद उठते हैं; कुछ लोग insist करते हैं कि इन्हें address करना चाहिए, जबकि दूसरे जवाब देते हैं कि add/sub/append/set/delete में भी इसी तरह की caveats हैं और task का scope जानबूझकर सीमित है।

समय, दबाव, और compensation

  • “तीन घंटे” वाली बात पर काफ़ी बहस होती है:
    • कुछ कहते हैं कि यह 30–60 मिनट का task है और तीन घंटे उदार हैं।
    • दूसरे किसी भी 3-hour+ unpaid exercise को नहीं करना चाहते, खासकर जब कई कंपनियों में apply कर रहे हों।
  • इस तरह के deep-work assessment के लिए candidates को pay करने की मांग भी होती है; दूसरे जवाब देते हैं कि जब तक पर्याप्त लोग इसे स्वीकार करते रहेंगे, कंपनियाँ बदलाव नहीं करेंगी।

अन्य interview styles और professions से तुलना

  • जो लोग realistic work samples पसंद करते हैं, उनके लिए यह LeetCode/brainteasers से कहीं बेहतर माना जाता है।
  • आलोचक नोट करते हैं कि यह फिर भी interview pressure को बढ़ाता है और timed solo tasks में अच्छा प्रदर्शन न करने वाले अच्छे engineers को बाहर कर सकता है।
  • कुछ लोग अन्य professions से तुलना करते हैं: उनमें से कई degrees, licensing, या practical demos का उपयोग करते हैं, न कि ad-hoc coding tests; software में standardized certification नहीं है, इसलिए कंपनियाँ इस तरह के exercises पर निर्भर करती हैं।