sdet interview questions
प्रारूप को जानने के लिए टेस्ट इंटरव्यू में सॉफ्टवेयर डेवलपमेंट इंजीनियर के लिए यह पूरी गाइड पढ़ें और विभिन्न राउंड में पूछे गए एसडीईटी साक्षात्कार के सवालों के जवाब कैसे दें:
इस ट्यूटोरियल में, हम SDET भूमिकाओं के लिए कुछ सामान्य रूप से पूछे जाने वाले साक्षात्कार प्रश्नों के बारे में जानेंगे। हम यह भी देखेंगे कि सामान्य तौर पर, साक्षात्कार के सामान्य पैटर्न और साक्षात्कार में उत्कृष्टता प्राप्त करने के लिए कुछ सुझाव साझा करते हैं।
हम इस ट्यूटोरियल के लिए कोडिंग समस्याओं के लिए जावा भाषा का उपयोग करेंगे, हालांकि, अधिकांश SDET ट्यूटोरियल भाषा अज्ञेयवादी हैं और साक्षात्कारकर्ता आम तौर पर उस भाषा के आसपास लचीले होते हैं जिसका उपयोग उम्मीदवार चुनते हैं।
आप क्या सीखेंगे:
SDET साक्षात्कार तैयारी गाइड
SDET साक्षात्कार, अधिकांश शीर्ष उत्पाद कंपनियों में, विकास भूमिकाओं के लिए साक्षात्कार आयोजित किए जाने के तरीके से काफी मिलते-जुलते हैं। ऐसा इसलिए है क्योंकि एसडीईटी को मोटे तौर पर लगभग वह सब कुछ जानने और समझने की उम्मीद है जो डेवलपर जानता है।
अलग-अलग मापदंड क्या हैं जिस पर SDET साक्षात्कारकर्ता को आंका जाता है। इस भूमिका के लिए साक्षात्कारकर्ता महत्वपूर्ण सोच कौशल की तलाश करते हैं, साथ ही साथ साक्षात्कार वाले व्यक्ति को कोडिंग में अनुभव का अनुभव है और गुणवत्ता और विस्तार के लिए एक आंख है।
यहाँ कुछ बिंदु दिए गए हैं, जो किसी व्यक्ति को SDET साक्षात्कार के लिए तैयार करना चाहिए, उस पर मुख्य रूप से ध्यान देना चाहिए:
Android के लिए सबसे अच्छा संगीत एमपी 3 डाउनलोड
- चूंकि, ज्यादातर समय, ये साक्षात्कार प्रौद्योगिकी / भाषा अज्ञेयवादी होते हैं, इसलिए उम्मीदवारों को आवश्यक होने पर और आवश्यक नई तकनीक (और मौजूदा कौशल का लाभ उठाने) सीखने के लिए तैयार होना चाहिए।
- अच्छा संचार और टीम कौशल होना चाहिए क्योंकि इन दिनों SDET भूमिकाओं में कई हितधारकों के साथ विभिन्न स्तरों पर संचार और सहयोग की आवश्यकता होती है।
- विभिन्न सिस्टम डिजाइन अवधारणाओं, मापनीयता, संगामिति, गैर-कार्यात्मक आवश्यकताओं आदि की बुनियादी समझ होनी चाहिए।
नीचे दिए गए अनुभागों में, हम कुछ नमूना प्रश्नों के साथ साक्षात्कार के सामान्य प्रारूप को समझने की कोशिश करेंगे।
टेस्ट साक्षात्कार में सॉफ्टवेयर डेवलपमेंट इंजीनियर का प्रारूप
अधिकांश कंपनियों के पास एसडीईटी भूमिका के लिए उम्मीदवारों के साक्षात्कार के लिए उनका पसंदीदा प्रारूप होता है, यह भूमिका किसी टीम के लिए सुपर विशिष्ट होती है और जिस व्यक्ति को जिस टीम के लिए काम पर रखा जा रहा है, उसके लिए व्यक्ति को एक आदर्श फिट माना जाता है।
लेकिन, साक्षात्कार का विषय आमतौर पर नीचे के बिंदुओं पर आधारित होता है:
- टेलीफ़ोनिक चर्चा: प्रबंधक और / या टीम के सदस्यों के साथ बातचीत जो आमतौर पर एक स्क्रीनिंग दौर है।
- लिखित दौर: विशिष्ट प्रश्नों के आवरण परीक्षण / परीक्षण के साथ।
- कोडिंग प्रवीणता दौर: सरल कोडिंग प्रश्न (भाषा अज्ञेय) और उम्मीदवार को उत्पादन-स्तरीय कोड लिखने के लिए कहा जाता है।
- बुनियादी विकास अवधारणाओं की समझ: जैसे OOPS अवधारणाओं, SOLID सिद्धांत आदि।
- टेस्ट ऑटोमेशन फ्रेमवर्क डिजाइन और विकास
- स्क्रिप्टिंग भाषाएँ: सेलेनियम, पायथन, जावास्क्रिप्ट, आदि
- संस्कृति फ़िट / मानव संसाधन चर्चा और वार्ता
SDET साक्षात्कार प्रश्न और उत्तर
इस खंड में, हम कुछ जवाबों के साथ-साथ विभिन्न श्रेणियों के लिए कुछ नमूना प्रश्नों पर चर्चा करेंगे, जो कि SDET भूमिकाओं के लिए काम करने वाले अधिकांश उत्पाद कंपनियों द्वारा पूछे जाते हैं।
कोडिंग प्रवीणता
इस दौर में, पसंद की भाषा में लिखने के लिए सरल कोडिंग समस्याएं दी जाती हैं। यहां, साक्षात्कारकर्ता कोडिंग निर्माणों के साथ-साथ बढ़त परिदृश्यों और अशक्त जांच आदि जैसी चीजों को संभालने के साथ दक्षता हासिल करना चाहता है।
कभी-कभी, साक्षात्कारकर्ता लिखित कार्यक्रम के लिए इकाई परीक्षण लिखने के लिए भी कह सकते हैं।
चलो कुछ नमूना समस्याओं को देखते हैं।
क्यू # 1) 3 जी (अस्थायी) चर का उपयोग किए बिना 2 नंबर स्वैप करने के लिए एक कार्यक्रम लिखें?
उत्तर :
दो नंबर स्वैप करने का कार्यक्रम:
public class SwapNos { public static void main(String() args) { System.out.println('Calling swap function with inputs 2 & 3'); swap(2,3); System.out.println('Calling swap function with inputs -3 & 5'); swap(-3,5); } private static void swap(int x, int y) { System.out.println('values before swap:' + x + ' and ' + y); // swap logic x = x + y; y = x - y; x = x - y; System.out.println('values after swap:' + x + ' and ' + y); } }
यहाँ उपरोक्त कोड स्निपेट का उत्पादन है:
उपरोक्त कोड स्निपेट में, यह ध्यान रखना महत्वपूर्ण है कि, साक्षात्कारकर्ता ने विशेष रूप से तीसरे अस्थायी चर का उपयोग किए बिना 2 नग स्वैप करने के लिए कहा है। इसके अलावा, यह महत्वपूर्ण है कि समाधान प्रस्तुत करने से पहले, कम से कम 2-3 इनपुट के लिए कोड को (या ड्राई रन) से गुजरने की हमेशा सिफारिश की जाती है। सकारात्मक और नकारात्मक मूल्यों के लिए प्रयास करें।
सकारात्मक मूल्य: एक्स = 2, वाई = 3
// swap logic - x=2, y=3 x = x + y; => x=5 y = x - y; => y=2 x = x - y; => x=3 x & y swapped (x=3, y=2)
नकारात्मक मान: एक्स = -3, वाई = 5
// swap logic - x=-3, y=5 x = x + y; => x=2 y = x - y; => y=-3 x = x - y; => x=5 x & y swapped (x=5 & y=-3)
Q # 2) किसी संख्या को उलटने के लिए कोई प्रोग्राम लिखिए?
उत्तर: अब समस्या कथन शुरू में डराने वाला लग सकता है, लेकिन साक्षात्कारकर्ता को प्रश्न स्पष्ट करने के लिए पूछना हमेशा बुद्धिमान होता है (लेकिन बहुत अधिक विवरण नहीं)। साक्षात्कारकर्ता समस्या के बारे में संकेत प्रदान करना चुन सकते हैं, लेकिन यदि उम्मीदवार बहुत सारे प्रश्न पूछता है, तो यह उम्मीदवार को समस्या को अच्छी तरह से समझने के लिए पर्याप्त समय नहीं देने का भी संकेत देता है।
यहाँ, उम्मीद है कि उम्मीदवार को कुछ धारणाएँ बनाने की उम्मीद है - उदाहरण के लिए, संख्या एक पूर्णांक हो सकती है। यदि इनपुट 345 है तो आउटपुट 543 होना चाहिए (जो कि 345 के विपरीत है)
आइए इस समाधान के लिए कोड स्निपेट देखें:
public class ReverseNumber { public static void main(String() args) { int num = 10025; System.out.println('Input - ' + num + ' Output:' + reverseNo(num)); } public static int reverseNo(int number) { int reversed = 0; while(number != 0) { int digit = number % 10; reversed = reversed * 10 + digit; number /= 10; } return reversed; } }
इनपुट के खिलाफ इस कार्यक्रम के लिए आउटपुट : 10025 - उम्मीद होगी : 52001
Q # 3) किसी संख्या के भाज्य की गणना करने के लिए कोई प्रोग्राम लिखिए?
उत्तर: फैक्टरियल लगभग सभी साक्षात्कारों में सबसे अधिक पूछे जाने वाले प्रश्नों में से एक है (डेवलपर साक्षात्कार सहित)
डेवलपर साक्षात्कार के लिए, प्रोग्रामिंग अवधारणाओं जैसे कि गतिशील प्रोग्रामिंग, पुनरावृत्ति, आदि पर अधिक ध्यान केंद्रित किया जाता है, जबकि टेस्ट परिप्रेक्ष्य में सॉफ्टवेयर डेवलपमेंट इंजीनियर से, अधिकतम मान, न्यूनतम मान, नकारात्मक मान, आदि और दृष्टिकोण / दक्षता जैसे धार परिदृश्यों को संभालना महत्वपूर्ण है। महत्वपूर्ण हैं लेकिन गौण हो जाते हैं।
चलो नकारात्मक संख्याओं को संभालने के साथ पुनरावर्तन और फॉर-लूप का उपयोग करते हुए फैक्टोरियल के लिए एक कार्यक्रम देखें और नकारात्मक संख्याओं के लिए निश्चित -9999 का निश्चित मान लौटाएं, जिसे फैक्टोरियल फ़ंक्शन को कॉल करने वाले प्रोग्राम में नियंत्रित किया जाना चाहिए।
कृपया नीचे दिए गए कोड स्निपेट को देखें:
public class Factorial { public static void main(String() args) { System.out.println('Factorial of 5 using loop is:' + factorialWithLoop(5)); System.out.println('Factorial of 10 using recursion is:' + factorialWithRecursion(10)); System.out.println('Factorial of negative number -100 is:' + factorialWithLoop(-100)); } public static long factorialWithLoop(int n) { if(n <0) { System.out.println('Negative nos can't have factorial'); return -9999; } long fact = 1; for (int i = 2; i <= n; i++) { fact = fact * i; } return fact; } public static long factorialWithRecursion(int n) { if(n < 0) { System.out.println('Negative nos can't have factorial'); return -9999; } if (n <= 2) { return n; } return n * factorialWithRecursion(n - 1); } }
आइए आउटपुट के लिए देखें - लूप का उपयोग करके फैक्टरियल, एक नकारात्मक संख्या की पुनरावृत्ति और फैक्टोरियल का उपयोग करके फैक्टरियल (जो -9999 का डिफ़ॉल्ट सेट मान लौटाएगा)
Q # 4) यह जांचने के लिए एक प्रोग्राम लिखें कि क्या किसी दिए गए स्ट्रिंग में संतुलित कोष्ठक हैं?
उत्तर:
दृष्टिकोण - यह थोड़ी जटिल समस्या है, जहां साक्षात्कारकर्ता सिर्फ कोडिंग निर्माणों के ज्ञान से थोड़ा अधिक लग रहा है। यहां, समस्या हाथ में समस्या के लिए उपयुक्त डेटा संरचना के बारे में सोचने और उपयोग करने की है।
आप में से बहुत से लोग इस प्रकार की समस्याओं से भयभीत महसूस कर सकते हैं, जैसा कि आप में से कुछ ने ये नहीं सुना होगा, और इसलिए यदि वे सरल हैं, तो वे जटिल लग सकते हैं।
लेकिन आम तौर पर ऐसी समस्याओं / प्रश्नों के लिए: उदाहरण के लिए, वर्तमान प्रश्न में, यदि आपको पता नहीं है कि संतुलित कोष्ठक क्या हैं, तो आप साक्षात्कारकर्ता से बहुत अच्छी तरह से पूछ सकते हैं और फिर एक ब्लाइंड स्पॉट मारने के बजाय समाधान की दिशा में काम कर सकते हैं।
आइए देखें कि किसी समाधान को कैसे प्राप्त करें: यह समझने के बाद कि संतुलित कोष्ठक क्या हैं, आप सही डेटा संरचना का उपयोग करने के बारे में सोच सकते हैं और फिर समाधान कोडिंग शुरू करने से पहले एल्गोरिदम (चरण) लिखना शुरू कर सकते हैं। बहुत बार, एल्गोरिदम स्वयं बहुत सारे किनारे के परिदृश्यों को हल करते हैं और समाधान क्या दिखते हैं, इस पर बहुत स्पष्टता देते हैं।
आइए देखें समाधान:
संतुलित कोष्ठक किसी दिए गए तार की जाँच करने के लिए होते हैं जिसमें कोष्ठक (या कोष्ठक) होते हैं, उनमें समान रूप से अच्छी तरह से संरचित के साथ ही उद्घाटन और समापन गिनती होनी चाहिए। इस समस्या के संदर्भ के लिए, हम संतुलित कोष्ठकों का उपयोग करेंगे -) () ’,‘ () ’, i {}’ - अर्थात दिए गए स्ट्रिंग में इन कोष्ठकों का कोई भी संयोजन हो सकता है।
कृपया ध्यान दें कि समस्या का प्रयास करने से पहले, यह स्पष्ट करना अच्छा है कि क्या स्ट्रिंग में केवल ब्रैकेट वर्ण या कोई संख्या होगी, आदि (क्योंकि यह तर्क को थोड़ा बदल सकता है)
उदाहरण: एक दी गई स्ट्रिंग - '{() {} ()} - एक संतुलित स्ट्रिंग है, क्योंकि यह संरचित है और इसमें कोष्ठक को बंद करने और खोलने के बराबर नहीं है, लेकिन स्ट्रिंग -' {(}) {} () '- यह स्ट्रिंग - भले ही कोष्ठक खोलने और बंद करने की समान संख्या नहीं है क्योंकि यह अभी भी संतुलित नहीं है क्योंकि आप देख सकते हैं कि '(' हमने 'बंद कर दिया है') के बिना (अर्थात बाहरी कोष्ठक को बंद करने से पहले सभी आंतरिक कोष्ठक बंद कर दिए जाने चाहिए)
हम इस समस्या को हल करने के लिए स्टैक डेटा संरचना का उपयोग करेंगे। यदि आप स्टैक की मूल बातों के बारे में अधिक जानना चाहते हैं तो कृपया देखें यहाँ
एक स्टैक एक LIFO है (डेटा के अंतिम प्रकार में अंतिम प्रकार), इसे एक शादी में प्लेटों के ढेर / ढेर के रूप में सोचें - जब भी आप इसका उपयोग कर रहे हैं तो आप सबसे ऊपर की प्लेट उठा लेंगे।
कलन विधि:
# 1) एक चरित्र ढेर घोषित करें (जो कि वर्णों को स्ट्रिंग में रखेगा और कुछ तर्क के आधार पर, वर्णों को धक्का और पॉप आउट करेगा)।
# 2) इनपुट स्ट्रिंग के माध्यम से, और जब भी
- एक प्रारंभिक ब्रैकेट वर्ण है - यानी ‘({, {et या‘ (‘) स्टैक पर वर्ण को धकेलें।
- एक समापन चरित्र है - अर्थात '' '', '}', ')' - स्टैक से एक तत्व पॉप करें और जांचें कि क्या यह समापन चरित्र के विपरीत से मेल खाता है - (यदि चरित्र 'है' ') तो स्टैक पॉप पर आपको उम्मीद करनी चाहिए' ' {'
- यदि पॉपिंग तत्व विपरीत कोष्ठक से मेल नहीं खाता है, तो स्ट्रिंग संतुलित नहीं है और आप परिणाम वापस कर सकते हैं।
- स्टैक पुश और पॉप अप्रोच (चरण 2 पर जाएं) के साथ भी जारी है।
- यदि स्ट्रिंग पूरी तरह से आरेखित है और स्टैक का आकार शून्य है, तो हम कह सकते हैं / अनुमान लगा सकते हैं कि दी गई स्ट्रिंग एक संतुलित कोष्ठक स्ट्रिंग है।
इस बिंदु पर, आप एक एल्गोरिथ्म के रूप में आपके पास मौजूद समाधान दृष्टिकोण पर भी चर्चा कर सकते हैं और यह सुनिश्चित कर सकते हैं कि साक्षात्कारकर्ता दृष्टिकोण के साथ ठीक है।
कोड:
import java.util.Stack; public class BalancedParanthesis { public static void main(String() args) { final String input1 = '{()}'; System.out.println('Checking balanced paranthesis for input:' + input1); if (isBalanced(input1)) { System.out.println('Given String is balanced'); } else { System.out.println('Given String is not balanced'); } } /** * function to check if a string has balanced parentheses or not * @param input_string the input string * @return if the string has balanced parentheses or not */ private static boolean isBalanced(String input_string) { Stack stack = new Stack(); for (int i = 0; i उपरोक्त कोड स्निपेट का आउटपुट:

जैसा कि हमने अपनी पिछली कोडिंग समस्याओं के लिए किया था, कोड को कम से कम 1-2 मान्य के साथ-साथ 1-2 अमान्य इनपुट के साथ चलाना हमेशा अच्छा होता है और सुनिश्चित करें कि सभी मामलों को उचित रूप से नियंत्रित किया जाए।
ध्यान दें: समाधान को हमेशा जोर से सोचना अच्छा है (और सिर्फ मन के भीतर नहीं) - और आश्चर्यजनक रूप से यह एक महत्वपूर्ण विशेषता है जो साक्षात्कारकर्ता खोज रहे हैं। बहुत सारे साक्षात्कारकर्ता एल्गोरिथ्म के साथ दूर कर सकते हैं और अगली समस्या बयान पर जा सकते हैं।
डेवलपर साक्षात्कार के लिए उपरोक्त कोडिंग समाधान में, साक्षात्कारकर्ता सीधे स्टैक के बजाय सरणियों का उपयोग करके इसे हल करने के लिए कह सकता है (यानी एक स्टैक के रूप में सरणी का उपयोग करना), लेकिन सामान्य तौर पर, यह वैचारिक रूप से स्पष्ट होने के बारे में अधिक है और सभी वैध को संभालने में सक्षम है और अमान्य इनपुट।
टेस्ट ऑटोमेशन फ्रेमवर्क संबंधित
साक्षात्कार का यह खंड परीक्षण और एसडीईटी जिम्मेदारियों के आसपास अधिक विशिष्ट है। ऑटोमेशन फ्रेमवर्क डिजाइन और विकास से संबंधित प्रश्न, विभिन्न दृष्टिकोणों का उपयोग करने के पेशेवरों और विपक्षों आदि की अपेक्षा करें।
आइए उसी के लिए कुछ नमूना प्रश्न और समाधान देखें।
Q # 5) वेब एप्लिकेशन के लिए ऑटोमेशन फ्रेमवर्क के घटकों की व्याख्या और डिजाइन करें?
उत्तर: यह प्रश्न थोड़ा व्यक्तिपरक है, और साक्षात्कारकर्ता को यह अनुमान लगाने का इरादा है कि उम्मीदवार रूपरेखा डिजाइन और विकास के बारे में कितना जानता है। इस प्रश्न का उत्तर साक्षात्कारकर्ता को यह समझने में मदद करता है कि क्या उम्मीदवार स्क्रैच से कस्टम फ्रेमवर्क बना सकता है या बना सकता है।
आइए एक दो बिंदु देखें जो आपको इस प्रश्न के समाधान की संरचना करने में मदद करेंगे:
- आप विभिन्न प्रकार के फ्रेमवर्क के बारे में बात कर सकते हैं जैसे - डेटा-चालित, कीवर्ड-चालित, हाइब्रिड फ़्रेमवर्क।
- वेब एप्लिकेशन के विभिन्न पृष्ठों / मॉड्यूलों पर विभिन्न तत्वों के विवरण संग्रहीत करने के लिए पेज ऑब्जेक्ट मॉडल।
- सामान्य मॉड्यूल जैसे सहायक कार्य, उपयोगिताओं, लॉगर, आदि।
- रिपोर्टिंग मॉड्यूल जैसे परीक्षण निष्पादन की रिपोर्ट उत्पन्न करना, ईमेल और शेड्यूलिंग परीक्षण निष्पादन के साथ रिपोर्ट को एकीकृत करना आदि।
अनुशंसित पढ़ना => सबसे लोकप्रिय टेस्ट ऑटोमेशन फ्रेमवर्क
Q # 6) मोबाइल एप्लिकेशन के लिए परीक्षण रणनीति बताएं?
उत्तर: ये प्रश्न आमतौर पर भूमिका के आधार पर पूछे जाते हैं। यदि भूमिका प्रमुख रूप से मोबाइल ऐप्स पर काम करती है तो सवाल अधिक प्रासंगिकता रखता है। आप अपने अनुभव से बात कर सकते हैं यदि आपने अपनी वर्तमान या पिछली भूमिकाओं के हिस्से के रूप में मोबाइल परीक्षण की योजना बनाई है।
इस प्रश्न का उत्तर देने के लिए कुछ संकेत,
- डिवाइस बनाम इम्यूलेटर पर परीक्षण।
- विभिन्न स्क्रीन पर वस्तुओं / तत्वों को पहचानना और संग्रहीत करना - उदाहरण: पेज ऑब्जेक्ट मॉडल।
- मोबाइल एप्लिकेशन का परीक्षण लोड करें।
- आप विभिन्न प्रकार के मोबाइल एप्लिकेशन के बारे में बात कर सकते हैं जैसे - मूल एप्लिकेशन, हाइब्रिड ऐप्स और उन रणनीतियों / दृष्टिकोणों पर चर्चा करें जिनका आप उन्हें परीक्षण करने के लिए उपयोग करेंगे।
अनुशंसित पढ़ना => मोबाइल ऐप टेस्टिंग ट्यूटोरियल
Q # 7) REST API का परीक्षण करने के लिए एक स्वचालन ढांचा तैयार करें?
उत्तर: यह फिर से एक व्यक्तिपरक सवाल है और आप स्पष्ट सवाल पूछ सकते हैं कि क्या साक्षात्कारकर्ता एपीआई के कार्यात्मक व्यवहार या लोड / प्रदर्शन परीक्षण जैसी गैर-कार्यात्मक आवश्यकताओं के परीक्षण के लिए एक रूपरेखा विकसित करना चाहता है।
आप नीचे दिए गए बिंदुओं को शामिल करते हुए अपना जवाब शुरू कर सकते हैं:
- एपीआई ऑटोमेशन फ्रेमवर्क घटक जैसे स्थानीय सेटअप, एपीआई का नकली सेटअप या होस्ट किया गया एपीआई परीक्षण।
- एपीआई स्वचालन के लिए उपयोग किए जाने वाले उपकरण। REST- आधारित API के कार्यात्मक पहलुओं को मान्य करने के लिए बॉक्स से बाहर विभिन्न उपकरण उपलब्ध हैं। कुछ ऐसे उपकरण पोस्टमैन, रेस्ट एश्योर्ड आदि हैं। विभिन्न उपकरणों के गहन विवरण के लिए, आप हमारे लेख का संदर्भ ले सकते हैं यहाँ ।
- एपीआई के गैर कार्यात्मक स्वचालन।
- स्वचालन परीक्षणों का अनुसूचित निष्पादन।
- एपीआई के लिए स्वचालन परीक्षण का घालमेल।
क्यू # 8) फ्रेमवर्क विशिष्ट प्रश्न।
उत्तर: कई बार प्रोफ़ाइल के साक्षात्कार के आधार पर, एक उम्मीदवार के लिए एक निश्चित रूपरेखा के साथ कुशल होने की आवश्यकता हो सकती है - पूर्व। सेलेनियम, जेमीटर, आदि।
अनुशंसित पढ़ना => डाकिया , मॉकिटो , स्पंदन , सेलेनियम , JMeter
परीक्षण संबंधी
हालांकि शायद ही कभी, लेकिन प्रोफाइल के आधार पर, सामान्य परीक्षण प्रथाओं, शर्तों और प्रौद्योगिकियों के आसपास प्रश्न हो सकते हैं - जैसे बग गंभीरता, प्राथमिकता, परीक्षण योजना, परीक्षण आवरण, आदि। एक एसडीईटी से सभी मैनुअल परीक्षण अवधारणाओं को जानने की उम्मीद है और परिचित होना चाहिए। महत्वपूर्ण शब्दावली के साथ।
इस भाग में, आप इन जैसे प्रश्नों की अपेक्षा कर सकते हैं:
Q # 9) परीक्षण योजना के विभिन्न घटक क्या हैं?
उत्तर: ये आम तौर पर बुनियादी परीक्षण अवधारणाओं और मानसिकता को मान्य करने के लिए कहा जाता है। ये नियम और दस्तावेज कुछ ऐसे हैं जो हर मैनुअल क्यूए और स्वचालन एसडीईटी को पता होना चाहिए।
आप यहाँ परीक्षण योजना के विभिन्न घटकों की चर्चा कर सकते हैं,
- प्रवेश और बाहर निकलें मानदंड
- स्कोप: परीक्षण सुविधाओं पर चर्चा करें जो कि दायरे में हैं और सभी स्वचालित होंगे - क्या यह केवल कार्यात्मक विशेषताएं या गैर-कार्यात्मक आवश्यकताएं होंगी जैसे कि स्केलेबिलिटी, प्रदर्शन, आदि।
- समयसीमा
- उपयोग किए जाने वाले उपकरण
- संसाधन आवंटन, आदि
अनुशंसित पढ़ना => एक अच्छी परीक्षा योजना कैसे लिखें
Q # 10) बग की प्राथमिकता और गंभीरता को क्या परिभाषित और तय करता है?
उत्तर: दोष प्राथमिकता और गंभीरता को उदाहरणों की सहायता से आसानी से समझाया जा सकता है। मान लीजिए कि साइन अप जैसी कोई सुविधा टूट गई है और उपयोगकर्ताओं को एप्लिकेशन तक पहुंचने से रोक रही है - तो यह एक उच्च प्राथमिकता और उच्च गंभीरता का मुद्दा है। इसी तरह, कम गंभीरता / उच्च प्राथमिकता दोष और विभिन्न अन्य संयोजनों के उदाहरण हो सकते हैं।
सामान्य रूप में,
- वरीयता मुद्दे के महत्व को दर्शाता है।
- तीव्रता उस प्रभाव को दर्शाता है जो समस्या ग्राहक या एप्लिकेशन के उपयोगकर्ता के लिए है।
अनुशंसित पढ़ना => दोष प्राथमिकता और गंभीरता
Q # 11) समतुल्यता विभाजन क्या है? एक उदाहरण से समझें।
उत्तर: समतुल्य विभाजन एक तकनीक है जिसका उपयोग ज्यादातर ब्लैक बॉक्स परीक्षण के लिए किया जाता है, किसी दिए गए क्षेत्र के खिलाफ इनपुट के विभिन्न संयोजनों का परीक्षण करने के लिए।
उदाहरण के लिए, यदि आप एक ट्रेडिंग एप्लिकेशन का परीक्षण कर रहे हैं, और आप 'मात्रा' फ़ील्ड के लिए सभी परीक्षण परिदृश्य लिखना चाहते हैं - तो इस क्षेत्र के लिए आपके द्वारा परीक्षण किए जाने वाले विभिन्न इनपुट क्या होंगे?
कार्यात्मक आवश्यकता को देखते हुए मात्रा 1 और 100000 के बीच एक सकारात्मक पूर्णांक मान होना चाहिए। इसलिए विभिन्न इनपुट (दोनों वैध और अमान्य) का परीक्षण करने के लिए, आप प्रत्येक ऐसी श्रेणी से 1 इनपुट के लिए परीक्षण कर सकते हैं।
- मान्य मान: 1 और 100000 के बीच -> किसी भी मान्य मान x के लिए परीक्षण करें जैसे कि x> 1 और x<100000.
- सीमा मूल्य: अनुमत सीमा मानों के लिए परीक्षण करें अर्थात् 1 और 100000।
- अमान्य मान: वे मान जो अनुमत सीमा के बाहर हैं - अर्थात् x के लिए एक ऐसे मान के लिए परीक्षण करें, जैसे कि x 100000।
अनुशंसित पढ़ना => समतुल्यता विभाजन की रणनीति
सिस्टम डिज़ाइन संबंधित
सिस्टम डिज़ाइन प्रश्न आमतौर पर डेवलपर साक्षात्कार के लिए अधिक अनुकूल होते हैं जहां एक डेवलपर को विभिन्न सामान्य अवधारणाओं की व्यापक समझ पर आंका जाता है - जैसे कि स्केलेबिलिटी, उपलब्धता, दोष सहिष्णुता, डेटाबेस चयन, थ्रेडिंग, आदि। संक्षेप में, आपको अपने संपूर्ण उपयोग की आवश्यकता होगी। ऐसे सवालों का जवाब देने के लिए अनुभव और सिस्टम ज्ञान।
लेकिन आप महसूस कर रहे होंगे कि एक प्रणाली जो अनुभव के वर्षों और सैकड़ों डेवलपर्स को कोड करने के लिए लेती है, कोई व्यक्ति लगभग 45 मिनट में प्रश्न का उत्तर कैसे दे सकता है?
उत्तर है: यहां उम्मीद है कि उम्मीदवार की समझ और ज्ञान के व्यापक स्पेक्ट्रम को पहचानने के लिए कि वह जटिल समस्याओं को हल करते समय आवेदन कर सकता है।
आजकल, ये प्रश्न SDET साक्षात्कार में भी फेंके जाने लगे हैं। यहां उम्मीद डेवलपर के साक्षात्कार के समान ही है, लेकिन आराम से निर्णय मानदंड और इसके ज्यादातर बार रेज़र दौर के साथ, जहां उम्मीदवार के जवाब के आधार पर, एक उम्मीदवार को अगले स्तर के लिए माना जा सकता है या निचले स्तर पर ले जाया जा सकता है।
सामान्य तौर पर, सिस्टम डिज़ाइन साक्षात्कार प्रश्नों के लिए, उम्मीदवार को नीचे की अवधारणाओं से परिचित होना चाहिए
- ऑपरेटिंग सिस्टम की मूल बातें: पेजिंग, फाइल सिस्टम, वर्चुअल मेमोरी और फिजिकल मेमोरी इत्यादि।
- नेटवर्किंग अवधारणाएँ: HTTP संचार, टीसीपी / आईपी स्टैक, नेटवर्क टोपोलॉजी।
- स्केलेबिलिटी की अवधारणाएं: क्षैतिज और ऊर्ध्वाधर स्केलिंग।
- कंसीडर / थ्रेडिंग कांसेप्ट
- डेटाबेस प्रकार: SQL / No SQL डेटाबेस, जब किस प्रकार के डेटाबेस, फायदे, और विभिन्न प्रकार के डेटाबेस के नुकसान का उपयोग करना है।
- हैशिंग तकनीक
- की बुनियादी समझ टोपी प्रमेय, पैनापन, विभाजन, आदि।
आइए कुछ नमूना प्रश्न देखें
Q # 12) URL जैसे सिस्टम को छोटा करने के लिए डिज़ाइन करें छोटा URL ?
उत्तर: कई उम्मीदवारों को सामान्य रूप से URL को छोटा करने की प्रणाली के बारे में भी नहीं पता होगा। उस स्थिति में, साक्षात्कारकर्ता को बिना समझे नीचे गोता लगाने के बजाय समस्या कथन के बारे में पूछना ठीक है।
इस तरह के सवालों का जवाब देने से पहले, उम्मीदवारों को समाधान की संरचना करनी चाहिए और बुलेट पॉइंट लिखना चाहिए और फिर साक्षात्कारकर्ता के साथ समाधान पर चर्चा करना शुरू करना चाहिए।
आइए संक्षेप में समाधान पर चर्चा करें
क) कार्यात्मक और गैर-व्यावसायिक आवश्यकताओं को स्पष्ट करें
कार्यकारी आवश्यकताएं: कार्यात्मक आवश्यकता बस एक ग्राहक के दृष्टिकोण से है, यह एक प्रणाली है जिसे एक बड़ा (लंबी लंबाई) URL खिलाया जाता है, और आउटपुट एक छोटा URL होना चाहिए।
जब छोटा URL एक्सेस किया जाता है, तो उसे उपयोगकर्ता को मूल URL पर पुनर्निर्देशित करना चाहिए। उदाहरण के लिए - https://tinyurl.com/ वेब पेज पर एक वास्तविक URL को छोटा करने का प्रयास करें, www.softwaretestinghelp.com जैसे एक इनपुट URL को फ़ीड करें और आपको https://tinyurl.com/shclcqa जैसा एक छोटा URL मिलना चाहिए
गैर-कार्यात्मक आवश्यकताएं: सिस्टम को मिलीसेकंड विलंबता (मूल URL तक पहुंचने वाले उपयोगकर्ता के लिए एक अतिरिक्त आशा के रूप में) के साथ पुनर्निर्देशित करने के मामले में अच्छा होना चाहिए।
- लघु URL में एक विन्यास योग्य समय होना चाहिए।
- छोटे URL अनुमानित नहीं होने चाहिए।
ख) क्षमता / यातायात अनुमान
यह सभी सिस्टम डिज़ाइन प्रश्नों के दृष्टिकोण से बहुत महत्वपूर्ण है। क्षमता अनुमान अनिवार्य रूप से अपेक्षित भार निर्धारित कर रहा है जो सिस्टम को मिलने वाला है। एक धारणा के साथ शुरुआत करना और साक्षात्कारकर्ता के साथ चर्चा करना हमेशा अच्छा होता है। यह डेटाबेस साइज़िंग की योजना के दृष्टिकोण से भी महत्वपूर्ण है, चाहे सिस्टम पढ़ने में भारी हो या लेखन-भारी आदि।
URL शॉर्टनर उदाहरण के लिए कुछ क्षमता संख्याएँ दें।
मान लीजिए, प्रति दिन 100k नए URL को छोटा करने के अनुरोध होंगे (100: 1 पढ़ने-लिखने का अनुपात - यानी हर 1 छोटे URL के लिए, हमारे पास छोटे URL के खिलाफ 100 रीड अनुरोध होंगे)
तो हमारे पास होगा,
100k write requests/day => 100000/(24x60x60) => 1.15 request/second 10000k read requests/day => 10000000/(24x60x60) => 1157 requests/second
ग) भंडारण और मेमोरी विचार
क्षमता संख्याओं के बाद, हम इन संख्याओं को प्राप्त करने के लिए एक्सट्रपलेशन कर सकते हैं,
- अपेक्षित भार को समायोजित करने के लिए भंडारण क्षमता की आवश्यकता होगी, उदाहरण के लिए, हम 1 साल तक के अनुरोधों का समर्थन करने के लिए भंडारण समाधान डिजाइन करने की योजना बना सकते हैं।
उदाहरण: यदि प्रत्येक छोटा URL 50 बाइट का उपभोग करता है, तो कुल डेटा / स्टोरेज जिसकी हमें एक वर्ष में आवश्यकता होगी:
=> total write requests/day x 365 x 50 / (1024x1024) => 1740 MB
- पाठक के दृष्टिकोण से प्रणाली की योजना बनाने के लिए मेमोरी विचार महत्वपूर्ण हैं। यानी सिस्टम के लिए जो रीड-हैवी होते हैं - जैसे हम जिसे बनाने की कोशिश कर रहे हैं (क्योंकि URL एक बार बनाया जाएगा लेकिन कई बार एक्सेस किया जा सकता है)।
पढ़ें भारी सिस्टम आम तौर पर कैशिंग का उपयोग अधिक प्रदर्शनशील बनने के लिए और स्थायी भंडारण से पढ़ने से बचने के लिए I / O पर पढ़ें।
मान लीजिए, हम अपने रीड अनुरोधों के 60% को कैश में स्टोर करना चाहते हैं, इसलिए प्रत्येक वर्ष हमें प्रत्येक प्रविष्टि द्वारा आवश्यक वर्ष के बाइट्स पर कुल रीड्स के 60% की आवश्यकता होगी।
=> (60/100) x 100000 x 365 x (50/1024x1024) => 1045 MB ~ 1GB
इसलिए, हमारी क्षमता संख्या के अनुसार, इस प्रणाली के लिए लगभग 1 जीबी भौतिक मेमोरी की आवश्यकता होगी
घ) बैंडविड्थ का अनुमान
बैंडविड्थ अनुमानों को बाइट्स में पढ़ने और लिखने की गति का विश्लेषण करने के लिए आवश्यक है जो कि एक सिस्टम के प्रदर्शन के लिए आवश्यक होगा। हमारे द्वारा ली गई क्षमता संख्या के विरुद्ध अनुमान लगाते हैं।
उदाहरण: यदि प्रत्येक छोटा URL 50 बाइट का उपभोग करता है, तो कुल गति पढ़ने और लिखने के लिए हमारी आवश्यकता निम्नानुसार होगी:
WRITE - 1.15 x 50bytes = 57.5 bytes/s READS - 1157 x 50bytes = 57500 bytes/s => 57500 / 1024 => 56.15 Kb/s
ई) सिस्टम डिजाइन और एल्गोरिथ्म
यह मूल रूप से मुख्य व्यावसायिक तर्क या एल्गोरिथ्म है जिसका उपयोग कार्यात्मक आवश्यकताओं को पूरा करने के लिए किया जाएगा। इस मामले में, हम किसी दिए गए URL के लिए अद्वितीय छोटा URL बनाना चाहते हैं।
छोटे URL उत्पन्न करने के लिए उपयोग किए जा सकने वाले विभिन्न दृष्टिकोण हैं:
हाशिंग: हम इनपुट URL का एक हैश बनाकर और छोटा URL के रूप में हैश कुंजी असाइन करके छोटा URL बनाने के बारे में सोच सकते हैं।

इस दृष्टिकोण में कुछ समस्याएँ हो सकती हैं जब सेवा के अलग-अलग उपयोगकर्ता होते हैं, और यदि वे एक ही URL दर्ज करते हैं, तो उनका परिणाम एक ही छोटा URL प्राप्त होगा।
पहले से बनाए गए छोटे तारऔर जब सेवा कहलाती है तो उसे URL को सौंपा जाता है: एक और तरीका यह हो सकता है कि पहले से बने तारों के पूल से एक पूर्वनिर्धारित छोटा स्ट्रिंग लौटाया जाए।

सेवा एपीआई: हम URL शॉर्टनर सिस्टम को REST- आधारित APIs के सेट के रूप में सोच सकते हैं, जिनमें निम्नलिखित समापन बिंदु हैं:
- createUrl (स्ट्रिंग Url, दिनांक समय सीमा समाप्ति समय): यह समापन बिंदु इनपुट में निर्दिष्ट समाप्ति अवधि सेट के साथ एक छोटा URL बनाता है और देता है।
- पुनः प्राप्त करें (स्ट्रिंग को छोटा किया गया): यह समापन बिंदु दिए गए छोटे URL के मुकाबले URL को पुनर्निर्देशित करता है।
च) स्केलिंग और कंजेंसी
गैर-कार्यात्मक आवश्यकता के दृष्टिकोण से स्केलिंग एक महत्वपूर्ण विचार है।
यह कैसे प्रणाली के साथ काम करता है
- लोड के तहत स्केल: सिस्टम को लोड के तहत इनायत पैमाने पर करने में सक्षम होना चाहिए और न केवल लोड में अप्रत्याशित स्पाइक के बाद काम करना बंद करना चाहिए।
अनुशंसित पढ़ना => स्केलिंग तकनीक
- सिस्टम कैसा हो सकता है, उदाहरण के लिए: यदि सिस्टम को लंबे समय तक निरंतर क्षमता के साथ उपयोग किया जाता है, तो क्या सिस्टम प्रदर्शन नीचा हो जाता है या यह स्थिर रहता है?
नीचे कई अलग-अलग सिस्टम डिज़ाइन प्रश्न हो सकते हैं, लेकिन आम तौर पर बोलना, इन सभी में विभिन्न अवधारणाओं के बारे में उम्मीदवार की व्यापक समझ का परीक्षण होता है, जिनके बारे में हमने URL शॉर्टिंग सिस्टम के समाधान में चर्चा की है।
Q # 13) Youtube जैसा वीडियो प्लेटफॉर्म डिजाइन करें।
उत्तर: इस प्रश्न से भी संपर्क किया जा सकता है, इसी तरह से जैसा कि हमने ऊपर TinyUrl प्रश्न पर चर्चा की है (और यह लगभग सभी सिस्टम डिज़ाइन साक्षात्कार प्रश्नों पर लागू होता है)। एक विभेदक कारक उस प्रणाली के चारों ओर देखना / विस्तार करना होगा जिसे आप डिज़ाइन करना चाहते हैं।
तो Youtube के लिए, हम सभी इसके वीडियो स्ट्रीमिंग एप्लिकेशन को जानते हैं और इसमें बहुत सी क्षमताएं हैं जैसे कि उपयोगकर्ता को नए वीडियो अपलोड करने, लाइव वेबकास्ट स्ट्रीम करने आदि की अनुमति है, इसलिए सिस्टम को डिज़ाइन करते समय आपको आवश्यक सिस्टम डिज़ाइन घटकों को लागू करना चाहिए। इस मामले में, हमें वीडियो स्ट्रीमिंग क्षमताओं से संबंधित घटकों को जोड़ना पड़ सकता है।
आप जैसे बिंदुओं पर चर्चा कर सकते हैं,
- भंडारण: आप वीडियो सामग्री, उपयोगकर्ता प्रोफ़ाइल, प्लेलिस्ट आदि को संग्रहीत करने के लिए किस तरह का डेटाबेस चुनेंगे?
- सुरक्षा और प्रमाणीकरण / प्राधिकरण
- कैशिंग: चूँकि youtube जैसे स्ट्रीमिंग प्लेटफॉर्म का प्रदर्शन अच्छा होना चाहिए, ऐसे किसी भी सिस्टम को डिजाइन करने के लिए कैशिंग एक महत्वपूर्ण कारक है।
- चिंता: कितने उपयोगकर्ता समानांतर में वीडियो स्ट्रीम कर सकते हैं?
- अन्य प्लेटफ़ॉर्म फ़ंक्शंस जैसे वीडियो अनुशंसा सेवा, जो उपयोगकर्ताओं को अगले वीडियो को देखने / देखने आदि की सलाह / सुझाव देती है।
Q # 14) 6 लिफ्ट के संचालन के लिए एक कुशल प्रणाली डिजाइन करें और यह सुनिश्चित करने के लिए कि लिफ्ट तक पहुंचने के लिए किसी व्यक्ति को न्यूनतम समय तक इंतजार करना पड़े। ?
उत्तर: इस प्रकार के सिस्टम डिज़ाइन प्रश्न अधिक निम्न स्तर के होते हैं और उम्मीद करते हैं कि उम्मीदवार पहले एलेवेटर सिस्टम के माध्यम से सोचेंगे और उन सभी संभावित कार्यों को सूचीबद्ध करेंगे जिन्हें हल करने की आवश्यकता है और समाधान के रूप में कक्षाएं और DB संबंध / स्कीमा तैयार करें।
एसडीईटी के दृष्टिकोण से, साक्षात्कारकर्ता केवल मुख्य वर्गों से अपेक्षा करेगा कि आपको लगता है कि आपके आवेदन या सिस्टम में होगा और मूल कार्यात्मकता को सुझाए गए समाधान के साथ संभाला जाएगा।
चलो लिफ्ट प्रणाली की विभिन्न कार्यक्षमताओं की उम्मीद करेंगे
आप जैसे स्पष्ट सवाल पूछ सकते हैं
- वहां कितनी मंजिल हैं?
- कितने लिफ्ट हैं?
- क्या सभी लिफ्ट सेवा / यात्री लिफ्ट हैं?
- क्या सभी लिफ्टों को प्रत्येक मंजिल पर रोका जा सकता है?
यहाँ विभिन्न उपयोग के मामले हैं जो एक साधारण एलेवेटर सिस्टम के लिए लागू हैं:

इस प्रणाली के मुख्य वर्गों / वस्तुओं के संदर्भ में, आप इस पर विचार कर सकते हैं:
- उपयोगकर्ता: एक उपयोगकर्ता के सभी गुणों और कार्यों से संबंधित है जो वे लिफ्ट ऑब्जेक्ट पर ले सकते हैं।
- लिफ्ट: ऊंचाई विशिष्ट गुण जैसे ऊँचाई, चौड़ाई, एलिवेटर_सेरियल_नंबर।
- लिफ्ट दरवाजा: दरवाजे से संबंधित सभी चीजें जैसे कोई दरवाजे नहीं, दरवाजे का प्रकार, स्वचालित या मैनुअल, आदि।
- Elevator_Button_Control: एलेवेटर में उपलब्ध विभिन्न बटन / नियंत्रण यह बताता है कि उन नियंत्रणों में हो सकता है।
एक बार जब आप काम कर लेते हैं, तो कक्षाओं और उनके संबंधों को डिजाइन करते हुए, आप DB स्कीमा को कॉन्फ़िगर करने के बारे में बात कर सकते हैं।
एलेवेटर सिस्टम का एक अन्य महत्वपूर्ण घटक ईवेंटिंग सिस्टम है। आप अपाचे कफ़्का का उपयोग करके घटनाओं को बनाने के लिए कतारों को लागू करने या अधिक जटिल सेटअप के बारे में बात कर सकते हैं जहां घटनाओं को संबंधित प्रणालियों पर वितरित किया जाता है।
ईवेंटिंग सिस्टम एक महत्वपूर्ण पहलू है क्योंकि एक ही समय में कई उपयोगकर्ता (विभिन्न मंजिलों पर) लिफ्ट का उपयोग कर रहे हैं। इसलिए उपयोगकर्ता के अनुरोधों को पंक्तिबद्ध किया जाना चाहिए और एलेवेटर नियंत्रकों में कॉन्फ़िगर किए गए तर्क के अनुसार कार्य किया जाना चाहिए।
क्यू # 15) डिजाइन इंस्टाग्राम / ट्विटर / फेसबुक।
उत्तर: ये सभी प्लेटफ़ॉर्म एक तरह से संबंधित हैं क्योंकि वे उपयोगकर्ताओं को किसी न किसी तरह से कनेक्ट करने की अनुमति देते हैं और विभिन्न प्रकारों के माध्यम से चीजों को साझा करते हैं - जैसे संदेश / वीडियो और चैट।
इसलिए, इन प्रकार के सोशल मीडिया एप्लिकेशन / प्लेटफ़ॉर्म के लिए, आपको ऐसे सिस्टम को डिज़ाइन करने के लिए चर्चा करते समय नीचे दिए गए बिंदुओं को शामिल करना चाहिए (इसके अलावा हमने URL शॉर्नेर सिस्टम को डिज़ाइन करने के लिए क्या चर्चा की है):
- क्षमता अनुमान: इनमें से अधिकांश प्रणालियां रीड-हेवी होंगी, इसलिए क्षमता आकलन की आवश्यकता है और हमें यह सुनिश्चित करने में सक्षम करेगा कि आवश्यक लोड की सेवा के लिए उपयुक्त सर्वर और डेटाबेस कॉन्फ़िगरेशन सुनिश्चित किया जाए।
- DB योजना: मुख्य महत्वपूर्ण DB स्कीमा जिस पर चर्चा की जानी चाहिए, वह है - उपयोगकर्ता विवरण, उपयोगकर्ता संबंध, संदेश स्कीमा, सामग्री योजनाएँ।
- वीडियो और छवि होस्टिंग सर्वर: इनमें से अधिकांश एप्लिकेशन में उपयोगकर्ताओं के वीडियो और चित्र साझा किए गए हैं। इसलिए वीडियो और इमेज होस्टिंग सर्वर को जरूरत के अनुसार कॉन्फ़िगर किया जाना चाहिए।
- सुरक्षा: इन सभी ऐप्स को उपयोगकर्ता द्वारा संग्रहीत उपयोगकर्ता की जानकारी / व्यक्तिगत रूप से पहचान योग्य जानकारी के कारण उच्च स्तर की सुरक्षा सुनिश्चित करनी चाहिए। हैकिंग के किसी भी प्रयास, SQL इंजेक्शन को इन प्लेटफार्मों पर सफल नहीं होना चाहिए क्योंकि इससे लाखों ग्राहकों का डेटा खोने का खतरा हो सकता है।
परिदृश्य आधारित समस्याएं
परिदृश्य आधारित समस्याएं आम तौर पर वरिष्ठ स्तर के लोगों के लिए होती हैं, जहां विभिन्न वास्तविक समय परिदृश्य दिए जाते हैं और उम्मीदवार से उनके विचारों के बारे में पूछा जाता है कि वे ऐसी स्थिति को कैसे संभालेंगे।
Q # 16) एक महत्वपूर्ण हॉटफ़िक्स को जल्द से जल्द जारी करने की आवश्यकता है - आपके पास किस प्रकार की परीक्षण रणनीति होगी?
उत्तर: अब, यहाँ साक्षात्कारकर्ता अनिवार्य रूप से समझना चाहता है
- आप कैसे और किस तरह की परीक्षण रणनीतियों के बारे में सोच सकते हैं?
- हॉटफ़िक्स के लिए आप क्या कवरेज करेंगे?
- आप हॉटफ़िक्स पोस्ट-परिनियोजन को कैसे मान्य करेंगे? आदि।
ऐसे सवालों का जवाब देने के लिए, यदि आप समस्या से संबंधित हो सकते हैं तो आप वास्तविक जीवन की स्थितियों का उपयोग कर सकते हैं। आपको यह भी उल्लेख करना चाहिए कि उपयुक्त परीक्षण के बिना, आप उत्पादन के लिए किसी भी कोड को जारी करने के लिए तैयार नहीं होंगे।
महत्वपूर्ण सुधारों के लिए, आपको हमेशा डेवलपर के साथ मिलकर काम करना चाहिए और यह समझने की कोशिश करनी चाहिए कि किन क्षेत्रों में इसका असर हो सकता है और परिदृश्य को दोहराने के लिए गैर-उत्पादन वातावरण तैयार कर सकता है और फिक्स का परीक्षण कर सकता है।
यहां यह भी उल्लेख करना महत्वपूर्ण है कि आप उत्पादन पर किसी भी असामान्य व्यवहार को देखने के लिए फिक्स की निगरानी करना (उपकरण, डैशबोर्ड, लॉग, आदि की निगरानी का उपयोग करके) जारी रखेंगे और यह सुनिश्चित करेंगे कि फिक्स का कोई नकारात्मक प्रभाव न हो। किया हुआ।
साथ ही अन्य प्रश्न भी हो सकते हैं जो अधिकतर स्वचालन परीक्षण, वितरण समय, आदि पर उम्मीदवार के दृष्टिकोण को समझने के लिए हैं (और ये प्रश्न कंपनी के साथ-साथ भूमिका की वरिष्ठता में भिन्न हो सकते हैं। आम तौर पर ये प्रश्न वरिष्ठ / लीड स्तर के लिए पूछे जाते हैं। भूमिकाएँ)
Q # 17) क्या आप किसी उत्पाद को तेज़ी से जारी करने के लिए पूर्ण परीक्षण का त्याग करेंगे?
उत्तर: इन प्रश्नों में आमतौर पर साक्षात्कारकर्ता को नेतृत्व के दृष्टिकोण से आपके विचारों को समझने के लिए शामिल किया जाता है और वे कौन सी चीजें हैं जिनसे आप समझौता करेंगे, और क्या आप कम समय के बदले में एक छोटी गाड़ी उत्पाद जारी करने के लिए तैयार होंगे।
इन सवालों के जवाब उम्मीदवार के वास्तविक अनुभवों के खिलाफ होने चाहिए।
उदाहरण के लिए, आप उल्लेख कर सकते हैं कि अतीत में, आपको कुछ हॉटफ़िक्स को रिलीज़ करने के लिए कॉल करना पड़ता था, लेकिन एकीकरण वातावरण की अनुपलब्धता के कारण इसका परीक्षण नहीं किया जा सकता था। इसलिए आपने इसे नियंत्रित तरीके से जारी किया - छोटे प्रतिशत के लिए रोल आउट करके और फिर लॉग / ईवेंट की निगरानी की और फिर पूर्ण रोलआउट आदि की शुरुआत की।
Q # 18) आप किसी ऐसे उत्पाद के लिए ऑटोमेशन रणनीति कैसे बनाएंगे, जिसका कोई स्वचालन परीक्षण नहीं है?
उत्तर: इस प्रकार के प्रश्न ओपन-एंडेड हैं और आम तौर पर चर्चा को जिस तरह से आप चाहते हैं, उसे लेने के लिए एक अच्छी जगह है। आप अपने कौशल, ज्ञान, और प्रौद्योगिकी क्षेत्रों को भी दिखा सकते हैं जो आपकी ताकत हैं।
उदाहरण के लिए, इस प्रकार के प्रश्नों का उत्तर देने के लिए, आप अपनी पिछली भूमिका में उत्पाद का निर्माण करते समय अपनाई गई स्वचालन रणनीति के उदाहरणों का हवाला दे सकते हैं।
उदाहरण के लिए, आप जैसे बिंदुओं का उल्लेख कर सकते हैं,
- चूंकि उत्पाद को खरोंच से स्वचालन शुरू करने की आवश्यकता होती है, इसलिए आपको एक भाषा / तकनीक चुनने के लिए एक उपयुक्त स्वचालन ढांचे के बारे में सोचने और डिजाइन करने के लिए पर्याप्त समय मिला, जिसमें से अधिकांश लोगों को एक नया उपकरण शुरू करने और मौजूदा ज्ञान का लाभ उठाने से बचने का ज्ञान था।
- आपने सबसे बुनियादी कार्यात्मक परिदृश्यों को स्वचालित करने के साथ शुरू किया था जिन्हें P1 माना जाता था (जिसके बिना कोई भी रिलीज़ नहीं हो सकता था)।
- आपने स्वचालित परीक्षण उपकरण जैसे जेएमईटीईआर, लोडरनर, आदि के माध्यम से सिस्टम के प्रदर्शन और स्केलेबिलिटी के परीक्षण के बारे में भी सोचा।
- आपने अनुप्रयोग के सुरक्षा पहलुओं को स्वचालित रूप से सूचीबद्ध करने के बारे में सोचा था OWASP सुरक्षा मानकों।
- आपने प्रारंभिक प्रतिक्रिया आदि के लिए बिल्ड पाइपलाइन में स्वचालित परीक्षणों को एकीकृत किया।
टीम फिट और संस्कृति फ़िट
यह दौर आम तौर पर कंपनी से कंपनी पर निर्भर करता है। लेकिन इस दौर की आवश्यकता / आवश्यकता उम्मीदवार को टीम और संगठन संस्कृति के दृष्टिकोण से समझना है। इन सवालों का उद्देश्य उम्मीदवार के व्यक्तित्व और कार्य / लोगों आदि के प्रति उनके दृष्टिकोण को समझना भी है।
आम तौर पर, एचआर और हायरिंग मैनेजर ऐसे होते हैं जो इस दौर का संचालन करते हैं।
इस दौर के दौरान आमतौर पर आने वाले प्रश्न इस प्रकार हैं:
Q # 19) आप अपनी वर्तमान भूमिका के भीतर संघर्षों को कैसे सुलझाते हैं?
उत्तर: यहाँ और स्पष्टीकरण है: मान लीजिए कि आपके बॉस या तत्काल टीम के सदस्यों के साथ आपका झगड़ा हुआ है, उन संघर्षों को सुलझाने के लिए आप क्या कदम उठा रहे हैं?
इस प्रकार के प्रश्नों के लिए आप वास्तविक उदाहरणों से उतने ही प्रभावित हो सकते हैं जितने कि वर्तमान या पिछले संगठनों में आपके करियर के भीतर हो सकते हैं।
आप निम्न बातों का उल्लेख कर सकते हैं:
- आप जल्द से जल्द किसी भी संघर्ष को हल करना पसंद करते हैं जो पेशेवर कारणों के परिणामस्वरूप उत्पन्न होते हैं (और इन के कारण आपके व्यक्तिगत संबंधों को प्रभावित नहीं करना चाहेंगे)।
- आप उल्लेख कर सकते हैं कि आप आम तौर पर किसी भी मतभेद / मुद्दों को हल करने के लिए व्यक्तिगत रूप से प्रभावी ढंग से संवाद करने और व्यक्ति के साथ चर्चा / चर्चा करने का प्रयास करते हैं।
- आप यह उल्लेख कर सकते हैं कि यदि चीजें खराब होने लगती हैं, तो आप एक वरिष्ठ व्यक्ति / आपके प्रबंधक की मदद लेंगे और उसका इनपुट प्राप्त करेंगे।
टीम फिट / कल्चर फिट प्रश्नों के अन्य उदाहरण नीचे दिए गए हैं (उनमें से अधिकांश का जवाब इसी तरह के दृष्टिकोण से दिया जाना चाहिए, जिसकी हमने ऊपर सवाल के लिए चर्चा की थी। वास्तविक जीवन के परिदृश्यों के बारे में बात करना यहां एक महत्वपूर्ण है क्योंकि साक्षात्कारकर्ता इसे बेहतर तरीके से संबंधित कर सकते हैं। कुंआ।
Q # 20) जिस नई भूमिका के लिए आपको काम पर रखा जाता है, उससे आप किस तरह के कार्य-जीवन के संतुलन की उम्मीद करते हैं?
उत्तर: चूँकि हायरिंग मैनेजर वह होता है जो जानता है कि भूमिका क्या माँग करती है, कितनी बार अतिरिक्त प्रयास की आवश्यकता हो सकती है, इसलिए सामान्य तौर पर साक्षात्कारकर्ता यह अनुमान लगाने की कोशिश करता है कि क्या आपकी अपेक्षाएँ भूमिका की अपेक्षा से अलग हैं।
मान लीजिए आप कहते हैं आप रात की बैठकों में भाग लेना पसंद नहीं करते हैं और भूमिका से यह अपेक्षा होती है कि आप एक टीम के बीच प्रमुख सहयोग करें जो एक अलग समय-क्षेत्र में बैठती है, तो साक्षात्कारकर्ता एक चर्चा शुरू कर सकता है कि ये भूमिका से अपेक्षाएं हैं - क्या आप इसमें सक्षम होंगे? अनुकूलन? आदि।
इसलिए फिर से, यह एक आकस्मिक बातचीत है लेकिन साक्षात्कारकर्ता के दृष्टिकोण से, वे उस स्थिति के लिए आपकी उम्मीदवारी का मूल्यांकन करने के लिए आपकी अपेक्षाओं को समझना चाहते हैं जिसके लिए उनका साक्षात्कार किया जा रहा है।
Q # 21) काम के अलावा, आपके शौक क्या हैं?
उत्तर: ये प्रश्न विशुद्ध रूप से व्यक्तिपरक और व्यक्तिगत-विशिष्ट हैं, और ये प्रश्न आम तौर पर उम्मीदवार को आराम और आसान महसूस कराने और आकस्मिक चर्चा शुरू करने के लिए उपयोगी होते हैं।
सामान्य तौर पर, इन प्रश्नों के उत्तर कुछ इस तरह हो सकते हैं - आप किसी विशेष शैली को पढ़ना पसंद करते हैं, आपको संगीत पसंद है, आपको कुछ स्वैच्छिक / परोपकार की गतिविधियों के लिए कुछ पुरस्कार मिले, आदि।, ये प्रश्न आम तौर पर एचआर राउंड में पूछे जाते हैं (और किसी तकनीकी व्यक्ति द्वारा पूछे जाने की संभावना कम)।
Q # 22) आप नए उपकरणों और तकनीकों को सीखने के लिए कितना समय देना चाहते हैं?
उत्तर: यहां साक्षात्कारकर्ता नया सामान सीखने की आपकी इच्छा पर गौर कर रहा है यदि कुछ असामान्य या नया आप पर फेंका गया है। इससे साक्षात्कारकर्ता को यह भी पता चल जाता है कि आप सक्रिय हैं? क्या आप अपने और अपने करियर में निवेश करने को तैयार हैं? आदि।
तो ऐसे सवालों का जवाब देते समय - ईमानदार रहें और उदाहरणों के साथ अपने जवाबों की पुष्टि करें - उदाहरण के लिए, आप उल्लेख कर सकते हैं कि आपने पिछले साल जावा प्रमाणन के लिए आवेदन किया था और हर हफ्ते कुछ घंटे निकालकर खुद को काम से बाहर रखा।
निष्कर्ष
इस लेख में, हमने सॉफ्टवेयर डेवलपमेंट इंजीनियर इन टेस्ट इंटरव्यू प्रक्रिया और नमूना प्रश्नों पर चर्चा की, जो आम तौर पर विभिन्न संगठनों और प्रोफाइल के उम्मीदवारों से पूछे जाते हैं। सामान्य तौर पर, एसडीईटी साक्षात्कार प्रकृति में बहुत व्यापक हैं और कंपनी से कंपनी पर बहुत अधिक निर्भर हैं।
लेकिन साक्षात्कार प्रक्रियाएं गुणवत्ता प्रोफाइल और स्वचालन ढांचे पर अधिक जोर देने के साथ डेवलपर प्रोफाइल के लिए समान हैं।
यह समझना महत्वपूर्ण है कि, आजकल कंपनियां किसी विशिष्ट भाषा या प्रौद्योगिकी पर कम केंद्रित हैं, लेकिन अवधारणाओं की व्यापक समझ और कंपनी द्वारा आवश्यक उपकरण / प्रौद्योगिकियों के अनुकूल होने की क्षमता के बारे में अधिक है।
आपके SDET साक्षात्कार के लिए शुभकामनाएँ!
अनुशंसित पाठ
- एसडीईटी क्या है: टेस्टर और एसडीईटी के बीच अंतर को जानें
- साक्षात्कार प्रश्न और उत्तर
- ईटीएल परीक्षण साक्षात्कार प्रश्न और उत्तर
- कुछ मुश्किल मैनुअल परीक्षण प्रश्न और उत्तर
- उत्तर के साथ स्पॉक साक्षात्कार प्रश्न (सर्वाधिक लोकप्रिय)
- 25 सर्वश्रेष्ठ चुस्त परीक्षण साक्षात्कार प्रश्न और उत्तर
- शीर्ष 32 सर्वश्रेष्ठ डेटास्टेट साक्षात्कार प्रश्न और उत्तर
- शीर्ष 20+ .NET साक्षात्कार प्रश्न और उत्तर