सिस्टम डिजाइन से संबंधित शीर्ष 30 साक्षात्कार प्रश्न और उत्तर (2026)

सिस्टम डिज़ाइन साक्षात्कार प्रश्न और उत्तर

सिस्टम डिजाइन इंटरव्यू की तैयारी करने का मतलब है यह अनुमान लगाना कि इंटरव्यू लेने वाले दबाव में आर्किटेक्चर संबंधी सोच का मूल्यांकन कैसे करते हैं। सिस्टम डिज़ाइन साक्षात्कार प्रश्न संरचित चर्चाओं के माध्यम से गहराई, समझौते, विस्तारशीलता संबंधी निर्णय और संचार को उजागर करें।

अच्छी तैयारी से क्लाउड प्लेटफॉर्म, डिस्ट्रीब्यूटेड सिस्टम और डेटा इंजीनियरिंग में विभिन्न भूमिकाएँ खुलती हैं, जिससे वास्तविक विश्लेषण के माध्यम से तकनीकी विशेषज्ञता साबित होती है। इस क्षेत्र में काम करने वाले पेशेवर व्यावहारिक कौशल विकसित करते हैं, टीमों का सहयोग करते हैं, प्रबंधकों को निर्णय लेने में मदद करते हैं और आज वैश्विक स्तर पर फ्रेशर्स से लेकर वरिष्ठ स्तर तक के लोगों द्वारा पूछे जाने वाले सामान्य प्रश्नों और उनके उत्तरों को हल करते हैं, जिनमें उन्नत, बुनियादी और तकनीकी दृष्टिकोण शामिल हैं।
अधिक पढ़ें…

👉 मुफ़्त PDF डाउनलोड करें: सिस्टम डिज़ाइन इंटरव्यू प्रश्न और उत्तर

शीर्ष सिस्टम डिज़ाइन साक्षात्कार प्रश्न और उत्तर

1) सिस्टम डिजाइन क्या है और सॉफ्टवेयर इंजीनियरिंग में यह क्यों महत्वपूर्ण है, समझाइए।

सिस्टम डिज़ाइन है किसी सिस्टम के आर्किटेक्चर, कंपोनेंट्स, इंटरफेस और डेटा को परिभाषित करने की प्रक्रिया विशिष्ट आवश्यकताओं को स्केलेबल, विश्वसनीय और रखरखाव योग्य तरीके से पूरा करने के लिए। यह उच्च-स्तरीय लक्ष्यों (सिस्टम को क्या हासिल करना चाहिए) को प्रौद्योगिकी, प्रोटोकॉल और आर्किटेक्चर पैटर्न पर ठोस निर्णयों से जोड़ता है। एक मजबूत सिस्टम डिज़ाइन यह सुनिश्चित करता है कि एप्लिकेशन लोड के तहत अच्छा प्रदर्शन करे, त्रुटि-सहिष्णु बना रहे और बिना पूरी तरह से पुनर्लेखन के समय के साथ विकसित हो सके।

साक्षात्कारों में, यह आपकी संतुलन बनाने की क्षमता को दर्शाता है। कार्यकारी आवश्यकताएं साथ में गैर-कार्यात्मक बाधाएँ जैसे कि स्केलेबिलिटी, लेटेंसी, कंसिस्टेंसी और अवेलेबिलिटी। सभी प्रमुख प्रौद्योगिकी कंपनियां वास्तविक दुनिया में इंजीनियरिंग संबंधी निर्णय क्षमता का आकलन करने के लिए उम्मीदवार के सिस्टम डिजाइन कौशल का मूल्यांकन करती हैं।


2) सिस्टम आर्किटेक्चर में आप हाई-लेवल डिज़ाइन (एचएलडी) और लो-लेवल डिज़ाइन (एलएलडी) में कैसे अंतर करते हैं?

उच्च-स्तरीय डिज़ाइन (एचएलडी) निम्नलिखित पर केंद्रित है: वास्तुशिल्पीय अवलोकन और प्रमुख घटक कार्यान्वयन की बारीकियों में जाए बिना। यह दर्शाता है कि सिस्टम कैसे परस्पर क्रिया करते हैं — उदाहरण के लिए, वेब सर्वर, डेटाबेस, कैश, एपीआई गेटवे, तथा संदेश प्रणाली.

लो-लेवल डिज़ाइन (LLD) और भी गहराई से पड़ताल करता है। क्लास परिभाषाएँ, विधियाँ, डेटा संरचनाएँ और विस्तृत तर्क प्रत्येक घटक के भीतर। HLD इस बारे में है कि आप किन घटकों का उपयोग करेंगे और वे आपस में कैसे परस्पर क्रिया करते हैं; LLD इस बारे में है कि आप उन परस्पर क्रियाओं को कैसे लागू करेंगे। दोनों को समझने से साक्षात्कारकर्ताओं को आपकी व्यापक सोच के साथ-साथ आपकी विस्तृत इंजीनियरिंग क्षमताओं का आकलन करने में मदद मिलती है।


3) सिस्टम डिजाइन करते समय आपको किन प्रमुख प्रदर्शन मापदंडों पर विचार करना चाहिए, और क्यों?

प्रदर्शन मापदंड यह निर्धारित करने में मदद करते हैं कि कोई सिस्टम उपयोगकर्ता और व्यावसायिक आवश्यकताओं को कितनी अच्छी तरह पूरा करता है। प्रमुख मापदंड निम्नलिखित हैं:

  • प्रतीक्षा अवधि: एक अनुरोध को संसाधित करने में लगने वाला समय। कम विलंबता का अर्थ है तेज़ प्रतिक्रियाएँ।
  • प्रवाह क्षमता: किसी निश्चित अवधि में संसाधित कार्य की मात्रा (उदाहरण के लिए, प्रति सेकंड अनुरोध)। उच्च थ्रूपुट का अर्थ है भार के अधीन दक्षता।
  • उपलब्धता: किसी सिस्टम के चालू रहने का समय अनुपात। वैश्विक सेवाओं के लिए उच्च उपलब्धता अत्यंत महत्वपूर्ण है।

ये मेट्रिक्स डिज़ाइनरों को संतुलन बनाने में मदद करते हैं। उदाहरण के लिए, कैशिंग से लेटेंसी कम होती है लेकिन डेटा की स्थिरता जटिल हो जाती है। इन मेट्रिक्स से परिचित होना यह दर्शाता है कि आप वास्तविक सिस्टम की गुणवत्ता के प्रति सजग हैं।

मैट्रिक परिभाषा महत्व
विलंब प्रति अनुरोध समय प्रयोक्ता अनुभव
प्रवाह प्रति इकाई समय अनुरोध अनुमापकता
उपलब्धता अपटाइम बनाम डाउनटाइम विश्वसनीयता

