투잡뛰는 개발 노동자

[गैर-तकनीकी, डेवलपर के रूप में जीवित रहना] 14. नव नियुक्त डेवलपर अक्सर पूछे जाने वाले तकनीकी साक्षात्कार सामग्री सारांश

  • लेखन भाषा: कोरियाई
  • आधार देश: सभी देशcountry-flag
  • आईटी

रचना: 2024-04-03

रचना: 2024-04-03 20:38

गैर-विशिष्ट, डेवलपर के रूप में जीवित रहना


#14. नवीन डेवलपर अक्सर पूछे जाने वाले तकनीकी साक्षात्कार सामग्री


[मुख्य मेमोरी का क्षेत्र]

  • कोड क्षेत्र: प्रोग्राम का स्रोत कोड संग्रहीत करने वाला क्षेत्र, CPU कोड क्षेत्र में संग्रहीत निर्देशों (स्रोत, फ़ंक्शन, नियंत्रण कथन) को लाता है और उन्हें संसाधित करता है। उदाहरण के लिए, जब C भाषा में लिखा गया प्रोग्राम निष्पादित होता है, तो कोड क्षेत्र में इस प्रोग्राम का स्रोत कोड संग्रहीत होता है।
  • डेटा क्षेत्र: वैश्विक चर और स्थिर चर संग्रहीत करने वाला क्षेत्र, प्रोग्राम की शुरुआत के साथ आवंटित किया जाता है और प्रोग्राम के समाप्त होने तक नष्ट नहीं होता है। उदाहरण के लिए, जब C भाषा में लिखा गया प्रोग्राम निष्पादित होता है, तो डेटा क्षेत्र में इस प्रोग्राम में घोषित वैश्विक चर या स्थिर चर संग्रहीत होते हैं।
  • स्टैक क्षेत्र: प्रोग्राम द्वारा उपयोग की जाने वाली अस्थायी मेमोरी स्पेस, फ़ंक्शन कॉल से संबंधित स्थानीय चर और पैरामीटर संग्रहीत करता है। फ़ंक्शन कॉल के साथ आवंटित किया जाता है और फ़ंक्शन के समाप्त होने पर नष्ट हो जाता है। उदाहरण के लिए, जब C भाषा में लिखा गया फ़ंक्शन कॉल किया जाता है, तो उस फ़ंक्शन द्वारा उपयोग किए जाने वाले स्थानीय चर या पैरामीटर स्टैक क्षेत्र में आवंटित किए जाते हैं।
  • हीप क्षेत्र: उपयोगकर्ता द्वारा गतिशील रूप से मेमोरी स्पेस आवंटित और मुक्त करने का क्षेत्र है। उदाहरण के लिए, जब C भाषा में malloc() फ़ंक्शन का उपयोग करके गतिशील रूप से मेमोरी आवंटित की जाती है, तो आवंटित मेमोरी स्पेस हीप क्षेत्र में संग्रहीत होती है।

[डेटा संरचना]

  • स्टैक: LIFO (Last-In-First-Out) आधारित डेटा संरचना है। उदाहरण के लिए, कंप्यूटर में 'पीछे जाएँ' बटन स्टैक के समान है। पहले देखे गए पेज स्टैक में संग्रहीत होते हैं, और 'पीछे जाएँ' बटन दबाए जाने पर, सबसे हाल ही में संग्रहीत पेज निकाला जाता है और प्रदर्शित होता है।
  • क्यू: FIFO (First-In-First-Out) आधारित डेटा संरचना है। उदाहरण के लिए, बैंक में वेटिंग नंबर लेना और कतार में लगना क्यू के समान है। सबसे पहले आने वाला व्यक्ति सबसे पहले सेवा प्राप्त करता है, और सबसे बाद में आने वाला व्यक्ति सबसे बाद में सेवा प्राप्त करता है।
  • ट्री: डेटा को पदानुक्रमित संरचना में दर्शाने वाली डेटा संरचना है। उदाहरण के लिए, HTML का DOM ट्री ट्री के समान है। HTML पृष्ठ की संरचना को ट्री में दर्शाया गया है, और यह रूट नोड, html टैग से शुरू होता है और सबऑर्डिनेट नोड्स को क्रमिक रूप से दर्शाता है।
  • हीप: बाइनरी ट्री संरचनाओं में से एक है, जिसे मैक्स हीप और मिन हीप में विभाजित किया गया है। उदाहरण के लिए, प्राथमिकता कतार में, उच्चतम प्राथमिकता वाला डेटा हीप के रूट नोड पर स्थित होता है, और अगला उच्चतम प्राथमिकता वाला डेटा सबऑर्डिनेट नोड्स पर स्थित होता है, जो मैक्स हीप का एक उदाहरण है।

