Kacam.net

दुनिया को देखें

इंटरव्यू के सवाल: एक रटा-रटाया सवाल, पाँच परत नीचे तक

सवाल वही होता है जिससे इंटरव्यूअर शुरुआत करता है — «प्रोसेस और थ्रेड में फ़र्क़ क्या है», «TCP बनाम UDP»। किताबी परिभाषा मंज़िल नहीं, शुरुआत है: पहले वह आपका रटा हुआ जवाब रिकॉर्ड करता है, फिर पाँच परत नीचे तक खींचता है, और आख़िर में साठ सेकंड में दोबारा सुनाने को कहता है।

ये प्रॉम्प्ट अभी सिर्फ़ 简体中文 में हैं।

इसे कैसे इस्तेमाल करें

यह सेट पढ़ाता नहीं, कुरेदता है। यह नक़ली इंटरव्यू है: जवाब न बचना सामान्य नतीजा है, और अटक जाने पर न यह आपको बचाएगा, न आपका वाक्य पूरा करेगा। अगर विषय समझना है, इंटरव्यू की रिहर्सल नहीं, तो «कंप्यूटर सिस्टम», «डेटाबेस» या «एल्गोरिदम» देखिए — वहाँ का रवैया राह दिखाने का है।

एक रटा-रटाया सवाल चालीस मिनट कैसे भरता है: पाँच परतों की सीढ़ी

  • परत 1 · परिभाषा — हर शब्द का मतलब क्या है और फ़र्क़ क्या हैं। जवाब नहीं: आपने कभी पढ़ा ही नहीं।
  • परत 2 · तंत्र — यह फ़र्क़ असल में किस ढाँचे के किस क़दम से पैदा होता है। जवाब नहीं: आपने सिर्फ़ निष्कर्ष रटा है।
  • परत 3 · आँकड़े — कितना फ़र्क़? कितने माइक्रोसेकंड, कितने गुना, कितने I/O। जवाब नहीं: आपने कभी हाथ नहीं लगाया।
  • परत 4 · चुनाव — किसी ठोस स्थिति में क्या चुनेंगे, क़ीमत क्या है, और वह चुनाव कब ग़लत होता है। जवाब नहीं: आप इसे लगा नहीं सकते।
  • परत 5 · सीमाएँ — अभी जो कहा, वह किन हालात में टिकता नहीं। जवाब नहीं: सब रटा है, पर समझा नहीं।

कसौटी: परत 4 तक पहुँचना इंटरव्यू पास करने लायक़ है, परत 5 तक पहुँचना सच में समझना है, और जो परत 1 पर रुक जाए वह सब रटा हुआ दर्ज होता है।

छह अंक — पहला और आख़िरी सिर्फ़ इसी सीरीज़ में हैं

  • पहले अंक में वह न टोकता है, न टिप्पणी करता है, न इशारा देता है: आप एक ही साँस में अपना मौजूदा जवाब सुना देते हैं और वही आधार-रिकॉर्डिंग बन जाता है। यह चुप्पी जानबूझकर है — वह सुन रहा है, बस अभी सुधार नहीं रहा।
  • बीच के चार अंक सीढ़ी से नीचे उतरते हैं; असली मैदान तीसरा अंक है — तंत्र और आँकड़े।
  • आख़िरी अंक साठ सेकंड की घड़ी लगाकर सब दोबारा कहलवाता है और आपके शुरुआती जवाब के साथ रखकर मिलाता है — क्योंकि इंटरव्यू में सौंपना «मैं समझता हूँ» नहीं होता, वह एक ऐसा वाक्य होता है जो आप बोलकर दिखा सकें।

शुरू कैसे करें

  1. एक चुनिए, खोलिए, प्रॉम्प्ट कॉपी कीजिए।
  2. उसे बिलकुल नई बातचीत में चिपकाइए, कुछ मत कहिए, पहले सवाल का इंतज़ार कीजिए।
  3. फिर इंटरव्यू की तरह जवाब दीजिए: अपना रटा हुआ जवाब एक ही साँस में सुना दीजिए। ख़राब रहे तो कोई बात नहीं — आख़िर में तुलना इसी से होनी है।
  4. इसके बाद कुरेदना शुरू होगा। जवाब न बचना सामान्य नतीजा है: यह पढ़ने की सामग्री नहीं, नक़ली इंटरव्यू है।

बीच में कभी भी बोले जा सकने वाले पाँच आदेश

  • 跳过 अभी अगले अंक पर चलो
  • 提示 जवाब नहीं, एक इशारा दो
  • 直说吧 पूरा जवाब सीधे बता दो
  • 重讲 सीधे आख़िरी अंक पर जाओ, साठ सेकंड वाला जवाब दोबारा रिकॉर्ड करो और शुरुआती से मिलाओ
  • 复盘 सीधे समापन पर जाओ और समीक्षा कार्ड निकालो