4) लोड बैलेंसिंग का वर्णन करें और बताएं कि वितरित प्रणालियों में यह क्यों महत्वपूर्ण है।

लोड बैलेंसिंग एक ऐसी प्रक्रिया है जिसके द्वारा आने वाले अनुरोधों को कई सर्वरों या सेवाओं में वितरित करना किसी भी एक नोड को बाधा बनने से रोकने के लिए। यह सुनिश्चित करता है कि क्षमता का सर्वोत्तम उपयोग हो, प्रतिक्रिया समय में सुधार हो और अस्वस्थ इंस्टेंस से ट्रैफ़िक को दूर करके सिस्टम की विश्वसनीयता बढ़े।

लोड बैलेंसर कई प्रकार के होते हैं। परत 4 (L4) बैलेंसर ट्रांसपोर्ट लेयर (IP/पोर्ट) पर काम करता है, जबकि एक परत 7 (L7) लोड बैलेंसर एप्लिकेशन लेयर पर काम करता है और HTTP/S की कार्यप्रणाली को समझता है। लोड बैलेंसिंग, फॉल्ट टॉलरेंस, बिना डाउनटाइम के स्केलिंग और प्रोडक्शन सिस्टम में रोलिंग अपडेट के लिए महत्वपूर्ण है। इस प्रश्न का सही उत्तर देना दर्शाता है कि आप परफॉर्मेंस, कंसिस्टेंसी और लागत के बीच मूलभूत डिस्ट्रीब्यूटेड सिस्टम ट्रेड-ऑफ को समझते हैं।


5) आप TinyURL सेवा को कैसे डिज़ाइन करेंगे? इसके मुख्य घटकों और चरणों का वर्णन करें।

TinyURL सेवा को डिजाइन करने में कार्यात्मक आवश्यकताओं (URL को छोटा करना, उपयोगकर्ताओं को पुनर्निर्देशित करना) और गैर-कार्यात्मक आवश्यकताओं (स्केलेबिलिटी, विशिष्टता, प्रदर्शन) दोनों को शामिल किया जाता है।

सबसे पहले, स्पष्टीकरण संबंधी प्रश्न सीमाओं को परिभाषित करने में सहायक होते हैं: अपेक्षित मात्रा, समाप्ति नीतियां, विश्लेषण संबंधी आवश्यकताएं आदि। मुख्य घटक निम्नलिखित हैं:

  • एपीआई परत: शॉर्टन/रीडायरेक्ट अनुरोध प्राप्त करता है और उन पर कार्रवाई करता है।
  • डेटाबेस और कैशिंग: यह मूल URL को संक्षिप्त रूप में संग्रहीत करता है; कैशिंग से पढ़ने की गति में सुधार होता है।
  • संक्षिप्त आईडी जनरेटर: यह हैशिंग या बेस-एनकोडेड अद्वितीय आईडी का उपयोग करता है।

अद्वितीय कुंजी को कुशलतापूर्वक उत्पन्न करने के लिए, आप निम्न कार्य कर सकते हैं:

  • उपयोग बेस-62 एनकोडिंग एक अनुक्रमिक आईडी का (जैसे, 1 → a, 2 → b, आदि)।
  • उपयोग टकराव समाधान के साथ हैश फ़ंक्शन.

लोड कम करने के लिए आपको एनालिटिक्स, रेट लिमिट और कैशिंग या CDN लेयर्स के साथ हॉट यूआरएल को हैंडल करने पर भी विचार करना चाहिए। इन ट्रेड-ऑफ्स का वर्णन डिजाइन पैटर्न और स्केलेबिलिटी संबंधी विचारों दोनों में गहन जानकारी दर्शाता है।


6) कैशिंग क्या है, और यह सिस्टम के प्रदर्शन को कैसे बेहतर बनाती है?

कैशिंग स्टोर बार-बार उपयोग किया जाने वाला या गणना करने में महंगा डेटा तेज़ स्टोरेज माध्यम (मेमोरी, डिस्ट्रीब्यूटेड कैश) का उपयोग करके बार-बार होने वाली कंप्यूटिंग और डेटाबेस लोड को कम किया जा सकता है। यह लोकप्रिय अनुरोधों को शीघ्रता से पूरा करके लेटेंसी और थ्रूपुट में उल्लेखनीय सुधार करता है।

कैशिंग कई स्तरों पर हो सकती है: एप्लिकेशन मेमोरी, रेडिस/Ehcacheकैशिंग रिस्पॉन्स टाइम को कम करती है, लेकिन इससे डेटा के पुराने होने और अमान्य होने जैसी समस्याएं पैदा होती हैं, जिन्हें डिज़ाइन के दौरान हल करना ज़रूरी है। उदाहरण के लिए, आप टाइम-टू-लिव (TTL) पॉलिसी या अंतर्निहित डेटा में बदलाव होने पर कैशिंग अमान्य करने की रणनीतियों का उपयोग कर सकते हैं। अच्छे उत्तर यह दर्शाते हैं कि आप दोनों को समझते हैं। लाभ और नुकसान कैशिंग का।


7) सीएपी प्रमेय और वितरित प्रणाली डिजाइन पर इसके निहितार्थों की व्याख्या कीजिए।

सीएपी प्रमेय कहता है कि एक वितरित प्रणाली में, आप निम्नलिखित तीन गारंटियों में से अधिकतम दो का चयन कर सकते हैं:

  1. संगति: सभी नोड्स एक ही समय में एक ही डेटा देखते हैं।
  2. उपलब्धता: प्रत्येक अनुरोध का उत्तर दिया जाता है (हालांकि उत्तर की सटीकता की कोई गारंटी नहीं है)।
  3. विभाजन सहिष्णुता: नेटवर्क में खराबी के बावजूद सिस्टम काम करता रहता है।

नेटवर्क विभाजन की स्थिति में कोई भी व्यावहारिक वितरित प्रणाली एक साथ तीनों लक्ष्यों को प्राप्त नहीं कर सकती। उदाहरण के लिए, विभाजन के दौरान, सिस्टम को पुराने डेटा को उपलब्ध कराने (उपलब्धता) या निरंतरता बहाल होने तक अनुरोधों को अस्वीकार करने (निरंतरता) के बीच चयन करना पड़ता है। CAP को समझने से आप परिचालन प्राथमिकताओं के आधार पर सोच-समझकर निर्णय ले सकते हैं - जो सिस्टम डिज़ाइन साक्षात्कारों में एक महत्वपूर्ण कौशल है।


8) आप व्हाट्सएप जैसी चैट मैसेजिंग सेवा को उच्च-स्तरीय शब्दों में कैसे डिजाइन करेंगे?

एक व्यापक चैट सिस्टम को डिजाइन करने के लिए, सबसे पहले प्रमुख आवश्यकताओं की पहचान करें: वास्तविक समय में संदेश वितरण, निरंतरता, संदेशों का क्रम, ऑफ़लाइन समर्थन और स्केलेबिलिटी।

