MVCC 是怎么实现的
「多版本,读不加锁」—— 那「多版本」具体存在哪儿?
प्रॉम्प्ट कॉपी करें, फिर कोई एक मॉडल चुनें। वह जवाब थमाने के बजाय इंटरव्यू लेने वाले की तरह दृश्य दर दृश्य आपसे पूछेगा।
जिस फ़ोन में ऐप लगा है, वहाँ सिस्टम सीधे ऐप खोल देगा। WeChat के अंदर बाहरी ऐप नहीं खुलते — पहले ब्राउज़र में खोलें।
कॉपी किए हुए पाठ के आख़िर में वही उत्तर-कुंजी है जिससे मॉडल आपको आँकता है। पहले खुद न पढ़ें — खुद तक पहुँचना ही असली बात है।
答到「读不加锁」只是起点。第二幕开始拆结构:一行数据背后挂着什么、每一版怎么串起来、判断该看哪一版靠哪几个字段。
第三幕给一个具体的并发场景要你走一遍:谁能看到谁的修改、为什么。这一层答不上来的,通常只背了结论。
第五幕问边界:哪些读根本不走这一套、长事务为什么是大忌、代价具体压在哪里。默认按 MySQL / InnoDB 讲。
यह सवाल किस चीज़ पर टिका है
यह पाठ रिपॉज़िटरी में (उस फ़ाइल के अंत में कुंजी है — खोलते ही दिख जाएगी)
यह वाला कर चुके हैं?
साइन इन करके दर्ज करें कि यह अभ्यास कर लिया — अगली बार दिखेगा कि किस दिन किया था।
जिन्होंने यह किया, उनके नोट
इसे कैसे इस्तेमाल करें
यह सेट पढ़ाता नहीं, कुरेदता है। यह नक़ली इंटरव्यू है: जवाब न बचना सामान्य नतीजा है, और अटक जाने पर न यह आपको बचाएगा, न आपका वाक्य पूरा करेगा। अगर विषय समझना है, इंटरव्यू की रिहर्सल नहीं, तो «कंप्यूटर सिस्टम», «डेटाबेस» या «एल्गोरिदम» देखिए — वहाँ का रवैया राह दिखाने का है।
एक रटा-रटाया सवाल चालीस मिनट कैसे भरता है: पाँच परतों की सीढ़ी
- परत 1 · परिभाषा — हर शब्द का मतलब क्या है और फ़र्क़ क्या हैं। जवाब नहीं: आपने कभी पढ़ा ही नहीं।
- परत 2 · तंत्र — यह फ़र्क़ असल में किस ढाँचे के किस क़दम से पैदा होता है। जवाब नहीं: आपने सिर्फ़ निष्कर्ष रटा है।
- परत 3 · आँकड़े — कितना फ़र्क़? कितने माइक्रोसेकंड, कितने गुना, कितने I/O। जवाब नहीं: आपने कभी हाथ नहीं लगाया।
- परत 4 · चुनाव — किसी ठोस स्थिति में क्या चुनेंगे, क़ीमत क्या है, और वह चुनाव कब ग़लत होता है। जवाब नहीं: आप इसे लगा नहीं सकते।
- परत 5 · सीमाएँ — अभी जो कहा, वह किन हालात में टिकता नहीं। जवाब नहीं: सब रटा है, पर समझा नहीं।
कसौटी: परत 4 तक पहुँचना इंटरव्यू पास करने लायक़ है, परत 5 तक पहुँचना सच में समझना है, और जो परत 1 पर रुक जाए वह सब रटा हुआ दर्ज होता है।
छह अंक — पहला और आख़िरी सिर्फ़ इसी सीरीज़ में हैं
- पहले अंक में वह न टोकता है, न टिप्पणी करता है, न इशारा देता है: आप एक ही साँस में अपना मौजूदा जवाब सुना देते हैं और वही आधार-रिकॉर्डिंग बन जाता है। यह चुप्पी जानबूझकर है — वह सुन रहा है, बस अभी सुधार नहीं रहा।
- बीच के चार अंक सीढ़ी से नीचे उतरते हैं; असली मैदान तीसरा अंक है — तंत्र और आँकड़े।
- आख़िरी अंक साठ सेकंड की घड़ी लगाकर सब दोबारा कहलवाता है और आपके शुरुआती जवाब के साथ रखकर मिलाता है — क्योंकि इंटरव्यू में सौंपना «मैं समझता हूँ» नहीं होता, वह एक ऐसा वाक्य होता है जो आप बोलकर दिखा सकें।
शुरू कैसे करें
- एक चुनिए, खोलिए, प्रॉम्प्ट कॉपी कीजिए।
- उसे बिलकुल नई बातचीत में चिपकाइए, कुछ मत कहिए, पहले सवाल का इंतज़ार कीजिए।
- फिर इंटरव्यू की तरह जवाब दीजिए: अपना रटा हुआ जवाब एक ही साँस में सुना दीजिए। ख़राब रहे तो कोई बात नहीं — आख़िर में तुलना इसी से होनी है।
- इसके बाद कुरेदना शुरू होगा। जवाब न बचना सामान्य नतीजा है: यह पढ़ने की सामग्री नहीं, नक़ली इंटरव्यू है।
बीच में कभी भी बोले जा सकने वाले पाँच आदेश
跳过अभी अगले अंक पर चलो提示जवाब नहीं, एक इशारा दो直说吧पूरा जवाब सीधे बता दो重讲सीधे आख़िरी अंक पर जाओ, साठ सेकंड वाला जवाब दोबारा रिकॉर्ड करो और शुरुआती से मिलाओ复盘सीधे समापन पर जाओ और समीक्षा कार्ड निकालो
तीन फंदे
- जो पाठ आप कॉपी करते हैं उसके अंत में जाँचने वाली कुंजी लगी है — उसे पहले मत पढ़िए। उसमें एक ख़ाना «रटने के निशान» का है: ठीक वही वाक्य जो आपके मुँह से निकलने की सबसे ज़्यादा संभावना है। पढ़ लिया तो अभ्यास के लिए कुछ बचता ही नहीं।
- जहाँ संख्या चाहिए वहाँ विशेषण मत दीजिए। «बहुत तेज़», «ख़र्च नाम मात्र का» — वह वहीं रोककर आँकड़ा माँगेगा। जिस निष्कर्ष का परिमाण न बता सकें, वह रटा हुआ दर्ज होता है।
- आख़िरी दो समूह भाषा से बँधे हैं: Java लिखते हैं तो Java वाला, Go लिखते हैं तो Go वाला। ये एक-दूसरे का अनुवाद नहीं हैं — दोनों के सवाल अलग चुने गए हैं — इसलिए दोनों करने की ज़रूरत नहीं।
अगले हफ़्ते बैकएंड का इंटरव्यू है? प्रोसेस बनाम थ्रेड, TCP बनाम UDP, B+ ट्री क्यों, आइसोलेशन लेवल, कैश के तीन तरह से टूटने के ढंग, और आइडेम्पोटेंसी — ये छह सबसे ज़्यादा पूछे जाते हैं और आपस में लगभग नहीं टकराते। इंटरव्यू में पिट चुके हैं और कमज़ोरियाँ ढूँढनी हैं? पहले «URL डालने से पेज दिखने तक» कीजिए — यह सारी कमज़ोर कड़ियाँ एक साथ खोल देती है, फिर उसी हिसाब से आगे चुनिए।
नोट लिखने के लिए साइन इन।