[RDBMS और NoSQL]

  • RDBMS: डेटा को संरचनात्मक रूप से परिभाषित और प्रबंधित करने वाला डेटाबेस जो एक सख्त स्कीमा का पालन करता है। डेटा को वितरित रूप से संग्रहीत किया जा सकता है और इसे आसानी से संशोधित किया जा सकता है। उदाहरण के लिए, MySQL, Oracle, MS-SQL आदि RDBMS के विशिष्ट उदाहरण हैं।
  • NoSQL: डेटा को संग्रहीत और प्रबंधित करने वाला डेटाबेस जो एक लचीले स्कीमा का पालन करता है। बड़े पैमाने पर डेटा को संसाधित और संग्रहीत करने के लिए उपयुक्त है और इसमें उच्च स्केलेबिलिटी भी है। उदाहरण के लिए, MongoDB, Cassandra, HBase आदि NoSQL के विशिष्ट उदाहरण हैं।

[प्रक्रिया-उन्मुख और ऑब्जेक्ट-उन्मुख]

  • प्रक्रिया-उन्मुख प्रोग्रामिंग: एक प्रोग्रामिंग तकनीक जिसमें क्रमिक प्रसंस्करण महत्वपूर्ण है। C, Pascal आदि भाषाएं प्रक्रिया-उन्मुख भाषाएं हैं।
  • ऑब्जेक्ट-उन्मुख प्रोग्रामिंग: ऑब्जेक्ट (Object) की अवधारणा पर आधारित एक तकनीक जो डेटा और प्रक्रियाओं को तार्किक रूप से बांधकर प्रसंस्करण करती है। Java, C++, Python आदि भाषाएं ऑब्जेक्ट-उन्मुख भाषाएं हैं। उदाहरण के लिए, एक कार सिमुलेशन प्रोग्राम में, कार को एक ऑब्जेक्ट के रूप में दर्शाया जाता है, और कार के गुणों (रंग, त्वरण, आदि) को डेटा के रूप में और कार के कार्यों (ड्राइव, स्टॉप, आदि) को विधियों के रूप में दर्शाया जाता है।

[ओवरराइडिंग और ओवरलोडिंग]

  • ओवरराइडिंग: पैरेंट क्लास की विधि को चाइल्ड क्लास में फिर से परिभाषित करके उपयोग करना है। जब चाइल्ड क्लास में पैरेंट क्लास की विधि को कॉल किया जाता है, तो पैरेंट क्लास की विधि के बजाय चाइल्ड क्लास में फिर से परिभाषित की गई विधि निष्पादित होती है। उदाहरण के लिए, Java में toString() विधि ओवरराइडिंग का एक उदाहरण है।
  • ओवरलोडिंग: एक ही नाम की कई विधियों को परिभाषित करना है, लेकिन पैरामीटर के प्रकार और संख्या को अलग-अलग करके विभिन्न प्रकार के कॉल का जवाब देना है। पैरामीटर भिन्न होते हैं, लेकिन समान नाम वाली कई विधियां काम करती हैं। उदाहरण के लिए, Java में print() विधि ओवरलोडिंग का एक उदाहरण है।

