उत्तर विश्लेषण के साथ इंटरव्यू प्रश्न — 52 में से पेज 50
तर्क, कार्यान्वयन विवरण, फॉलो-अप्स और सार्वजनिक स्रोतों के साथ Offer.cc इंटरव्यू प्रश्न और उत्तर विश्लेषण का पृष्ठ 50 ब्राउज़ करें।
कोडिंग साक्षात्कार: अज्ञात लंबाई वाले स्ट्रीम से समान रूप से (uniformly) सैंपल कैसे लें?
O(k) मेमोरी के साथ सिंगल पास में k समान संभावित तत्वों को बनाए रखने के लिए रिज़र्वॉयर सैंपलिंग (reservoir sampling) का उपयोग करें, इनवेरिएंट (invariant) को सिद्ध करें और बाउंड्री केसों को संभालें।
आप एक डिस्ट्रिब्यूटेड यूनिक ID जनरेटर कैसे डिज़ाइन करेंगे?
क्षमता की सीमाओं के आधार पर Snowflake बिट लेआउट तैयार करें, क्लॉक रोलबैक, वर्कर पहचान, सीक्वेंस की समाप्ति और मल्टी-रीजन विफलताओं को संभालें, फिर UUIDv7 और सेगमेंट एलोकेशन से इसकी तुलना करें।
असंतुलित डेटा (Imbalanced Data) पर क्लासिफायर का मूल्यांकन करें
कन्फ्यूजन मैट्रिक्स, समीक्षा क्षमता (review capacity) और त्रुटि लागतों (error costs) से वर्गीकरण मेट्रिक्स और एक निर्णय थ्रेशोल्ड प्राप्त करें, फिर AUROC, प्रिसिजन-रिकॉल, कैलिब्रेशन और बेस-रेट मॉनिटरिंग की अलग-अलग भूमिकाओं को समझाएं।
कोडिंग इंटरव्यू: गैर-अतिव्यापी (non-overlapping) जॉब्स के साथ रिवॉर्ड को अधिकतम कैसे करें?
सटीक सीमाओं, प्रमाण, जटिलता और पुनर्निर्माण के साथ सॉर्टिंग, बाइनरी सर्च और डायनामिक प्रोग्रामिंग को जोड़ने के लिए वेटेड इंटरवल शेड्यूलिंग का उपयोग करें।
आप एक डिस्ट्रीब्यूटेड जॉब शेड्यूलर को कैसे डिज़ाइन करेंगे?
ऑकरेंस आइडेंटिटीज़, शार्डेड टाइम इंडेक्स और एट-लीस्ट-वन्स डिलीवरी का उपयोग करके वन-टाइम और क्रॉन जॉब्स के लिए एक मल्टी-टेनेंट शेड्यूलर डिज़ाइन करें, साथ ही सिंक्रोनाइज़्ड पीक्स, मिसफायर्स, टाइम ज़ोन, कैंसलेशन रेस और रिकवरी को हैंडल करें।
मशीन लर्निंग में डेटा लीकेज (Data Leakage) का पता लगाना और उसकी रोकथाम करना
एक प्रेडिक्शन-टाइम अनुबंध (prediction-time contract) को परिभाषित करने, टारगेट, टेम्पोरल, एंटिटी, और प्रीप्रोसेसिंग लीकेज की जाँच करने, तथा विश्वसनीय स्प्लिट्स, क्रॉस-वैलिडेशन, और अंतिम होल्डआउट मूल्यांकन तैयार करने के लिए एक फ्रॉड मॉडल का उपयोग करें।
कोडिंग इंटरव्यू: डायनेमिक ऐरे कैसे लागू करें और परिशोधित (Amortized) O(1) Append कैसे सिद्ध करें?
क्षमता इनवेरिएंट्स, ज्यामितीय वृद्धि (geometric growth), और एक परिशोधित प्रमाण का उपयोग करके एक इंडेक्स करने योग्य डायनेमिक ऐरे लागू करें और स्पेस व वर्स्ट-केस लागतों की व्याख्या करें।
एक मल्टी-चैनल नोटिफिकेशन सिस्टम डिज़ाइन करें
प्रति दिन एक अरब चैनल-डिलीवरी कार्यों को इंटरव्यू की धारणा मानते हुए, प्राथमिकता पृथक्करण (priority isolation), ईमानदार डिलीवरी स्थितियों, आउट-ऑफ-ऑर्डर कॉलबैक, पुनः प्रयासों (retries), और परीक्षण योग्य रिकवरी के साथ OTP और मार्केटिंग अभियानों दोनों के लिए एक नोटिफिकेशन सिस्टम डिज़ाइन करें।
स्ट्रीम प्रोसेसिंग में देर से आने वाले (Late) और क्रम-रहित (Out-of-Order) इवेंट्स को संभालना
इवेंट टाइम, वॉटरमार्क, अनुमत विलंबता (allowed lateness), और डिडुप्लिकेशन स्थिति का उपयोग करके प्रति घंटा राजस्व के लिए एक स्ट्रीम-प्रोसेसिंग डिज़ाइन तैयार करें, जिसमें सुधार, स्थिति की सफ़ाई (state cleanup), विफलता से पुनर्प्राप्ति (failure recovery), और ऑफ़लाइन मिलान (offline reconciliation) शामिल हैं।
कोडिंग इंटरव्यू: आप K सबसे अधिक बार आने वाले शब्द कैसे लौटाएंगे?
Top K शब्दों को O(n log k) समय में लौटाने के लिए फ़्रीक्वेंसी काउंटिंग, एक कस्टम min-heap, और एक सटीक फ़्रीक्वेंसी/लेक्सिकोग्राफ़िक कंपैरेटर का उपयोग करें।
सिस्टम डिज़ाइन इंटरव्यू: सभी क्षेत्रों (regions) में एक ग्लोबल रेट लिमिट लागू करना
ग्लोबल API लिमिट के लिए कोटा लीजिंग डिज़ाइन करें, नेटवर्क पार्टिशन के दौरान ओवरशूट को मापें, हॉट क्षेत्रों को पुनर्संतुलित (rebalance) करें, और स्पष्ट रूप से फ़ेल-ओपन या फ़ेल-क्लोज़्ड व्यवहार चुनें।
कोडिंग इंटरव्यू: ओवरलैप को अस्वीकार करने वाला कैलेंडर कैसे लागू करें?
स्पष्ट सीमाओं और जटिलता के साथ My Calendar I को हल करने के लिए हाफ-ओपन इंटरवल्स, प्रिडिसेसर व सक्सेसर लुकअप, और एक ऑर्डर्ड मैप का उपयोग करें।
कोडिंग इंटरव्यू: टू-हीप स्ट्रीमिंग मीडियन (two-heap streaming median) के बग को ठीक करें
हीप ऑर्डरिंग, साइज़, खाली स्थिति (empty-state), और ओवरफ़्लो इनवेरिएंट्स को पुनर्स्थापित करके एक ऐसे MedianFinder का निदान करें जो विपरीत इनपुट (adversarial insertions) के बाद गलत मान लौटाता है।
कोडिंग इंटरव्यू: आप O(1) मिनिमम स्टैक कैसे इम्प्लीमेंट करेंगे?
एक प्रीफिक्स-मिनिमम स्टैक बनाए रखें ताकि डुप्लिकेट मिनिमम और खाली-स्टैक व्यवहार सहित push, pop, top और getMin O(1) में चलें।
कोडिंग इंटरव्यू: एक Bloom Filter लागू करें
Bloom filter के लिए add और mightContain लागू करें, फिर फ़ॉल्स पॉज़िटिव्स, साइज़िंग, डिलीशन की सीमाओं और टेस्ट्स की व्याख्या करें।
कोडिंग इंटरव्यू: एक थ्रेड-सुरक्षित (Thread-Safe) रीड-राइट लॉक लागू करें
म्यूटेक्स और कंडीशन वेरिएबल्स के साथ एक रीड-राइट लॉक लागू करें, फिर निष्पक्षता (fairness), अपग्रेड और विफलता के मामलों का विश्लेषण करें।
कोडिंग इंटरव्यू: एक्सपायरेशन के साथ TTL कैश को लागू करना
एक टेस्ट करने योग्य TTL कैश को लागू करने के लिए हैश टेबल, एक्सपायरेशन टाइमस्टैम्प, क्लीनअप और कॉनकरेंसी नियमों का उपयोग करें।
कोडिंग इंटरव्यू: मर्ज और क्वेरी के साथ इंटरवल सेट को आप कैसे लागू करेंगे?
सीमा (boundary) और जटिलता (complexity) के तर्कों के साथ add, remove, पॉइंट लुकअप और रेंज ओवरलैप क्वेरीज़ वाले गैर-ओवरलैपिंग इंटरवल्स का एक नॉर्मलाइज़्ड सेट लागू करें।
कोडिंग इंटरव्यू: आप Update और Remove के साथ एक Mutable Priority Queue कैसे लागू करेंगे?
अपडेट करने योग्य प्रायोरिटी क्यू को लागू करने के लिए हीप, इंडेक्स मैप और लेज़ी डिलीशन का उपयोग करें, जिसमें स्थिर संबंध (stable ties), निष्कासन (removal), बासी प्रविष्टियाँ (stale entries) और जटिलता प्रमाण शामिल हैं।
कोडिंग इंटरव्यू: एक Resumable Batched Iterator को कैसे डिज़ाइन करें?
hasNext/next अनुबंध से शुरुआत करें और एक ऐसा इटरेटर डिज़ाइन करें जो रिमोट पेजों को पढ़ता है, सुरक्षित रूप से फिर से शुरू (resume) होता है, डुप्लिकेट से बचाता है, और विफलताओं को आगे भेजता है।
कोडिंग इंटरव्यू: एक Snapshot Array इम्प्लीमेंट करें
प्रति-इंडेक्स परिवर्तन इतिहास (change histories), कोएलेस्ड राइट्स (coalesced writes) और प्रिडिसेसर बाइनरी सर्च के साथ एक वर्ज़नयुक्त ऐरे डिज़ाइन करें, फिर टाइम, स्पेस और स्नैपशॉट सिमेंटिक्स को सिद्ध करें।
कोडिंग इंटरव्यू: आवश्यक न्यूनतम मीटिंग रूम
मीटिंग इंटरवल्स को समवर्ती संसाधन उपयोग में बदलें, दो-ऐरे स्वीप लाइन की मदद से न्यूनतम रूम काउंट की गणना करें, और ओवरलैप गहराई के माध्यम से इष्टतमता (optimality) सिद्ध करें; इसमें अर्ध-खुले (half-open) एंडपॉइंट्स, समान समय वाले इवेंट्स, हीप विकल्प और रूम-असाइनमेंट फॉलो-अप शामिल हैं।
कोडिंग इंटरव्यू: टोपोलॉजिकल सॉर्ट के साथ Alien Dictionary को हल करें
केवल उचित पूर्वता किनारों (precedence edges) को निकालकर एक सॉर्ट की गई शब्द सूची से अज्ञात वर्णमाला का अनुमान लगाएं। साक्षात्कार में एक पूर्ण उत्तर के लिए अमान्य-उपसर्ग नियम, चक्र पहचान, शुद्धता प्रमाण, अस्पष्टता जांच और विपरीत परीक्षण सीखें।
कोडिंग इंटरव्यू: इटरेटिव DFS के साथ द्वीपों (Islands) की संख्या गिनना
कनेक्टेड-कंपोनेंट मॉडलिंग से इन-प्लेस इटरेटिव DFS व्युत्पन्न करें, समझाएं कि पुश करते समय ही सेल्स को मार्क क्यों किया जाना चाहिए, और शुद्धता, जटिलता, बाउंड्री टेस्ट और विकल्पों को कवर करें।