Top System Design Interview Questions 1521276
सिस्टम डिज़ाइन साक्षात्कार प्रश्न और नमूना उत्तर। एक सिस्टम डिज़ाइनर साक्षात्कार आपके अनुभव और क्षमताओं को साझा करने के साथ-साथ जटिल सिस्टम बनाने की आपकी क्षमता को प्रदर्शित करने का एक अवसर है। आप मौलिक डिज़ाइन सिद्धांतों पर शोध करके और काल्पनिक डिज़ाइन से संबंधित प्रश्नों के उत्तर तैयार करके अपने नौकरी साक्षात्कार की तैयारी कर सकते हैं।
सिस्टम डिज़ाइन साक्षात्कार कैसे आयोजित किया जाता है?
शैक्षणिक संदर्भ पत्र (1)कृपया जावास्क्रिप्ट सक्षम करें
आपको कैसे पता चलेगा कि एक केला कब पक गया हैशैक्षणिक संदर्भ पत्र (1)
एक सिस्टम डिज़ाइन साक्षात्कार उम्मीदवारों को प्रदान करने के लिए आयोजित किया जाता है - जैसे कि प्रोग्रामर, डिज़ाइनर, डेवलपर्स और सॉफ़्टवेयर इंजीनियर - एक व्यवसाय के सामने आने वाली वास्तविक दुनिया की समस्या के समाधान के लिए अपने ज्ञान को लागू करके अपने पेशे में अपनी विशेषज्ञता प्रदर्शित करने का पर्याप्त अवसर प्रदान करते हैं।
आमतौर पर, सिस्टम डिज़ाइन साक्षात्कार साक्षात्कार प्रक्रिया में बाद में होता है। यह सर्वोत्तम संभावित समाधानों तक पहुंचने के लिए ओपन-एंडेड प्रश्नों के उपयोग के माध्यम से एक टीम में काम करने की आपकी क्षमता और समस्या-समाधान के प्रति आपके दृष्टिकोण को निर्धारित करने का एक परीक्षण है। एक सिस्टम डिज़ाइन साक्षात्कार मुद्दों को हल करने और ग्राहकों की सहायता के लिए सिस्टम विकसित करने के आपके तरीके की जांच करता है। यह आपके लिए नियुक्ति प्रबंधक और संभावित टीम के सदस्यों को यह प्रदर्शित करने का अवसर है कि आप एक उपयोगी व्यक्ति हैं और अपनी प्रतिभा और विशेषज्ञता को ठोस तरीके से प्रदर्शित कर सकते हैं।
सिस्टम डिज़ाइन साक्षात्कार प्रश्न
सिस्टम डिज़ाइन साक्षात्कार प्रश्न:
- आप Node.js का उपयोग करके एक वेंडिंग मशीन कैसे डिज़ाइन करेंगे?
- आप URL छोटा करने वाली सेवा कैसे डिज़ाइन करेंगे?
- आप यातायात नियंत्रण प्रणाली कैसे डिज़ाइन करेंगे?
- आप ट्रेडिंग सिस्टम के लिए लिमिट ऑर्डर बुक कैसे डिज़ाइन करेंगे?
- आप एक वितरित कंप्यूटर सिस्टम कैसे डिज़ाइन करेंगे?
- आप वीडियो स्ट्रीमिंग सेवा कैसे डिज़ाइन करेंगे? नोट: यह एक वैश्विक वीडियो स्ट्रीमिंग सेवा होनी चाहिए।
- आप अपना खुद का इंस्टाग्राम कैसे बनाएंगे?
- आप वैश्विक फ़ाइल-साझाकरण सेवा कैसे बनाएंगे?
- आप ट्विटर क्लोन कैसे डिज़ाइन करेंगे?
- आप एक लोड संतुलन सेवा कैसे डिज़ाइन करेंगे जो वैश्विक चैट सेवा का समर्थन करती हो?
- आप कैसे डिज़ाइन करेंगे? एपीआई वेब सर्वर के लिए दर सीमक?
- आप वैश्विक फ़ाइल संग्रहण प्रणाली कैसे बनाएंगे?
सिस्टम डिज़ाइन के बारे में साक्षात्कार प्रश्न और उत्तर
आमतौर पर, सिस्टम डिज़ाइन प्रश्न आपको अपनी योग्यता प्रदर्शित करने की अनुमति देने के लिए अस्पष्ट होते हैं। उत्तर देने से पहले, आप दायरा कम करने, दिशा प्रदान करने और किसी अपेक्षा को स्पष्ट करने में सहायता के लिए प्रश्न पूछ सकते हैं।
आप TinyURL के लिए एक सिस्टम कैसे विकसित करेंगे?
TinyURL एक URL छोटा करने वाली सेवा है जो ग्राहकों को एक लंबा URL सबमिट करने और बदले में एक छोटा, अद्वितीय URL प्राप्त करने की अनुमति देती है। एक नियुक्ति प्रबंधक आपके मजबूत डिजाइन आधार को प्रदर्शित करने के लिए यह पूछ सकता है। आप नमूना उत्तर में शामिल नहीं किए गए अन्य मूलभूत सिद्धांतों पर ध्यान केंद्रित कर सकते हैं, जैसे कि प्रत्येक यूआरएल के लिए एक अद्वितीय आईडी कैसे उत्पन्न करें, पुनर्निर्देशन को कैसे संभालें, और समाप्त हो चुके यूआरएल को कैसे मिटाएं।
उदाहरण
'जब मैंने एक सार्वजनिक त्वरित संदेश सेवा के लिए काम किया, तो मुझे एक सरल प्रणाली विकसित करने का काम सौंपा गया, जिसमें प्रत्येक संदेश 140 अक्षरों तक सीमित था।' इसके अतिरिक्त, इसमें लगभग 30 अक्षरों के काटे गए यूआरएल का उपयोग अनिवार्य किया गया है। यह TinyURL तकनीक तब भी फायदेमंद होती है जब हाइपरलिंक को ई-मेल या स्मार्टफोन पर मैन्युअल रूप से दर्ज किया जाता है, जहां त्रुटि की संभावना होती है। TinyURL हैशटैग तालिका का एक उत्कृष्ट उदाहरण है। यह डेटा संरचना एक सरल कनेक्शन कोड है जो कुंजियों को मानों के साथ जोड़ता है। मैं इस सरल 16-बिट हैश तालिका का उपयोग करके प्रयोज्यता को अधिकतम करने और सिस्टम की आवश्यकताओं को पूरा करने में सक्षम था।'
संत जूड प्रार्थना 9 दिन
यदि आप प्रभारी होते तो आप एक खोज इंजन का निर्माण कैसे करते?
कभी-कभी, व्यवस्थित तरीके से किसी वस्तु या महत्वपूर्ण कार्मिक जानकारी का पता लगाने के लिए किसी व्यवसाय के एक ही विभाग में खोज इंजन की आवश्यकता होती है। नियुक्ति प्रबंधक यह देखना चाहते हैं कि आप डिज़ाइन को कंपनी की विशिष्ट आवश्यकताओं के अनुरूप ढाल सकते हैं। नीचे दी गई नींव का उपयोग करके, आप सामान्य वास्तुकला के पहलुओं को विस्तार से और समझा सकते हैं। इसके अतिरिक्त, आप किसी अन्य प्रासंगिक विषय पर चर्चा कर सकते हैं, जैसे वेबसाइट फ्रंट-एंड प्रदर्शन, खोज इंजन अनुकूलन परीक्षण, और पूर्व खोज डेटा और रुझानों का अनुक्रमण एकीकरण।
उदाहरण
'यहां आने से पहले, मैं इसी तरह के प्रोजेक्ट पर काम कर रहा था।' जिस खोज इंजन को विकसित करने का काम मुझे सौंपा गया था, उसे कीवर्ड खोजों का समर्थन करना आवश्यक था। मैंने एक इंडेक्सर विकसित करने से शुरुआत की, सॉफ्टवेयर का एक टुकड़ा जो वेब को क्रॉल करता है और डेटा संरचना में परिणाम देता है। क्रॉलर वेब पेज लिंक को सेट में समूहित या डंप करेगा। वस्तुओं को अलग करने के लिए इंडेक्सर को कमी प्रक्रिया के हिस्से के रूप में चलाया गया था। प्रदर्शन उद्देश्यों के लिए प्रत्येक वेबसाइट पर लिंक की संख्या की गणना और जांच की गई। मैंने क्रॉल को H1 और H2 के लिए कॉन्फ़िगर किया है, H3 के लिए नहीं। फिर, स्पैमर से बचने के लिए, मैंने आउटबाउंड लिंक सत्यापित किए। अंत में, मैंने यह सुनिश्चित करने के लिए सेवारत आँकड़ों की जाँच की कि डिज़ाइन चरम क्षमता और प्रासंगिकता पर काम कर रहा है।'
वेब क्रॉलर को कैसे डिज़ाइन किया जाना चाहिए और इसका उपयोग कब किया जाना चाहिए?
क्रॉलर एक प्रोग्राम है जो अन्य वेबसाइटों पर जाता है और उनकी सामग्री पढ़ता है। इस डेटा का उपयोग किसी खोज इंजन के लिए सूचकांक प्रविष्टियाँ उत्पन्न करने के लिए किया जाता है। इसे अक्सर 'बॉट' या 'मकड़ी' के रूप में जाना जाता है। सुनिश्चित करें कि आपका स्पष्टीकरण दर्शाता है कि आप वेब क्रॉलिंग की जटिलताओं को समझते हैं।
उदाहरण
'हालांकि वेब को क्रॉल करना एक कठिन काम है, मैं पिछले असाइनमेंट के लिए इसे बनाने में सक्षम था।' क्रॉलर एक विशिष्ट उद्योग से डेटा खींचता है, इस उदाहरण में, फ़ैशन। मुझे एक यूआरएल डिस्पैचर को शामिल करने की ज़रूरत थी, एक सर्वर जिसे बड़ी संख्या में सर्वरों में बीज यूआरएल प्रसारित करने का कार्य सौंपा गया था। इसके बाद, क्रॉल पर्यवेक्षक ने बनाई गई मैसेजिंग कतार के माध्यम से बॉट्स को यूआरएल वितरित किया। स्पाइडर, जो सभी क्रॉलर्स के लिए आधार के रूप में कार्य करता है, वेब पेज से डेटा निकालता है और इसे मेरे फ़ाइल सिस्टम में संग्रहीत करता है। इसके बाद, डेटाबेस में भंडारण की तैयारी के लिए एक्सट्रेक्ट, ट्रांसफॉर्म और लोड (ईटीएल) प्रक्रिया ने सामग्री को साफ और स्वरूपित किया। इस तरह, मैं आवश्यक जानकारी खोजने और व्यवस्थित करने के लिए वेब को क्रॉल करने में सक्षम हो गया।'
साझा डिस्क को कैसे डिज़ाइन किया जाना चाहिए?
भर्ती करने वाले प्रबंधक इसका उपयोग एल्गोरिदम के मूल सिद्धांतों और इतिहास में जाने के लिए करते हैं। शुरू करने से पहले, सुनिश्चित करें कि आप कार्य के लक्ष्य को समझते हैं। यह जानना कि क्या परिवर्तन वास्तविक समय में दर्ज किए जाएंगे, क्या लॉकिंग की आवश्यकता होगी, और क्या सिस्टम स्वाभाविक रूप से अभिसरण होना चाहिए, आपको संपूर्ण प्रतिक्रिया प्रदान करने में सहायता करेगा।
उदाहरण
'यह सिस्टम डिफरेंशियल सिंक्रोनाइज़ेशन का उपयोग करके संचालित होता है।' यह एक ही दस्तावेज़ की दो या दो से अधिक प्रतियों को वास्तविक समय में समन्वयित रखने की प्रक्रिया है ताकि जब एक संस्करण को संशोधित किया जाए, तो अन्य संस्करणों को भी संशोधित किया जा सके। हालांकि यह एक कठिन कार्य है, अंतर सिंक्रनाइज़ेशन स्केलेबल और दोष-सहिष्णु है। तीन तरीकों का अक्सर उपयोग किया जाता है: स्वामित्व, इवेंट पासिंग, और तीन-तरफ़ा विलय। हमारे एक ग्राहक के लिए आंतरिक दस्तावेज़ साझाकरण की सुविधा के लिए हाल ही में मुझे यह कार्य करने की आवश्यकता थी। वे वास्तविक समय में सहयोग चाहते थे, और तीन-तरफ़ा विलय को इस तथ्य के कारण खारिज कर दिया गया था कि परिवर्तन खो गए हैं और गंभीर टकरावों की लगातार घटना के कारण प्रभावी नहीं हो सकते हैं। मैंने वास्तविक समय सहयोग को सक्षम करने के लिए इवेंट-पासिंग का उपयोग किया, क्योंकि लॉकिंग या स्वामित्व दृष्टिकोण दस्तावेज़ में परिवर्तन को इसे खोलने वाले पहले व्यक्ति तक सीमित कर देगा। इससे हमारे ग्राहकों को फायदा हुआ क्योंकि इससे कर्मचारियों को तब भी सहयोग करने में मदद मिली जब वे कार्यालय से बाहर थे या अलग-अलग शेड्यूल पर थे।'
1222 . का बाइबिल अर्थ
अपशिष्ट प्रबंधन प्रणाली के डिज़ाइन के लिए क्या आवश्यक है?
कचरा संग्रहण यह गारंटी देता है कि जावा सिस्टम ठीक से चलता है और प्रोग्रामर को इसे मैन्युअल रूप से करने की आवश्यकता से राहत देता है। नियुक्ति प्रबंधक यह जानना चाहते हैं कि आप अनेक प्रणालियों की बारीकियों को समझते हैं। एक कचरा संग्रहकर्ता (जीसी) कंप्यूटर में मेमोरी उपयोग को अनुकूलित करता है।
उदाहरण
'मेरे नवीनतम ग्राहकों में से एक को अतिरिक्त मेमोरी की आवश्यकता है, हालांकि मेमोरी डीलोकेशन से लगातार निपटने में एक समस्या थी।' कचरा संग्रहण का उद्देश्य यह भ्रम पैदा करना है कि किसी सिस्टम में मेमोरी की अनंत मात्रा है। वास्तव में, सिस्टम मेमोरी का पुनरुत्पादन कर रहा है। जब कोई सिस्टम प्रतिक्रिया देने में धीमा होता है, तो एक कचरा संग्रहकर्ता प्रवेश करता है और उन वस्तुओं को इकट्ठा करता है जो अब उपयोग में नहीं हैं। मैंने उनके सिस्टम को इस तरह से कॉन्फ़िगर किया है कि कोई भी आइटम जो संदर्भित या पुनरावर्ती प्रकृति का है, बना रहता है। उसके बाद, यह सावधानीपूर्वक आगे बढ़ता है और उन सभी चीजों को चिह्नित करता है जिनका संदर्भ नहीं दिया गया है और केवल उन्हें ही हटाता है। शून्य कमांड के साथ मार्क और स्वीप दृष्टिकोण का उपयोग करने से उस मेमोरी को दोबारा उपयोग में लाया जा सकता है और खोला जा सकता है जो अब उपयोग में नहीं है। इसके लागू होने से, मेरे ग्राहक को एक तेज़ प्रणाली से लाभ हुआ जिसके लिए कम रखरखाव की आवश्यकता होती है।'
सिफ़ारिश प्रणाली बनाने का सबसे अच्छा तरीका क्या है?
उपयोगकर्ता अनुशंसा प्रणालियों से लाभान्वित होते हैं क्योंकि वे उन्हें अधिक कुशलता से वह ढूंढने में सक्षम बनाते हैं जो वे खोज रहे हैं। वे विकल्प प्रदान करके और चयन की अनुमति देकर ग्राहकों और ग्राहकों की सहायता करते हैं। नियुक्ति प्रबंधक यह निर्धारित करने के लिए सवाल करते हैं कि क्या आप उपयोगकर्ता के अनुकूल और केंद्रित सिस्टम विकसित करने में सक्षम हैं।
खरोंच से खेत की ड्रेसिंग कैसे करें
उदाहरण
'उदाहरण के लिए, मेरे पहले और सबसे समर्पित ग्राहकों में से एक को एक कठिनाई का सामना करना पड़ा क्योंकि उनके ग्राहक उनकी वेबसाइट पर विकल्पों की पहचान करने में विफल रहे। वस्तु का पता लगाने के लिए उनकी खोज सटीक होनी चाहिए। मैंने प्रस्ताव दिया कि हम ग्राहकों की खुशी और संभावित रूप से राजस्व बढ़ाने के लिए एक अनुशंसा प्रणाली का निर्माण करें। मैंने सहयोगात्मक फ़िल्टरिंग के सबसे प्रचलित दृष्टिकोण का उपयोग करते हुए, अपने ग्राहकों को उपयोगकर्ता समानता के आधार पर विचार प्रदान करने के लिए एक प्रकार की सूचना टेपेस्ट्री बुनने के लिए प्रणाली बनाई। सिस्टम की प्रयोज्यता में सुधार हुआ और परिणामस्वरूप मेरे ग्राहक की बिक्री में 10% की वृद्धि हुई।'
सिस्टम डिजाइनरों के लिए साक्षात्कार सलाह
आपको अपने साक्षात्कार के लिए अधिक सुरक्षित और तैयार महसूस करने में मदद करने के लिए उपरोक्त बुनियादी सिस्टम डिज़ाइन साक्षात्कार प्रश्नों पर अपनी प्रतिक्रियाओं पर विचार करते समय निम्नलिखित अनुशंसाओं का मूल्यांकन करें:
स्टार प्रतिक्रिया रणनीति का उपयोग करें
अपने प्रश्नों को प्रारूपित करने के लिए स्टार साक्षात्कार प्रतिक्रिया तकनीक का उपयोग करने से आप ऐसी प्रतिक्रियाएँ डिज़ाइन कर सकते हैं जो अद्वितीय अनुभवों के माध्यम से आपके ज्ञान और योग्यता को प्रदर्शित करती हैं। संक्षिप्त नाम STAR का अर्थ स्थिति, कार्य, कार्रवाई और परिणाम है। लागू परिस्थिति पर चर्चा करें, कार्य को परिभाषित करें, आपके द्वारा किए गए कार्यों का विवरण दें, और स्टार दृष्टिकोण का उपयोग करके साक्षात्कारकर्ता को अपनी प्रतिभा प्रदर्शित करने के अपने प्रयासों के परिणाम को उजागर करें।
उद्देश्यों को पहचानें
यह सुनिश्चित करने के लिए स्पष्ट पूछताछ करें कि उपयोगकर्ता कौन होंगे, उन्हें क्या आवश्यकता होगी, और सिस्टम के इनपुट और आउटपुट। इन बुनियादी बातों के बारे में पूछताछ करने से आपको अपने प्रयासों पर ध्यान केंद्रित करने में मदद मिलेगी और आपकी उत्पाद संवेदनशीलता और टीम वर्क प्रदर्शित होगा।
अपने लाभ के लिए अपने अनुभव का उपयोग करें
आप विचारों और विशेषज्ञता का एक ऐसा सेट सामने लाते हैं जिसे कोई और नहीं ला सकता। आप जो वांछित मानते हैं उसे पूरा करने का प्रयास करने के बजाय, अपनी विशेषज्ञता का प्रदर्शन करें और प्रदर्शित करें कि आप अपनी क्षमताओं और क्षमताओं के परिणामस्वरूप क्यों आवश्यक और अपूरणीय हैं।
अभ्यास महत्वपूर्ण है
इन तरीकों को लागू करते समय डिज़ाइन साक्षात्कार प्रक्रिया को दोहराने का अवसर आपमें आत्मविश्वास पैदा करेगा, और विषय के साथ आपका ज्ञान आपकी योग्यताओं को उजागर करेगा। किसी मित्र, परिवार के सदस्य का साक्षात्कार लेने या दर्पण के सामने समय व्यतीत करें।
मैं सिस्टम डिज़ाइन साक्षात्कार के लिए तैयारी कैसे करूँ?
जटिल सिस्टम डिज़ाइन साक्षात्कार प्रश्नों का उत्तर देने के लिए तैयार रहें। मॉक साक्षात्कार का अभ्यास करें और उद्योग में काम करने वाले दोस्तों से अपने साथ साक्षात्कार सत्र में भाग लेने के लिए कहें जैसे कि आप एक सॉफ्टवेयर इंजीनियर थे जो साक्षात्कार प्रक्रिया से गुजर रहे थे।
क्या सिस्टम डिज़ाइन साक्षात्कार कठिन है?
हाँ। वे हो सकते है। यदि आप तैयार नहीं हैं तो सिस्टम डिज़ाइन पदों के लिए साक्षात्कार में सफल होना बेहद कठिन है। मुद्दों का दायरा बहुत बड़ा है, उनके कई व्यावहारिक उत्तर हैं और बुनियादी प्रणालियों के पर्याप्त ज्ञान की आवश्यकता है। इसलिए, यदि आप किसी शीर्ष प्रौद्योगिकी व्यवसाय में पद के लिए विचार किया जाना चाहते हैं, तो आपको निश्चित रूप से सिस्टम डिज़ाइन साक्षात्कार पास करने की आवश्यकता होगी।
आप सिस्टम डिज़ाइन के बारे में क्या सोचते हैं?
यह एक प्रमुख प्रश्न है जो सभी पेशेवरों से पूछा जाता है। यहां चरण दिए गए हैं:
- आवश्यकताओं को इकट्ठा करें.
- एक सिस्टम इंटरफ़ेस परिभाषा बनाएं.
- बैक-ऑफ-द-लिफाफा क्षमता अनुमान।
- डेटा मॉडल को परिभाषित करें.
- एक उच्च स्तरीय डिज़ाइन बनाएं.
- चयनित पूरकों के लिए एक विस्तृत डिज़ाइन बनाएं।
- किसी भी बाधा को पहचानें और उसका समाधान करें।
एक सिस्टम डिज़ाइन साक्षात्कार मुद्दों को हल करने और ग्राहकों की सहायता के लिए सिस्टम विकसित करने के आपके तरीके का विश्लेषण करता है। यह आपके लिए नियुक्ति प्रबंधक और संभावित टीम के सदस्यों को यह प्रदर्शित करने का अवसर है कि आप एक उपयोगी व्यक्ति हैं और अपनी प्रतिभा और विशेषज्ञता को ठोस तरीके से प्रदर्शित कर सकते हैं।
मेरे चारों ओर उड़ती तितलियाँ