[पृष्ठ प्रतिस्थापन एल्गोरिथ्म]

  • FIFO: भौतिक मेमोरी में सबसे लंबे समय से लोड किए गए पृष्ठ को प्रतिस्थापित करता है। कंप्यूटर में 'कार्य पट्टी से बंद करें' भी FIFO एल्गोरिथम के समान है। सबसे पहले शुरू किए गए प्रोग्राम को सबसे अंत में प्रदर्शित किया जाता है और बंद किया जाता है।
  • LRU: सबसे लंबे समय तक उपयोग नहीं किए गए पृष्ठ को प्रतिस्थापित करता है। अक्सर उपयोग नहीं किए जाने वाले ऐप में से पुराने ऐप को बंद करने वाला 'ऐप बंद करने वाला ऐप' भी LRU एल्गोरिथम के समान है।
  • LFU: सबसे कम संख्या में संदर्भित पृष्ठ को प्रतिस्थापित करता है। उदाहरण के लिए, ब्राउज़र में नए खुले टैब में से, सबसे कम उपयोग किए जाने वाले टैब को बंद करने वाला 'टैब बंद करें' फ़ंक्शन भी LFU एल्गोरिथम के समान है।
  • MFU: सबसे अधिक संख्या में संदर्भित पृष्ठ को प्रतिस्थापित करता है। MFU एल्गोरिथम का उपयोग बहुत कम किया जाता है।

[प्रक्रिया और थ्रेड]

  • प्रक्रिया: ऑपरेटिंग सिस्टम से आवंटित निष्पादन कार्य इकाई, प्रोग्राम का प्रतिनिधित्व करती है। यदि कई प्रक्रियाएं एक साथ निष्पादित होती हैं, तो प्रत्येक प्रक्रिया को एक स्वतंत्र मेमोरी स्पेस और CPU आवंटित किया जाता है।
  • थ्रेड: प्रक्रिया के भीतर काम करने वाली निष्पादन इकाई, प्रक्रिया द्वारा आवंटित संसाधनों को साझा करते हुए निष्पादित होती है। उदाहरण के लिए, वेब ब्राउज़र में प्रत्येक टैब एक प्रक्रिया नहीं बल्कि एक थ्रेड के रूप में काम करता है।

[OSI 7Layer]

  • एप्लिकेशन लेयर: उपयोगकर्ता और नेटवर्क को जोड़ने वाली परत, जिसमें HTTP, FTP, SMTP जैसे प्रोटोकॉल शामिल हैं।
  • प्रस्तुति परत: डेटा के प्रतिनिधित्व के तरीके को परिभाषित करने वाली परत, जिसमें JPEG, MPEG, SSL जैसे प्रोटोकॉल शामिल हैं।
  • सत्र परत: दो संचारित सिस्टमों के बीच सत्र का प्रबंधन करने वाली परत।
  • परिवहन परत: डेटा ट्रांसमिशन के लिए जिम्मेदार परत, जिसमें TCP, UDP जैसे प्रोटोकॉल शामिल हैं।
  • नेटवर्क परत: डेटा ट्रांसमिशन के लिए मार्ग निर्धारित करने वाली परत, जिसमें IP, ICMP जैसे प्रोटोकॉल शामिल हैं।
  • डेटा लिंक परत: भौतिक पते (MAC पता) के माध्यम से डेटा ट्रांसमिट करने वाली परत, जिसमें ईथरनेट, टोकन रिंग जैसे प्रोटोकॉल शामिल हैं।
  • भौतिक परत: भौतिक कनेक्शन और ट्रांसमिशन मीडिया के संचार के लिए जिम्मेदार परत।