उच्च स्तर पर:

  • ग्राहकों वेब/मोबाइल के माध्यम से गेटवे सर्वरों से कनेक्ट करें।
  • संदेश राउटर आने वाले संदेशों को संभालें और उन्हें प्राप्तकर्ताओं तक पहुंचाएं (वेब ​​सॉकेट जैसे स्थायी कनेक्शन के माध्यम से)।
  • डेटाबेस बड़े उपयोगकर्ता आधारों के लिए उपयुक्त विभाजन के साथ संदेशों का इतिहास संग्रहीत करें।

अतिरिक्त घटकों में हालिया चैट के लिए कैश, अतुल्यकालिक डिलीवरी के लिए कतारें और ऑफ़लाइन उपयोगकर्ताओं के लिए अधिसूचना सेवाएं शामिल हैं। आपको इस पर चर्चा करनी चाहिए। संदेशों को कैसे सहेजा जाता है, व्यवस्थित किया जाता है और प्रति उपयोगकर्ता कई उपकरणों पर पहुंचाया जाता है। और आप फेलओवर और फॉल्ट टॉलरेंस को कैसे संभालते हैं।


9) शार्डिंग क्या है और यह डेटाबेस को स्केल करने में कैसे मदद करता है?

शार्डिंग एक प्रकार का है क्षैतिज स्केलिंग इसमें एक बड़े डेटासेट को छोटे, स्वतंत्र भागों में विभाजित किया जाता है जिन्हें शार्ड कहा जाता है, और प्रत्येक भाग को एक अलग डेटाबेस नोड पर संग्रहीत किया जाता है। इससे डेटा और क्वेरी लोड को एक ही इंस्टेंस पर बढ़ाने के बजाय कई मशीनों में वितरित करके प्रदर्शन और स्केलेबिलिटी में सुधार होता है।

डेटा को ग्राहक आईडी, भौगोलिक क्षेत्र या हैशिंग के आधार पर शार्ड में विभाजित किया जा सकता है। शार्डिंग से प्रति नोड लोड कम होता है, लेकिन इससे क्रॉस-शार्ड क्वेरी और नोड जोड़ने या हटाने पर रीबैलेंसिंग में जटिलता आती है। साक्षात्कारकर्ता आपसे इन कमियों और सुसंगत हैशिंग या शार्ड मैनेजरों द्वारा संचालन को सुगम बनाने की क्षमता को समझने की अपेक्षा करते हैं।


10) वर्णन कीजिए कि एपीआई और माइक्रोसेवाएं एक मोनोलिथिक आर्किटेक्चर से किस प्रकार भिन्न हैं।

A Monolithic architecture यह एप्लिकेशन के सभी घटकों को एक ही परिनियोजित इकाई में समेकित करता है। इससे शुरुआत में विकास सरल हो सकता है, लेकिन समय के साथ इसका विस्तार करना, रखरखाव करना और अद्यतन करना कठिन हो जाता है।

Microservices सिस्टम को तोड़ें छोटी, स्वतंत्र रूप से तैनात की जा सकने वाली सेवाएंइनमें से प्रत्येक सेवा एक विशिष्ट व्यावसायिक क्षमता के लिए जिम्मेदार होती है। एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफेस) इन सेवाओं के बीच संचार को सक्षम बनाते हैं।

पहलू अखंड Microservices
तैनाती एकल इकाई स्वतंत्र सेवाएँ
अनुमापकता सीमित प्रति-सेवा स्केलिंग
त्रुटि का पृथक्करण दरिद्र बलवान
जटिलता शुरुआत में सरल अधिक जटिल संचालन

माइक्रोसेवाएं स्केलेबिलिटी और परिनियोजन लचीलेपन को बेहतर बनाती हैं, लेकिन इसके लिए उन्नत परिचालन उपकरणों (सेवा खोज, ट्रेसिंग और दोष सहिष्णुता) की आवश्यकता होती है। इस पर चर्चा करने से पता चलता है कि आप आर्किटेक्चर के विकास और सरलता तथा लचीलेपन के बीच के तालमेल को समझ सकते हैं।


11) कंटेंट डिलीवरी नेटवर्क (सीडीएन) कैसे काम करता है, और इसके क्या फायदे हैं?

A सामग्री वितरण नेटवर्क (सीडीएन) यह विभिन्न भौगोलिक क्षेत्रों में रणनीतिक रूप से स्थित प्रॉक्सी सर्वरों का एक वितरित नेटवर्क है। इसका प्राथमिक लक्ष्य यह है कि... न्यूनतम विलंबता के साथ उपयोगकर्ताओं तक सामग्री पहुंचाएं इसे निकटतम सर्वर (जिसे एज नोड के नाम से जाना जाता है) से सेवा प्रदान करके।

जब कोई उपयोगकर्ता किसी वेब संसाधन (जैसे कि छवि, वीडियो या स्थिर फ़ाइल) का अनुरोध करता है, तो CDN उस सामग्री को कैश में संग्रहीत करता है और उसे सीधे एज सर्वर से डिलीवर करता है। यदि सामग्री कैश में उपलब्ध नहीं है, तो यह उसे मूल सर्वर से प्राप्त करता है और बाद के अनुरोधों के लिए संग्रहीत करता है।

सीडीएन के लाभ:

फ़ैक्टर फायदा
विलंब उपयोगकर्ताओं के करीब सामग्री उपलब्ध कराकर प्रतिक्रिया समय को कम करता है
बैंडविड्थ ओरिजिन सर्वरों से बैंडविड्थ उपयोग का भार कम करता है
विश्वसनीयता वितरित नोड्स के साथ दोष सहनशीलता प्रदान करता है
अनुमापकता उच्च ट्रैफिक वॉल्यूम को कुशलतापूर्वक संभालता है

सीडीएन वैश्विक प्रणालियों के लिए महत्वपूर्ण हैं, जैसे कि Netflix, YouTubeया ई-कॉमर्स प्लेटफॉर्म, जो उच्च प्रदर्शन और उपलब्धता सुनिश्चित करते हैं।


12) रेट लिमिटिंग क्या है, और एपीआई डिजाइन में यह क्यों आवश्यक है?

दर सीमित यह किसी निर्दिष्ट अवधि के भीतर किसी API को क्लाइंट द्वारा किए जा सकने वाले अनुरोधों की संख्या को सीमित करता है। यह इसके लिए महत्वपूर्ण है। दुरुपयोग को रोकना, उचित उपयोग को बनाए रखना, तथा बैकएंड सेवाओं की सुरक्षा करना ओवरलोड या डिनायल-ऑफ-सर्विस (DoS) हमलों से।