तीन फंदे

  • जो पाठ आप कॉपी करते हैं उसके अंत में जाँचने वाली कुंजी लगी है — उसे पहले मत पढ़िए। उसमें एक ख़ाना «रटने के निशान» का है: ठीक वही वाक्य जो आपके मुँह से निकलने की सबसे ज़्यादा संभावना है। पढ़ लिया तो अभ्यास के लिए कुछ बचता ही नहीं।
  • जहाँ संख्या चाहिए वहाँ विशेषण मत दीजिए। «बहुत तेज़», «ख़र्च नाम मात्र का» — वह वहीं रोककर आँकड़ा माँगेगा। जिस निष्कर्ष का परिमाण न बता सकें, वह रटा हुआ दर्ज होता है।
  • आख़िरी दो समूह भाषा से बँधे हैं: Java लिखते हैं तो Java वाला, Go लिखते हैं तो Go वाला। ये एक-दूसरे का अनुवाद नहीं हैं — दोनों के सवाल अलग चुने गए हैं — इसलिए दोनों करने की ज़रूरत नहीं।

अगले हफ़्ते बैकएंड का इंटरव्यू है? प्रोसेस बनाम थ्रेड, TCP बनाम UDP, B+ ट्री क्यों, आइसोलेशन लेवल, कैश के तीन तरह से टूटने के ढंग, और आइडेम्पोटेंसी — ये छह सबसे ज़्यादा पूछे जाते हैं और आपस में लगभग नहीं टकराते। इंटरव्यू में पिट चुके हैं और कमज़ोरियाँ ढूँढनी हैं? पहले «URL डालने से पेज दिखने तक» कीजिए — यह सारी कमज़ोर कड़ियाँ एक साथ खोल देती है, फिर उसी हिसाब से आगे चुनिए।

ऑपरेटिंग सिस्टम और कन्करेंसी

进程和线程的区别
「进程是资源分配的最小单位,线程是 CPU 调度的最小单位」—— 然后呢?
★★★☆☆ · लगभग 45 मिनट
同步、异步、阻塞、非阻塞
「同步就是要等,异步就是不用等」—— 这句说完,问题才刚开始。
★★★★☆ · लगभग 40 मिनट
死锁:怎么产生、怎么破、怎么查
四个条件背得滚瓜烂熟 —— 那你们代码里真的破了哪一条?
★★★☆☆ · लगभग 40 मिनट
乐观锁和悲观锁
「乐观锁假设不会冲突」—— 那你说得出你们那张表的冲突率吗?
★★★☆☆ · लगभग 35 मिनट
线程池的参数怎么定、满了会怎样
参数表说得出来的人很多,说得出这几个参数谁先谁后的很少。
★★★☆☆ · लगभग 40 मिनट

डेटाबेस

四种隔离级别、幻读到底是什么
「可重复读解决了幻读」—— 真的解决干净了吗?给个反例。
★★★★☆ · लगभग 40 मिनट
MVCC 是怎么实现的
「多版本,读不加锁」—— 那「多版本」具体存在哪儿?
★★★★☆ · लगभग 40 मिनट

कैश और मैसेजिंग

分布式锁怎么做才对
「setnx 加个过期时间就行」—— 然后它会一个一个坑问过来。
★★★★☆ · लगभग 40 मिनट

डिस्ट्रिब्यूटेड सिस्टम और आर्किटेक्चर

限流:三种算法和真实部署
三种算法都说得出来 —— 那你那个阈值是怎么定的?
★★★★☆ · लगभग 40 मिनट

Java और JVM

HashMap 的原理、它的线程不安全表现在哪
「数组 + 链表 + 红黑树,负载因子 0.75」—— 那容量为什么必须是 2 的幂?
★★★★☆ · लगभग 40 मिनट
synchronized 和 Lock、锁升级四个状态
锁升级四个状态背得出来 —— 那每一级到底省了哪一笔开销?
★★★★☆ · लगभग 40 मिनट

Go और उसका रनटाइम

GMP 调度模型
「G 是协程、M 是线程、P 是处理器」—— 那为什么非要有 P?
★★★★☆ · लगभग 40 मिनट
channel 的底层和 select
「无缓冲 channel 会阻塞」—— 它是一个长度为 0 的队列吗?
★★★★☆ · लगभग 40 मिनट
defer、panic、recover
「defer 延迟执行、后进先出」—— 那它的参数是什么时候求值的?
★★★★☆ · लगभग 35 मिनट
ये प्रॉम्प्ट ओपन सोर्स हैं मूल पाठ सार्वजनिक रिपॉज़िटरी kacam-net/hero-prompts में रखा जाता है। लगे कि कोई पर्याप्त सख़्ती से नहीं कुरेदता, या उसकी कुंजी में एक पंक्ति छूट गई है, तो जाकर बदल दीजिए — यहाँ चढ़ेगा या नहीं, यह अलग फ़ैसला है और इस तरफ़ की सूची तय करती है।