[TCP और UDP]

  • TCP: कनेक्शन-ओरिएंटेड सर्विस, डेटा को विश्वसनीय तरीके से ट्रांसमिट करने का तरीका है। 3-वे हैंडशेकिंग और 4-वे हैंडशेकिंग विधि का उपयोग करके कनेक्शन स्थापित या समाप्त किया जाता है। उदाहरण के लिए, वेबसाइट पर लॉगिन करते समय या फ़ाइल ट्रांसमिट करते समय, TCP विधि का उपयोग किया जाता है।
  • UDP: कनेक्शनलेस सर्विस, डेटा ट्रांसमिशन के लिए सिग्नलिंग प्रक्रिया के बिना, डेटा की विश्वसनीयता कम होती है, लेकिन यह तेज़ प्रसंस्करण प्रदान करता है। उदाहरण के लिए, वीडियो स्ट्रीमिंग या ऑनलाइन गेमिंग में, तेज़ ट्रांसमिशन महत्वपूर्ण होता है, इसलिए UDP विधि का उपयोग किया जाता है।

टिप्पणियाँ0

[जावा] सिंक्रोनाइज़्ड कलेक्शन बनाम कनकरेंट कलेक्शनजावा के सिंक्रोनाइज़्ड कलेक्शन (वेक्टर, हैशटेबल) और समवर्ती कलेक्शन (ConcurrentHashMap आदि) के बीच अंतर और कनकरेंट कलेक्शन के प्रकारों की व्याख्या करता है। प्रदर्शन में सुधार और समवर्तीता समस्याओं के समाधान में मदद करता है।
제이온
제이온
제이온
제이온

April 25, 2024

LegiNote प्रोजेक्ट विकास की कहानी 2 - तकनीकी ढाँचा और वर्करLegiNote प्रोजेक्ट विकास की कहानी के दूसरे भाग में, Go भाषा का उपयोग करके विकसित वर्कर के बारे में बताया गया है। डेटा संग्रह और अपडेट तर्क कार्यान्वयन और प्रोजेक्ट संरचना पद्धति का परिचय दिया गया है।
statpan
statpan
statpan
statpan

August 20, 2024

[ऑब्जेक्ट] अध्याय 1. ऑब्जेक्ट, डिज़ाइनसॉफ्टवेयर डेवलपमेंट में ऑब्जेक्ट ओरिएंटेड डिज़ाइन के महत्व और अवधारणा की व्याख्या करता है, और टिकट बिक्री एप्लिकेशन के उदाहरण के माध्यम से ऑब्जेक्ट ओरिएंटेड डिज़ाइन की आवश्यकता पर बल देता है।
제이온
제이온
제이온
제이온

April 28, 2024

[इफेक्टिव जावा] आइटम 6. अनावश्यक ऑब्जेक्ट निर्माण से बचेंअनावश्यक ऑब्जेक्ट निर्माण मेमोरी की बर्बादी का कारण बनता है, इसलिए स्ट्रिंग या बूलियन जैसे ऑब्जेक्ट के लिए लिटरल या स्टेटिक फैक्ट्री मेथड का उपयोग करना बेहतर होता है।
제이온
제이온
제이온
제이온

April 28, 2024

जावा कलेक्शन्स फ्रेमवर्क (JCF) क्या है? - JCF की परिभाषा और विशेषताएँ (JAVA)जावा कलेक्शन्स फ्रेमवर्क (JCF) विभिन्न प्रकार के डेटा को कुशलतापूर्वक संसाधित करने के लिए जावा का एक मानकीकृत क्लास सेट है।
제이온
제이온
제이온
제이온

April 27, 2024

[स्प्रिंग] @Async का उपयोग कैसे करेंस्प्रिंग @Async का उपयोग करके जावा एसिंक्रोनस प्रोसेसिंग को आसानी से लागू करने के तरीके जानें। थ्रेड पूल सेटिंग और Future, ListenableFuture, CompletableFuture के उपयोग को शामिल किया गया है।
제이온
제이온
제이온
제이온

April 25, 2024