दर सीमा निर्धारण के लिए सामान्य एल्गोरिदम में निम्नलिखित शामिल हैं:

  • स्थिर खिड़की काउंटर — सरल है, लेकिन विंडो की सीमाओं पर उतार-चढ़ाव पैदा कर सकता है।
  • स्लाइडिंग लॉग / स्लाइडिंग विंडो — अनुरोधों को सुचारू रूप से संभालने की सुविधा प्रदान करता है।
  • टोकन बकेट / लीकी बकेट — यह सीमित दायरे में अचानक अनुरोधों की संख्या में वृद्धि की अनुमति देता है और अनुरोधों के स्थिर प्रवाह को बनाए रखता है।

उदाहरण के लिए, GitHub प्रति उपयोगकर्ता प्रति घंटे 5000 API कॉल तक सीमित करता है। दर सीमा लागू करने से सिस्टम की स्थिरता सुनिश्चित होती है और समग्र सेवा गुणवत्ता में सुधार होता है।


13) आप वितरित प्रणालियों में डेटा की स्थिरता कैसे सुनिश्चित करते हैं?

प्रतिकृति और नेटवर्क विलंबता के कारण वितरित प्रणालियों में स्थिरता बनाए रखना चुनौतीपूर्ण है। स्थिरता और उपलब्धता के बीच आवश्यक संतुलन के आधार पर कई रणनीतियाँ हैं:

संगति प्रकार विवरण उदाहरण
मजबूत संगति सभी क्लाइंट्स को एक ही डेटा तुरंत दिखाई देता है। बैंकिंग सिस्टम
अंततः संगति अपडेट अतुल्यकालिक रूप से प्रसारित होते हैं; अस्थायी अंतर स्वीकार्य हैं। सोशल मीडिया फीड करता है
कारण संगति कारण-परिणाम क्रम को बनाए रखता है सहयोगात्मक ऐप्स

तकनीक जैसे राइट-अहेड लॉग, वेक्टर घड़ियाँ, सर्वसम्मति एल्गोरिदम (राफ्ट, पैक्सोस), तथा दो-चरण प्रतिबद्धता (2PC) तालमेल बनाए रखने में मदद करें। साक्षात्कारकर्ता आपसे स्पष्टीकरण की अपेक्षा करते हैं। when प्रदर्शन और स्केलेबिलिटी में सुधार के लिए निरंतरता को शिथिल करना।


14) क्षैतिज और ऊर्ध्वाधर स्केलिंग के बीच अंतर स्पष्ट कीजिए।

स्केलिंग का तात्पर्य किसी सिस्टम की अधिक भार संभालने की क्षमता को बढ़ाना है। इसके दो मुख्य प्रकार हैं:

स्केलिंग प्रकार विधि फायदे नुकसान
ऊर्ध्वाधर विस्तार (स्केल-अप) किसी एक मशीन में अधिक संसाधन (सीपीयू, रैम) जोड़ें लागू करना आसान है हार्डवेयर की सीमाएँ, विफलता का एकल बिंदु
क्षैतिज स्केलिंग (स्केल-आउट) भार वितरित करने के लिए और मशीनें जोड़ें उच्च उपलब्धता, लागत प्रभावी प्रबंधन और समन्वय करना जटिल है

उदाहरण के लिए, एक वेब सर्वर को 2 सीपीयू से 8 सीपीयू तक स्केल करना वर्टिकल स्केलिंग है, जबकि लोड बैलेंसर के पीछे कई सर्वर जोड़ना हॉरिजॉन्टल स्केलिंग है। कुबेरनेट्स जैसे आधुनिक वितरित सिस्टम इसी को प्राथमिकता देते हैं। क्षैतिज स्केलिंग लोच के लिए.


15) मैसेज क्यू क्या हैं और वितरित आर्किटेक्चर में इनका उपयोग क्यों किया जाता है?

A संदेश कतार यह संदेशों को संसाधित होने तक अस्थायी रूप से संग्रहीत करके उत्पादकों और उपभोक्ताओं को अलग करता है। इससे यह संभव हो पाता है। अतुल्यकालिक संचारवितरित प्रणालियों में लचीलापन और स्केलेबिलिटी में सुधार करना।

लोकप्रिय मैसेज ब्रोकर में शामिल हैं: RabbitMQ, काफ्का, Amazon एसक्यूएस, तथा गूगल पब/सब.

लाभ:

  • ट्रैफ़िक में अचानक होने वाली बढ़ोतरी को कम करता है
  • सेवाओं को अलग करता है
  • पुनः प्रयास और निरंतरता तंत्र को सक्षम बनाता है
  • त्रुटि सहनशीलता में सुधार करता है

उदाहरण: एक ई-कॉमर्स प्लेटफॉर्म में, एक ऑर्डर सेवा एक संदेश ("ऑर्डर दिया गया") प्रकाशित कर सकती है जिसे इन्वेंट्री और बिलिंग सेवाएं स्वतंत्र रूप से उपयोग करती हैं, जिससे प्रत्यक्ष निर्भरता से बचा जा सकता है।


16) आप एक स्केलेबल फ़ाइल स्टोरेज सिस्टम को कैसे डिज़ाइन करेंगे? Google Drive or Dropbox?

क्लाउड-आधारित फ़ाइल स्टोरेज सिस्टम को डिज़ाइन करने के लिए, इसे मुख्य घटकों में विभाजित करें:

  • फ्रंटएंड सेवा: यह REST API के माध्यम से फाइल अपलोड/डाउनलोड को हैंडल करता है।
  • मेटाडेटा सेवा: यह फ़ाइल के स्वामित्व, पहुंच अनुमतियों और संस्करण इतिहास को संग्रहीत करता है।
  • भंडारण सेवा: यह वितरित संग्रहण (जैसे, S3, HDFS) में फ़ाइल चंक्स का प्रबंधन करता है।
  • चंकिंग: कुशल भंडारण और संचरण के लिए फाइलों को छोटे-छोटे टुकड़ों (जैसे, 4 एमबी) में विभाजित किया जाता है।

चुनौतियों में यह सुनिश्चित करना शामिल है डेटा डिडुप्लीकेशन, स्थिरता, तथा परिवर्तनों को सिंक्रनाइज़ करना सभी उपकरणों पर। ब्लॉक-स्तरीय सिंक और कंटेंट हैशिंग को लागू करने से बैंडविड्थ दक्षता और अखंडता सुनिश्चित होती है।


17) स्केलेबल डेटाबेस स्कीमा को डिजाइन करते समय किन प्रमुख कारकों पर विचार करना चाहिए?

