GMP 调度模型
「G 是协程、M 是线程、P 是处理器」—— 那为什么非要有 P?
प्रॉम्प्ट कॉपी करें, फिर कोई एक मॉडल चुनें। वह जवाब थमाने के बजाय इंटरव्यू लेने वाले की तरह दृश्य दर दृश्य आपसे पूछेगा।
जिस फ़ोन में ऐप लगा है, वहाँ सिस्टम सीधे ऐप खोल देगा। WeChat के अंदर बाहरी ऐप नहीं खुलते — पहले ब्राउज़र में खोलें।
कॉपी किए हुए पाठ के आख़िर में वही उत्तर-कुंजी है जिससे मॉडल आपको आँकता है। पहले खुद न पढ़ें — खुद तक पहुँचना ही असली बात है।
三个字母的定义是第一层。这一份从「为什么需要它」开始问:去掉中间那一个会怎样、它的数量由什么决定、为什么是那个数。
第三幕是主战场:一个 goroutine 陷进系统调用的那一刻,它占着的东西怎么处理 —— 阻塞式的和网络 IO 走的是完全不同的两条路,说得清才算过。
第四幕问抢占:一个死循环的 goroutine 会不会把整个程序卡住、是怎么被打断的。第五幕问调度器怎么把活儿匀开。按 Go 1.14+ 讲。
यह सवाल किस चीज़ पर टिका है
यह पाठ रिपॉज़िटरी में (उस फ़ाइल के अंत में कुंजी है — खोलते ही दिख जाएगी)
यह वाला कर चुके हैं?
साइन इन करके दर्ज करें कि यह अभ्यास कर लिया — अगली बार दिखेगा कि किस दिन किया था।
जिन्होंने यह किया, उनके नोट
इसे कैसे इस्तेमाल करें
यह सेट पढ़ाता नहीं, कुरेदता है। यह नक़ली इंटरव्यू है: जवाब न बचना सामान्य नतीजा है, और अटक जाने पर न यह आपको बचाएगा, न आपका वाक्य पूरा करेगा। अगर विषय समझना है, इंटरव्यू की रिहर्सल नहीं, तो «कंप्यूटर सिस्टम», «डेटाबेस» या «एल्गोरिदम» देखिए — वहाँ का रवैया राह दिखाने का है।
एक रटा-रटाया सवाल चालीस मिनट कैसे भरता है: पाँच परतों की सीढ़ी
- परत 1 · परिभाषा — हर शब्द का मतलब क्या है और फ़र्क़ क्या हैं। जवाब नहीं: आपने कभी पढ़ा ही नहीं।
- परत 2 · तंत्र — यह फ़र्क़ असल में किस ढाँचे के किस क़दम से पैदा होता है। जवाब नहीं: आपने सिर्फ़ निष्कर्ष रटा है।
- परत 3 · आँकड़े — कितना फ़र्क़? कितने माइक्रोसेकंड, कितने गुना, कितने I/O। जवाब नहीं: आपने कभी हाथ नहीं लगाया।
- परत 4 · चुनाव — किसी ठोस स्थिति में क्या चुनेंगे, क़ीमत क्या है, और वह चुनाव कब ग़लत होता है। जवाब नहीं: आप इसे लगा नहीं सकते।
- परत 5 · सीमाएँ — अभी जो कहा, वह किन हालात में टिकता नहीं। जवाब नहीं: सब रटा है, पर समझा नहीं।
कसौटी: परत 4 तक पहुँचना इंटरव्यू पास करने लायक़ है, परत 5 तक पहुँचना सच में समझना है, और जो परत 1 पर रुक जाए वह सब रटा हुआ दर्ज होता है।
छह अंक — पहला और आख़िरी सिर्फ़ इसी सीरीज़ में हैं
- पहले अंक में वह न टोकता है, न टिप्पणी करता है, न इशारा देता है: आप एक ही साँस में अपना मौजूदा जवाब सुना देते हैं और वही आधार-रिकॉर्डिंग बन जाता है। यह चुप्पी जानबूझकर है — वह सुन रहा है, बस अभी सुधार नहीं रहा।
- बीच के चार अंक सीढ़ी से नीचे उतरते हैं; असली मैदान तीसरा अंक है — तंत्र और आँकड़े।
- आख़िरी अंक साठ सेकंड की घड़ी लगाकर सब दोबारा कहलवाता है और आपके शुरुआती जवाब के साथ रखकर मिलाता है — क्योंकि इंटरव्यू में सौंपना «मैं समझता हूँ» नहीं होता, वह एक ऐसा वाक्य होता है जो आप बोलकर दिखा सकें।
शुरू कैसे करें
- एक चुनिए, खोलिए, प्रॉम्प्ट कॉपी कीजिए।
- उसे बिलकुल नई बातचीत में चिपकाइए, कुछ मत कहिए, पहले सवाल का इंतज़ार कीजिए।
- फिर इंटरव्यू की तरह जवाब दीजिए: अपना रटा हुआ जवाब एक ही साँस में सुना दीजिए। ख़राब रहे तो कोई बात नहीं — आख़िर में तुलना इसी से होनी है।
- इसके बाद कुरेदना शुरू होगा। जवाब न बचना सामान्य नतीजा है: यह पढ़ने की सामग्री नहीं, नक़ली इंटरव्यू है।
बीच में कभी भी बोले जा सकने वाले पाँच आदेश
跳过अभी अगले अंक पर चलो提示जवाब नहीं, एक इशारा दो直说吧पूरा जवाब सीधे बता दो重讲सीधे आख़िरी अंक पर जाओ, साठ सेकंड वाला जवाब दोबारा रिकॉर्ड करो और शुरुआती से मिलाओ复盘सीधे समापन पर जाओ और समीक्षा कार्ड निकालो
तीन फंदे
- जो पाठ आप कॉपी करते हैं उसके अंत में जाँचने वाली कुंजी लगी है — उसे पहले मत पढ़िए। उसमें एक ख़ाना «रटने के निशान» का है: ठीक वही वाक्य जो आपके मुँह से निकलने की सबसे ज़्यादा संभावना है। पढ़ लिया तो अभ्यास के लिए कुछ बचता ही नहीं।
- जहाँ संख्या चाहिए वहाँ विशेषण मत दीजिए। «बहुत तेज़», «ख़र्च नाम मात्र का» — वह वहीं रोककर आँकड़ा माँगेगा। जिस निष्कर्ष का परिमाण न बता सकें, वह रटा हुआ दर्ज होता है।
- आख़िरी दो समूह भाषा से बँधे हैं: Java लिखते हैं तो Java वाला, Go लिखते हैं तो Go वाला। ये एक-दूसरे का अनुवाद नहीं हैं — दोनों के सवाल अलग चुने गए हैं — इसलिए दोनों करने की ज़रूरत नहीं।
अगले हफ़्ते बैकएंड का इंटरव्यू है? प्रोसेस बनाम थ्रेड, TCP बनाम UDP, B+ ट्री क्यों, आइसोलेशन लेवल, कैश के तीन तरह से टूटने के ढंग, और आइडेम्पोटेंसी — ये छह सबसे ज़्यादा पूछे जाते हैं और आपस में लगभग नहीं टकराते। इंटरव्यू में पिट चुके हैं और कमज़ोरियाँ ढूँढनी हैं? पहले «URL डालने से पेज दिखने तक» कीजिए — यह सारी कमज़ोर कड़ियाँ एक साथ खोल देती है, फिर उसी हिसाब से आगे चुनिए।
नोट लिखने के लिए साइन इन।