Angular इंटरव्यू में पूछे जाने वाले सवाल

द्वारा Aaron Cao · अपडेट

Angular इंटरव्यू में पूछे जाने वाले सवाल
सबसे पहले चेंज डिटेक्शन की उम्मीद करें: किससे चेक ट्रिगर होता है, OnPush क्या बदलता है, और signals इसमें कैसे फिट होते हैं। फिर डिपेंडेंसी इंजेक्शन, RxJS ऑपरेटर का चुनाव, और सब्सक्रिप्शन क्लीनअप। ज्यादातर राउंड में एक लाइव एक्सरसाइज़ भी जोड़ी जाती है, आमतौर पर service, debounceTime, और switchMap से बना एक टाइपअहेड सर्च।

सबसे पहले चेंज डिटेक्शन की उम्मीद करें: किससे चेक ट्रिगर होता है, OnPush क्या बदलता है, और signals इसमें कैसे फिट होते हैं। फिर डिपेंडेंसी इंजेक्शन, RxJS ऑपरेटर का चुनाव, और सब्सक्रिप्शन क्लीनअप। ज्यादातर राउंड में एक लाइव एक्सरसाइज़ भी जोड़ी जाती है, आमतौर पर service, debounceTime, और switchMap से बना एक टाइपअहेड सर्च।

किन Angular कॉन्सेप्ट्स पर सबसे ज्यादा सवाल आते हैं?

Angular की API सतह बहुत बड़ी है, और पब्लिश की गई सवालों की लिस्टें हर डेकोरेटर को समान संभावना वाला मानती हैं। ऐसा नहीं है। यह सेक्शन उन क्षेत्रों को कवर करता है जो असल में ज्यादातर राउंड तय करते हैं, ताकि आपका अभ्यास असली वितरण से मेल खाए। चार समूह हावी रहते हैं:

  • चेंज डिटेक्शन: क्या चेक ट्रिगर करता है, Zone.js एसिंक्रोनस API को कैसे पैच करता है, OnPush क्या बदलता है, और signals Angular को काम छोड़ने कैसे देते हैं।
  • डिपेंडेंसी इंजेक्शन: हायरार्किकल इंजेक्टर, providedIn, इंजेक्शन टोकन, और कंस्ट्रक्टर पैरामीटर के मुकाबले inject() फंक्शन।
  • RxJS: ऑब्ज़र्वेबल बनाम प्रॉमिस, सही ऑपरेटर चुनना, और कॉम्पोनेंट डिस्ट्रॉय होने से पहले सब्सक्रिप्शन क्लीन करना।
  • कॉम्पोनेंट आर्किटेक्चर: स्टैंडअलोन कॉम्पोनेंट, इनपुट और आउटपुट, कंटेंट प्रोजेक्शन, और लाइफसाइकल हुक।

वर्जन की जानकारी यहां ज्यादातर फ्रेमवर्क राउंड की तुलना में ज्यादा मायने रखती है, क्योंकि Angular ने दिशा बदली है। स्टैंडअलोन कॉम्पोनेंट, बिल्ट-इन कंट्रोल फ्लो ब्लॉक @if और @for, डिफरेबल व्यूज़, और signals सब हाल के मेजर वर्जन में आए, इसलिए इंटरव्यूअर अक्सर पूछते हैं कि आज आप क्या लिखेंगे, पुराने कोडबेस के तरीके के मुकाबले। दोनों को जानना, और यह समझाना कि फ्रेमवर्क क्यों बदला, किसी एक पक्ष को चुनने से बेहतर लगता है।

RxJS और signals के सवाल कितनी गहराई तक जाते हैं?

ऑपरेटर के नामों से कहीं ज्यादा गहराई तक। जो RxJS सवाल लेवल अलग करता है वह यह है कि कौन सा फ्लैटनिंग ऑपरेटर सही बैठता है: switchMap पिछली आंतरिक रिक्वेस्ट को कैंसिल करता है और टाइपअहेड के लिए उपयुक्त है, mergeMap सब कुछ पैरेलल में चलाता है, concatMap क्रम बनाए रखता है, और exhaustMap तब तक नए इवेंट को नज़रअंदाज़ करता है जब तक एक चल रहा हो, इसलिए यह सबमिट बटन के लिए उपयुक्त है। इसके बाद इंटरव्यूअर लीक वाला सवाल पूछते हैं: जब कॉम्पोनेंट डिस्ट्रॉय होता है तो मैनुअल सब्सक्रिप्शन का क्या होता है, और async pipe या takeUntilDestroyed यह समस्या क्यों हटा देते हैं।