एक स्केलेबल स्कीमा प्रदर्शन, लचीलापन और रखरखाव में संतुलन बनाए रखती है। महत्वपूर्ण बातों में शामिल हैं:

  • डेटा विभाजन (विकास को संभालने के लिए शार्डिंग)।
  • सामान्यीकरण बनाम असामान्यीकरण: अखंडता के लिए सामान्यीकरण करें; पढ़ने की अधिकता वाले कार्यों के बेहतर प्रदर्शन के लिए गैर-सामान्यीकरण करें।
  • अनुक्रमण रणनीति त्वरित खोज के लिए।
  • कैशिंग और प्रतिकृति अधिक यातायात को संभालने के लिए।

उदाहरण: सोशल मीडिया एप्लिकेशन में, उपयोगकर्ता डेटा और पोस्ट को अलग-अलग संग्रहीत किया जा सकता है ताकि युग्मन को कम किया जा सके और क्वेरी प्रदर्शन में सुधार किया जा सके। स्कीमा डिज़ाइन संबंधी निर्णय इसके अनुरूप होने चाहिए। पहुँच पैटर्न और क्वेरी आवृत्ति.


18) माइक्रोसर्विसेज आर्किटेक्चर का उपयोग करने के क्या फायदे और नुकसान हैं?

माइक्रोसेवाएं आधुनिक क्लाउड अनुप्रयोगों की रीढ़ बन गई हैं, लेकिन इनके साथ कुछ कमियां भी जुड़ी हुई हैं।

फायदे नुकसान
स्वतंत्र परिनियोजन और स्केलिंग परिचालन जटिलता में वृद्धि
दोष अलगाव और लचीलापन डिस्ट्रिब्यूटेड डिबगिंग ज़्यादा कठिन है
प्रौद्योगिकी को अपनाना आसान इसके लिए मजबूत डेवऑप्स संस्कृति की आवश्यकता है।
बेहतर कोड रखरखाव क्षमता नेटवर्क हॉप्स के कारण उच्च विलंबता

माइक्रोसेवाएं बड़े, विकसित होते सिस्टमों के लिए आदर्श हैं, लेकिन इसके लिए मजबूत निगरानी, ​​एपीआई गेटवे और अंतर-सेवा संचार रणनीतियों की आवश्यकता होती है।


19) आप एक बड़े पैमाने के सिस्टम में डेटाबेस प्रतिकृति को कैसे संभालेंगे?

डेटाबेस प्रतिकृति इसमें उपलब्धता और पठन प्रदर्शन को बेहतर बनाने के लिए प्राथमिक डेटाबेस से एक या अधिक प्रतिकृतियों में डेटा की प्रतिलिपि बनाना शामिल है। इसके दो मुख्य प्रकार हैं:

प्रतिकृति प्रकार विवरण उदाहरण
Synchronous परिवर्तन तुरंत प्रतिकृतियों में लिख दिए जाते हैं। मजबूत स्थिरता
अतुल्यकालिक प्राइमरी, रेप्लिका अपडेट से पहले राइट की पुष्टि करता है बेहतर प्रदर्शन

प्रतिकृति को बढ़ावा मिलता है दोष सहिष्णुता, सक्षम करता है भौगोलिक वितरण, और समर्थन करता है स्केलिंग पढ़ें (रेप्लिका पढ़ें)। हालाँकि, यह रेप्लिकेशन लैग और कॉन्फ्लिक्ट रिजॉल्यूशन जैसी चुनौतियाँ पेश करता है। जैसे टूल MySQL समूह प्रतिकृति, MongoDB प्रतिकृति सेट, तथा PostgreSQL स्ट्रीमिंग प्रतिकृति ये मानक समाधान हैं।


20) इवेंट-ड्रिवन आर्किटेक्चर क्या है, और यह सबसे ज्यादा उपयोगी कहाँ है?

इवेंट-ड्रिवन आर्किटेक्चर (ईडीए) एक डिज़ाइन प्रतिमान है जहाँ घटक आपस में संवाद करते हैं। घटनाओं — ऐसे संदेश जो स्थिति में बदलाव या क्रियाओं का संकेत देते हैं। सीधे अनुरोधों के बजाय, सेवाएं घटनाओं को अतुल्यकालिक रूप से प्रकाशित और सब्सक्राइब करती हैं।

यह डिज़ाइन इसके लिए आदर्श है शिथिल रूप से युग्मित प्रणालियाँजैसे कि आईओटी प्लेटफॉर्म, ई-कॉमर्स और रीयल-टाइम एनालिटिक्स सिस्टम।

लाभ:

  • उच्च मापनीयता
  • अयुग्मित घटक
  • वास्तविक समय प्रतिक्रिया

उदाहरण: ऊबर के आर्किटेक्चर में, जब कोई राइड बुक की जाती है, तो एक इवेंट एक साथ प्राइसिंग, ड्राइवर मैचिंग और नोटिफिकेशन सिस्टम में अपडेट को ट्रिगर करता है - यह सब बिना किसी टाइट कपलिंग के होता है।


21) सिस्टम डिजाइन में आइडमपोटेंसी क्या है, और यह महत्वपूर्ण क्यों है?

अकर्मण्यता इसका मतलब है कि एक ही क्रिया को कई बार करने से एक बार करने पर भी वही प्रभाव पड़ता है।यह वितरित प्रणालियों में विश्वसनीयता सुनिश्चित करता है जहां विफलताओं या नेटवर्क विलंब के कारण अनुरोधों को दोबारा भेजने का प्रयास किया जा सकता है।

उदाहरण के लिए:

  • GET और हटाएँ अनुरोध स्वाभाविक रूप से आइडम्पोटेंट होते हैं (उन्हें दोहराने से स्थिति में कोई परिवर्तन नहीं होता)।
  • पोस्ट अनुरोध (जैसे लेनदेन बनाना) तब तक आइडम्पोटेंट नहीं होते जब तक कि उन्हें विशेष रूप से ऐसा करने के लिए डिज़ाइन न किया गया हो।

आइडमपोटेंसी को लागू करने के लिए:

  • उपयोग अद्वितीय अनुरोध आईडी डुप्लिकेट सबमिशन को ट्रैक करने के लिए।
  • एक बनाए रखें हस्तांतरण लॉग बार-बार होने वाली प्रक्रियाओं को अनदेखा करना।

यह सिद्धांत महत्वपूर्ण है भुगतान द्वार, आदेश प्रसंस्करण, तथा ईमेल सिस्टम जहां एक ही क्रिया को दोहराने से गंभीर विसंगतियां उत्पन्न हो सकती हैं।


22) उदाहरण सहित अंततः संगति की अवधारणा को समझाइए।

अंततः स्थिरता यह वितरित डेटाबेस में एक मॉडल है जहां अपडेट सभी नोड्स को तुरंत दिखाई नहीं देते हैं, लेकिन समय के साथ यह प्रणाली एक स्थिर अवस्था में परिवर्तित हो जाती है।.

उदाहरण:

In Amazonहै DynamoDBजब किसी आइटम को एक क्षेत्र में अपडेट किया जाता है, तो अन्य क्षेत्रों में मौजूद प्रतिकृतियों में अस्थायी रूप से पुराना डेटा हो सकता है। हालांकि, वे अंततः बैकग्राउंड प्रतिकृति के माध्यम से सिंक्रनाइज़ हो जाएंगी।

यह मॉडल सिस्टम को प्राथमिकता देने में उपयोगी है। उपलब्धता के ऊपर सख्त संगति, जैसे:

  • सोशल मीडिया टाइमलाइन
  • कैशिंग सिस्टम
  • डीएनएस रिकॉर्ड

मुख्य समझौता इनके बीच निहित है बासीपन सहनशीलता और प्रतिक्रिया की गति.


23) आप एक ऐसी अधिसूचना प्रणाली कैसे डिजाइन करेंगे जो कई चैनलों (ईमेल, एसएमएस, पुश) का समर्थन करती हो?

एक स्केलेबल नोटिफिकेशन सिस्टम को डिजाइन करने के लिए मॉड्यूलरिटी और फ्लेक्सिबिलिटी की आवश्यकता होती है।

Archiटेक्चर:

  1. सूचना API – आवेदनों से अधिसूचना अनुरोध प्राप्त करता है।
  2. कतार/संदेश बस – यह इवेंट्स को स्टोर और डिस्ट्रीब्यूट करता है (काफ्का, एसक्यूएस)।
  3. श्रमिक सेवाएँ – चैनल-विशिष्ट प्रोसेसर (ईमेल, एसएमएस, पुश)।
  4. डिलीवरी प्रदाता – ट्विलियो या फायरबेस जैसे बाहरी एपीआई के साथ एकीकृत करें।
  5. उपयोगकर्ता प्राथमिकता डेटाबेस – यह ऑप्ट-इन/आउट सेटिंग्स और आवृत्ति प्राथमिकताओं को संग्रहीत करता है।

मुख्य विचार:

  • बैकऑफ़ रणनीतियों के साथ असफल डिलीवरी को पुनः प्रयास करें।
  • एकरूपता बनाए रखने के लिए टेम्पलेट का उपयोग करें।
  • प्राथमिकता निर्धारण का समर्थन करें (अत्यावश्यक बनाम कम प्राथमिकता वाले संदेश)।

यह मॉड्यूलर डिज़ाइन विश्वसनीयता और विस्तारशीलता सुनिश्चित करता है क्योंकि नए अधिसूचना चैनल सामने आते हैं।


24) डेटाबेस इंडेक्सिंग क्या है, और यह प्रदर्शन को कैसे प्रभावित करती है?

A डेटाबेस इंडेक्स यह एक डेटा संरचना (आमतौर पर बी-ट्री या हैश टेबल) है जो डेटाबेस द्वारा स्कैन किए जाने वाले रिकॉर्ड की संख्या को कम करके क्वेरी की गति में सुधार करती है।

उदाहरण के लिए, उपयोगकर्ता तालिका में ईमेल कॉलम को अनुक्रमित करने से डेटाबेस इंजन को पूरी तालिका को स्कैन किए बिना ईमेल द्वारा उपयोगकर्ताओं को शीघ्रता से ढूंढने की अनुमति मिलती है।

पहलू सूचकांक के साथ बिना अनुक्रमणिका के
क्वेरी गति त्वरित खोज धीमे अनुक्रमिक स्कैन
गति लिखें धीमा (इंडेक्स अपडेट की आवश्यकता है) तेज़ लिखता है
भंडारण अधिक डिस्क स्थान Less भंडारण

इंडेक्स पढ़ने की गति को बेहतर बनाते हैं, लेकिन इनका उपयोग सोच-समझकर किया जाना चाहिए, क्योंकि ये गति को धीमा कर सकते हैं। लेखन-प्रधान रखरखाव संबंधी लागत के कारण सिस्टम।


25) आप एक बड़े पैमाने पर वितरित प्रणाली में दोष सहिष्णुता कैसे सुनिश्चित करेंगे?

दोष सहिष्णुता इसका अर्थ है कि किसी सिस्टम के घटक खराब होने पर भी वह काम करता रहता है। यह अतिरेक, निगरानी और स्वचालित पुनर्प्राप्ति के माध्यम से प्राप्त किया जाता है।

रणनीतियों में शामिल हैं:

  • प्रतिकृति: विभिन्न क्षेत्रों में डेटा या सेवाओं की डुप्लीकेट उपस्थिति।
  • विफलता निवारण तंत्र: अनुरोधों को स्वचालित रूप से स्वस्थ नोड्स पर पुनर्निर्देशित करें।
  • स्वास्थ्य जांच और लोड बैलेंसर: दोषपूर्ण उदाहरणों का पता लगाएं और उन्हें अलग करें।
  • परिपथ तोड़ने वाले: आश्रित सेवाओं के बीच क्रमिक विफलताओं को रोकें।

उदाहरण: Netflix"कैओस मंकी" जानबूझकर उत्पादन में मौजूद इंस्टेंस को बंद कर देता है ताकि लचीलेपन का परीक्षण किया जा सके - यह दोष-सहिष्णु सिद्धांतों का एक उन्नत अनुप्रयोग है।


26) वितरित प्रणालियों में तुल्यकालिक और अतुल्यकालिक संचार के बीच क्या अंतर है?

Feature Syncकालानुक्रमिक संचार अतुल्यकालिक संचार
निर्भरता प्रेषक प्रतिक्रिया की प्रतीक्षा करता है प्रेषक स्वतंत्र रूप से आगे बढ़ता है
उदाहरण HTTP REST API कॉल संदेश कतारें, काफ्का
विलंब उच्चतर (अवरोधक) कम अनुभव की गई विलंबता
विश्वसनीयता विफलताओं के तहत कम उच्चतर (संदेश बने रह सकते हैं)

Syncसमकालिक प्रणालियाँ सरल होती हैं लेकिन आपस में कसकर जुड़ी होती हैं, जबकि अतुल्यकालिक प्रणालियाँ स्केलेबिलिटी और त्रुटि अलगाव में सुधार करती हैं।

उदाहरण के लिए, एक ई-कॉमर्स सिस्टम में ऑर्डर प्रोसेसिंग अतुल्यकालिक हो सकती है, लेकिन तत्काल उपयोगकर्ता प्रतिक्रिया सुनिश्चित करने के लिए भुगतान पुष्टिकरण तुल्यकालिक रहना चाहिए।


27) आप एक वितरित एपीआई सिस्टम के लिए रेट लिमिटर कैसे डिजाइन करेंगे?

एक डिस्ट्रीब्यूटेड रेट लिमिटर कई सर्वरों में API के निष्पक्ष उपयोग को सुनिश्चित करता है।

