Failed to render content. Please refresh the page. Showing plain-text fallback.
"@/components/CTA" से CTA आयात करें
तकनीकी साक्षात्कार प्रश्न: समाधान और उदाहरणों के साथ संपूर्ण मार्गदर्शिका (2025)
आखरी अपडेट: 6 फरवरी, 2025
चाबी छीन लेना
- तकनीकी साक्षात्कार समस्या-समाधान, कोडिंग कौशल और सिस्टम डिजाइन ज्ञान का आकलन करते हैं
- कोडिंग समाधान से पहले समस्याओं को समझने पर ध्यान दें
- अपनी विचार प्रक्रिया और दृष्टिकोण को स्पष्ट रूप से समझाएं
- - सामान्य डेटा संरचनाओं और एल्गोरिदम का नियमित रूप से अभ्यास करें
- अपने समाधानों में समय और स्थान की जटिलता पर विचार करें
🎯 प्रो टिप: तकनीकी साक्षात्कार आपकी समस्या-समाधान प्रक्रिया को प्रदर्शित करने के बारे में हैं, न कि केवल सही उत्तर प्राप्त करने के बारे में। साक्षात्कारकर्ता यह देखना चाहते हैं कि आप कैसे सोचते हैं, जटिल समस्याओं का सामना करते हैं और तकनीकी अवधारणाओं को स्पष्ट रूप से संवाद करते हैं।
तकनीकी साक्षात्कार को समझना
तकनीकी साक्षात्कार आपके प्रोग्रामिंग कौशल, समस्या को सुलझाने की क्षमताओं, एल्गोरिथम सोच और तकनीकी ज्ञान का आकलन करते हैं। इनमें आम तौर पर कोडिंग चुनौतियाँ, सिस्टम डिज़ाइन चर्चा और तकनीकी अवधारणा प्रश्न शामिल होते हैं।
तकनीकी प्रश्नों के प्रकार:
- कोडिंग समस्याएँ: एल्गोरिथम कार्यान्वयन और समस्या-समाधान
- डेटा संरचना प्रश्न: सरणी, लिंक्ड सूची, पेड़, ग्राफ समस्याएं
- सिस्टम डिज़ाइन: स्केलेबल सिस्टम और आर्किटेक्चर डिज़ाइन करना
- डेटाबेस प्रश्न: SQL प्रश्न और डेटाबेस डिज़ाइन
- डिबगिंग: कोड समस्याओं को ढूंढना और ठीक करना
- तकनीकी अवधारणाएँ: एल्गोरिदम, ढांचे और प्रौद्योगिकियों की व्याख्या करना
साक्षात्कारकर्ता क्या आकलन करते हैं:
- समस्या-समाधान दृष्टिकोण: आप जटिल समस्याओं को कैसे तोड़ते हैं
- कोडिंग कौशल: स्वच्छ, कुशल कोड लिखने की क्षमता
- एल्गोरिथम ज्ञान: डेटा संरचनाओं और एल्गोरिदम की समझ
- संचार: तकनीकी अवधारणाओं को स्पष्ट रूप से समझाने की क्षमता
- कोड गुणवत्ता: पठनीय, रखरखाव योग्य कोड लिखना
मौलिक डेटा संरचनाएं और एल्गोरिदम
सरणियाँ और स्ट्रिंग्स
सामान्य समस्याएं:
1. दो योग
समस्या: पूर्णांक 'nums' और एक पूर्णांक 'लक्ष्य' की एक सरणी को देखते हुए, दो संख्याओं के सूचकांक लौटाएं जो 'लक्ष्य' को जोड़ते हैं।
विलयन:
'''अजगर
DEF twosum(संख्या, लक्ष्य):
# मान -> इंडेक्स स्टोर करने के लिए हैश मैप बनाएं
nummap = {}
i, ENUMERATE(NUMS) में num के लिए:
पूरक = लक्ष्य - num
यदि nummap में पूरक है:
वापसी [nummap[पूरक], i]
nummap[संख्या] = मैं
वापसी []
समय: ओ (एन), अंतरिक्ष: ओ (मिनट (एम, एन)) जहां एम चारसेट आकार है
स्पष्टीकरण: अद्वितीय पात्रों को ट्रैक करने के लिए सेट के साथ स्लाइडिंग विंडो तकनीक।
लिंक की गई सूचियाँ
1. रिवर्स लिंक्ड सूची
समस्या: एकल रूप से जुड़ी हुई सूची को उलट दें।
विलयन:
'''अजगर
DEF reverselist(head):
पिछला = कोई नहीं
धारा = सिर
वर्तमान में:
nexttemp = current.next
current.next = पिछला
पिछला = वर्तमान
वर्तमान = nexttemp
पिछला लौटा
समय: ओ (एन), अंतरिक्ष: ओ (1)
स्पष्टीकरण: फ़्लॉइड का चक्र पहचान एल्गोरिथ्म धीमे और तेज़ पॉइंटर्स का उपयोग करता है।
पेड़ और बाइनरी खोज वृक्ष
1. बाइनरी ट्री इनऑर्डर ट्रैवर्सल
समस्या: बाइनरी ट्री के क्रम में ट्रैवर्सल लौटें।
विलयन:
'''अजगर
डीईएफ inordertraversal(रूट):
परिणाम = []
स्टैक = []
वर्तमान = जड़
वर्तमान या स्टैक होने पर:
वर्तमान में:
stack.append(current)
वर्तमान = वर्तमान.बाएँ
वर्तमान = स्टैक.पॉप ()
result.append(current.val)
वर्तमान = वर्तमान.दाएँ
वापसी का परिणाम
समय: ओ (एन), अंतरिक्ष: ओ (एच)
स्पष्टीकरण: प्रत्येक सबट्री के लिए सीमा की जाँच के साथ पुनरावर्ती सत्यापन।
गतिशील प्रोग्रामिंग
1. सीढ़ियाँ चढ़ना
समस्या: n सीढ़ियाँ चढ़ने के कई तरीके खोजें (एक बार में 1 या 2 कदम)।
विलयन:
'''अजगर
डीईएफ climbstairs(एन):
यदि n = tokensneeded:
self.tokens -= tokensneeded
वापसी सच
वापसी झूठी
दूसरी संभावना:
'''एसक्यूएल
सेकेंड के रूप में वेतन चुनें सबसे अधिक वेतन
कर्मचारी से
वेतन द्वारा आदेश DESC
सीमा 1 ऑफसेट 1
3. Nth उच्चतम वेतन
समस्या: nth उच्चतम वेतन खोजें।
विलयन:
'''एसक्यूएल
फ़ंक्शन बनाएं getNthHighestSalary(N int) int लौटाता है
शुरू करना
परिणाम INT घोषित करें;
सेट परिणाम = शून्य;
परिणाम में वेतन का चयन करें
से (
वेतन, DENSERANK() से अधिक (वेतन DESC द्वारा आदेश) को RNK के रूप में चुनें
कर्मचारी से
) रैंक किया गया
जहां rnk = N
सीमा 1;
वापसी परिणाम;
समाप्ति
मुख्य अवधारणाएँ: एनकैप्सुलेशन, वंशानुक्रम, बहुरूपता, डिज़ाइन पैटर्न।
2. एक वेंडिंग मशीन डिज़ाइन करें
आवश्यकताओं:
- सिक्के/बिल स्वीकार करें
- उत्पादों को वितरित करें
- अपर्याप्त धन को संभालें
- वापसी परिवर्तन
- स्टॉक प्रबंधन
डिज़ाइन दृष्टिकोण:
'''अजगर
कक्षा वेंडिंग मशीन:
डीईएफ init(स्वयं):
self.products = {} # productid -> (नाम, मूल्य, मात्रा)
स्व.संतुलन = 0
डीईएफ insertmoney(स्वयं, राशि):
स्व.संतुलन += राशि
डेफ selectproduct(स्वयं, productid):
यदि productid self.products में नहीं हैं:
वापसी "उत्पाद नहीं मिला"
नाम, मूल्य, मात्रा = self.products[productid]
यदि मात्रा == 0:
वापसी "स्टॉक से बाहर"
यदि स्व-संतुलन