signals के सवाल नए हैं और आमतौर पर API के बजाय मकसद से शुरू होते हैं। यह समझाने की उम्मीद करें कि signal क्या है, computed उससे कैसे डिराइव होता है, effect किस लिए है, और signals Angular को कॉम्पोनेंट ट्री को फिर से चेक करने के बजाय क्या बदला यह जानने का ज्यादा बारीक तरीका क्यों देते हैं। एक मजबूत जवाब दोनों टॉपिक को जोड़ता है: signals और OnPush दोनों चेंज डिटेक्शन का काम कम करते हैं, लेकिन signals यह रीड्स को ट्रैक करके करते हैं, न कि यह सीमित करके कि चेक कब चलता है।

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

किन लाइव कोडिंग एक्सरसाइज़ की उम्मीद करनी चाहिए?

ज्यादातर Angular राउंड में इंटरव्यूअर के देखते हुए कुछ छोटा बनाना शामिल होता है। बार-बार आने वाली एक्सरसाइज़ें कंपनियों में स्थिर रहती हैं:

  • किसी service से API कॉल करें और नतीजे को async pipe से रेंडर करें।
  • debounceTime, distinctUntilChanged, और switchMap से एक टाइपअहेड सर्च बनाएं।
  • कस्टम वैलिडेटर और दिखने वाले एरर स्टेट के साथ एक रिएक्टिव फॉर्म लिखें।
  • पैरेंट और चाइल्ड कॉम्पोनेंट के बीच डेटा पास करें, फिर उसे service में उठाएं।
  • लेज़ीली लोड होने वाले कॉम्पोनेंट और गार्ड के साथ एक रूट जोड़ें।

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

असली राउंड में काम आए, इस तरह अभ्यास कैसे करें?

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

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

सामान्य प्रश्न

क्या मुझे अब भी NgModules जानने की जरूरत है?

पढ़ने-समझने के स्तर पर, हां। बहुत सारा प्रोडक्शन Angular अब भी NgModules पर चलता है, इसलिए यह सवाल आ सकते हैं कि मॉड्यूल क्या डिक्लेयर करता था और providedIn ने ज्यादातर provider ऐरे को कैसे बदला। नए कोड के सवाल स्टैंडअलोन कॉम्पोनेंट में पूछे जाते हैं, जो हाल के वर्जन में डिफ़ॉल्ट हैं।

क्या AngularJS और Angular एक ही हैं?

नहीं, और इंटरव्यूअर कभी-कभी इसे चेक करते हैं। AngularJS scope, digest साइकल, और controller वाली 1.x लाइन है। वर्जन 2 से आगे का Angular TypeScript और कॉम्पोनेंट पर बना एक अलग फ्रेमवर्क है। अगर जॉब डिस्क्रिप्शन में AngularJS लिखा हो, तो तैयारी करने से पहले पक्का करें कि वे किसकी बात कर रहे हैं।

अगर टीम signals इस्तेमाल करती है तो मुझे कितना RxJS चाहिए?

फिर भी बहुत कुछ। signals कॉम्पोनेंट स्टेट को अच्छी तरह कवर करते हैं, लेकिन HTTP कॉल, राउटर इवेंट, और फॉर्म वैल्यू स्ट्रीम ऑब्ज़र्वेबल ही रहते हैं, इसलिए ऑपरेटर चुनना और क्लीनअप आते रहते हैं। टीमें दोनों को मिलाकर इस्तेमाल करती हैं, और यह बताना कि कौन कहां फिट बैठता है, एक आम सीनियर सवाल है।

क्या इंटरव्यूअर टेस्टिंग के बारे में पूछते हैं?

आमतौर पर API याद रखने के बजाय स्ट्रैटेजी के तौर पर। यह उम्मीद करें कि आप कॉम्पोनेंट लेवल पर क्या टेस्ट करेंगे, end to end के मुकाबले, TestBed कॉम्पोनेंट को कैसे सेट करता है, और आप service को कैसे फेक करेंगे। मैचर याद करने से ज्यादा जरूरी है ट्रेड-ऑफ बताना।

मुझे कितने Angular वर्जन पर बात कर पाने में सक्षम होना चाहिए?

वह वर्जन जिसमें आपने काम किया, साथ ही उसके बाद क्या बदला। इंटरव्यूअर स्टैंडअलोन कॉम्पोनेंट, कंट्रोल फ्लो ब्लॉक, और signals के बारे में पूछते हैं क्योंकि ये जवाब हालिया अनुभव दिखाते हैं। यह बताना कि आपने आखिरी बार किस वर्जन में शिप किया, और बाकी के बारे में तर्क करना, एक पूरा जवाब है।

संबंधित प्रश्न

← और देखें: भूमिका और विषय के अनुसार इंटरव्यू प्रश्न