दृष्टिकोण:

  1. टोकन बकेट एल्गोरिथम – प्रत्येक उपयोगकर्ता को टोकन मिलते हैं जो समय के साथ पुनः प्राप्त हो जाते हैं।
  2. लीकी बकेट एल्गोरिथम – अनुरोधों पर नियमित गति से कार्रवाई की जाती है।
  3. केंद्रीकृत काउंटर (जैसे, रेडिस) – प्रति उपयोगकर्ता अनुरोधों की संख्या बनाए रखता है।

कार्यान्वयन उदाहरण:

  • Redis के एटॉमिक काउंटर्स को TTL के साथ इस्तेमाल करें।
  • प्रत्येक उपयोगकर्ता कुंजी के लिए अनुरोध टाइमस्टैम्प को ट्रैक करें।
  • निर्धारित सीमा से अधिक के अनुरोधों को अस्वीकार करें।

दर सीमा निर्धारण रोकता है गाली, DoS के हमले, तथा अप्रत्याशित लागत वृद्धिजिससे ग्राहकों के बीच सेवा की गुणवत्ता में निरंतरता सुनिश्चित होती है।


28) डिस्ट्रीब्यूटेड कंसेंसस एल्गोरिदम क्या है, और इसकी आवश्यकता क्यों है?

वितरित सहमति एल्गोरिदम यह सुनिश्चित करते हैं कि सिस्टम में कई नोड्स एक ही डेटा मान पर सहमत होंयहां तक ​​कि असफलताओं के घटित होने पर भी।

सामान्य एल्गोरिदम:

  • Paxos
  • बेड़ा
  • Zab (ज़ूकीपर में प्रयुक्त)

वे रखरखाव के लिए आवश्यक हैं नेता चुनाव, राज्य प्रतिकृति, तथा डेटा संगतता कुबेरनेट्स जैसे वितरित डेटाबेस और क्लस्टर प्रबंधकों में।

उदाहरण: Raft यह सुनिश्चित करता है कि सभी नोड्स लॉग प्रविष्टियों पर सहमत हों, इससे पहले कि उन्हें स्टेट मशीनों पर लागू किया जाए, जिससे नोड्स के क्रैश होने पर भी विश्वसनीयता की गारंटी मिलती है।


29) आप माइक्रोसेवाओं के लिए लॉगिंग और मॉनिटरिंग सिस्टम कैसे डिजाइन करेंगे?

वितरित प्रणालियों की निगरानी के लिए समस्याओं का पता लगाने और उन्हें हल करने के लिए केंद्रीकृत अवलोकन क्षमता की आवश्यकता होती है।

प्रमुख घटक:

  • लॉगिंग: सभी सेवाओं से लॉग इकट्ठा करने के लिए निम्नलिखित टूल का उपयोग करें: Fluentd or Logstash.
  • मेट्रिक्स: प्रदर्शन संकेतकों (सीपीयू, मेमोरी, अनुरोध विलंबता) को ट्रैक करने के लिए प्रोमेथियस या डेटाडॉग का उपयोग करें।
  • अनुरेखण: विभिन्न सेवाओं में अनुरोध पथों को ट्रैक करने के लिए वितरित ट्रेसिंग (जैगर, ज़िपकिन) को लागू करें।
  • चेतावनी: PagerDuty में अलर्ट ट्रिगर करने के लिए थ्रेशहोल्ड सेट करें या Slack.

सर्वश्रेष्ठ प्रणालियां:

उपयोग सहसंबंध आईडी उत्पादन संबंधी समस्याओं को डीबग करने के लिए, कई माइक्रोसेवाओं में एक ही उपयोगकर्ता के अनुरोध का पता लगाना महत्वपूर्ण है।


30) उच्च उपलब्धता (एचए) प्रणाली के निर्माण के लिए प्रमुख डिजाइन संबंधी विचार क्या हैं?

A उच्च उपलब्धता (एचए) यह सिस्टम डाउनटाइम को कम करता है और निरंतर सेवा सुनिश्चित करता है।

प्रमुख डिज़ाइन कारक:

  1. अतिरेक: प्रत्येक घटक के लिए एकाधिक सर्वर का उपयोग करें।
  2. एकल विफलता बिंदुओं (एसपीओएफ) को समाप्त करें।
  3. स्वचालित फ़ेलओवर: बिजली गुल होने की स्थिति में ट्रैफिक को रीडायरेक्ट करें।
  4. डेटा प्रतिकृति: विभिन्न क्षेत्रों में डेटा की स्थिरता सुनिश्चित करें।
  5. स्वास्थ्य की निगरानी: अस्वस्थ नोड्स का स्वचालित रूप से पता लगाएं और उन्हें बदलें।
  6. आपदा पुनर्प्राप्ति (डीआर): बैकअप और जियो-रेप्लिकेशन लागू करें।

उदाहरण: AWS विभिन्न अवेलेबिलिटी ज़ोन (AZs) में सेवाएं तैनात करता है और स्वचालित फेलओवर के लिए इलास्टिक लोड बैलेंसर का उपयोग करता है, जिससे 99.99% अपटाइम SLA सुनिश्चित होता है।


🔍 वास्तविक दुनिया के परिदृश्यों और रणनीतिक प्रतिक्रियाओं के साथ सिस्टम डिज़ाइन से संबंधित शीर्ष साक्षात्कार प्रश्न

1) आप किसी बड़े पैमाने पर वितरित प्रणाली को बिल्कुल शुरुआत से डिजाइन करने के लिए क्या दृष्टिकोण अपनाते हैं?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपकी व्यवस्थित सोच, आवश्यकताओं को स्पष्ट करने की क्षमता और जटिल समस्याओं को प्रबंधनीय घटकों में विभाजित करने के तरीके को समझना चाहता है।

उदाहरण उत्तर: मैं स्केलेबिलिटी, अवेलेबिलिटी और लेटेंसी जैसी कार्यात्मक और गैर-कार्यात्मक आवश्यकताओं को स्पष्ट करके शुरुआत करता हूँ। फिर मैं एक उच्च-स्तरीय आर्किटेक्चर की रूपरेखा तैयार करता हूँ, मुख्य घटकों की पहचान करता हूँ, डेटा प्रवाह को परिभाषित करता हूँ और उपयुक्त तकनीकों का चयन करता हूँ। इसके बाद, मैं डिज़ाइन को अंतिम रूप देने से पहले बाधाओं, विफलता परिदृश्यों और अन्य संभावित लाभों पर विचार करता हूँ।


2) क्या आप क्षैतिज और ऊर्ध्वाधर स्केलिंग के बीच अंतर बता सकते हैं, और आप इनमें से प्रत्येक का उपयोग कब करेंगे?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता स्केलेबिलिटी के आपके मूलभूत ज्ञान और वास्तविक दुनिया की प्रणालियों में सही रणनीति लागू करने की आपकी क्षमता का परीक्षण कर रहा है।

उदाहरण उत्तर: “वर्टिकल स्केलिंग में एक ही मशीन में अधिक संसाधन जोड़े जाते हैं, जबकि हॉरिजॉन्टल स्केलिंग में लोड को संभालने के लिए अधिक मशीनें जोड़ी जाती हैं। वर्टिकल स्केलिंग सरल है लेकिन सीमित है, जबकि हॉरिजॉन्टल स्केलिंग अधिक जटिल है लेकिन बेहतर फॉल्ट टॉलरेंस और दीर्घकालिक स्केलेबिलिटी प्रदान करती है।”


3) सिस्टम डिजाइन में उच्च उपलब्धता कैसे सुनिश्चित की जाती है?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता अतिरेक, विफलता-ओवर तंत्र और सिस्टम लचीलेपन के बारे में आपकी समझ का मूल्यांकन करना चाहता है।

उदाहरण उत्तर: “अपनी पिछली भूमिका में, मैंने लोड बैलेंसर का उपयोग करके, कई उपलब्धता क्षेत्रों में सेवाओं को तैनात करके, स्वास्थ्य जांच लागू करके और जहां संभव हो, स्टेटलेस सेवाओं को डिजाइन करके उच्च उपलब्धता सुनिश्चित की। इन रणनीतियों ने एकल विफलता बिंदुओं को कम किया।”


4) एक ऐसे समय का वर्णन करें जब आपको निरंतरता और उपलब्धता के बीच समझौता करना पड़ा हो।

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता सीएपी प्रमेय के बारे में आपकी समझ और बाधाओं के तहत निर्णय लेने की आपकी क्षमता का आकलन कर रहा है।

उदाहरण उत्तर: “अपनी पिछली नौकरी में, मैंने एक ऐसे सिस्टम पर काम किया जहाँ कम लेटेंसी बेहद ज़रूरी थी। नेटवर्क विभाजन के दौरान उपलब्धता बनाए रखने के लिए हमने स्ट्रॉन्ग कंसिस्टेंसी के बजाय इवेंचुअल कंसिस्टेंसी को चुना, जो व्यावसायिक उपयोग के लिहाज़ से स्वीकार्य था।”


5) किसी दिए गए सिस्टम के लिए किस डेटाबेस का उपयोग करना है, यह आप कैसे तय करते हैं?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता यह देखना चाहता है कि आप डेटा स्टोरेज विकल्पों को सिस्टम की आवश्यकताओं के साथ कैसे संरेखित करते हैं।

उदाहरण उत्तर: मैं डेटा एक्सेस पैटर्न, स्थिरता आवश्यकताओं, स्केलेबिलिटी जरूरतों और क्वेरी जटिलता का मूल्यांकन करता हूं। रिलेशनल डेटाबेस संरचित डेटा और लेनदेन के लिए अच्छी तरह से काम करते हैं, जबकि NoSQL डेटाबेस उच्च थ्रूपुट और लचीली स्कीमा के लिए बेहतर हैं।


6) आप अचानक बढ़े हुए ट्रैफिक को संभालने के लिए एक सिस्टम कैसे डिजाइन करेंगे?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपकी स्केलेबिलिटी और अप्रत्याशित लोड के लिए डिजाइन करने की क्षमता का परीक्षण कर रहा है।

उदाहरण उत्तर: “मैं ऑटो-स्केलिंग ग्रुप, लोड बैलेंसर और इन-मेमोरी स्टोर जैसे कैशिंग लेयर्स का उपयोग करता था। अपनी पिछली भूमिका में, इन तकनीकों ने सिस्टम को प्रदर्शन को प्रभावित किए बिना ट्रैफिक में अचानक वृद्धि को संभालने में सक्षम बनाया।”


7) सिस्टम डिजाइन में कैशिंग की क्या भूमिका होती है, और आप इसे कहाँ लागू करेंगे?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता यह समझना चाहता है कि आप प्रदर्शन को कैसे अनुकूलित करते हैं और मुख्य सेवाओं पर भार को कैसे कम करते हैं।

उदाहरण उत्तर: "कैशिंग से रिस्पॉन्स टाइम बेहतर होता है और डेटाबेस पर लोड कम होता है। इसे उपयोग के आधार पर क्लाइंट-साइड, सीडीएन, एप्लिकेशन-लेवल और डेटाबेस क्वेरी कैशिंग सहित कई स्तरों पर लागू किया जा सकता है।"


8) आप डेटा विभाजन और शार्डिंग को कैसे संभालते हैं?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता डेटा को क्षैतिज रूप से स्केल करने वाले सिस्टम को डिजाइन करने की आपकी क्षमता का मूल्यांकन कर रहा है।

उदाहरण उत्तर: मैं एक ऐसी शार्डिंग कुंजी चुनता हूँ जो डेटा को समान रूप से वितरित करती है और क्रॉस-शार्ड क्वेरी को कम करती है। मैं री-शार्डिंग की योजना भी बनाता हूँ और सिस्टम के बढ़ने पर हॉटस्पॉट से बचने के लिए डेटा वितरण की निगरानी करता हूँ।


9) ऐसी स्थिति का वर्णन कीजिए जहां सिस्टम मॉनिटरिंग ने डिजाइन संबंधी निर्णय को प्रभावित किया हो।

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता यह देखना चाहता है कि आप सिस्टम की विश्वसनीयता और प्रदर्शन को बेहतर बनाने के लिए अवलोकन क्षमता का उपयोग कैसे करते हैं।

उदाहरण उत्तर: "लेटेंसी और त्रुटि दर जैसे मॉनिटरिंग मेट्रिक्स से एपीआई सेवा में एक बाधा का पता चला। इस जानकारी के आधार पर, मैंने सेवा को अतुल्यकालिक बनाने के लिए पुनः डिज़ाइन किया, जिससे थ्रूपुट में उल्लेखनीय सुधार हुआ।"


10) आप गैर-तकनीकी हितधारकों को जटिल सिस्टम डिज़ाइन कैसे समझाते हैं?

उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपके संचार कौशल और तकनीकी निर्णयों को व्यावसायिक लक्ष्यों के साथ संरेखित करने की आपकी क्षमता का आकलन कर रहा है।

उदाहरण उत्तर: मैं उच्च-स्तरीय अवधारणाओं पर ध्यान केंद्रित करता हूँ, आरेखों का उपयोग करता हूँ और तकनीकी घटकों को व्यावसायिक परिणामों से जोड़ता हूँ। यह दृष्टिकोण हितधारकों को तकनीकी विवरणों में उलझे बिना डिज़ाइन के मूल्य और प्रभाव को समझने में मदद करता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: