Angular انٹرویو کے متوقع سوالات

تحریر: Aaron Cao · اپ ڈیٹ

Angular انٹرویو کے متوقع سوالات
پہلے change detection کی توقع رکھیں: کیا چیز چیک کو trigger کرتی ہے، OnPush کیا بدلتا ہے، اور signals اس میں کیسے فٹ ہوتے ہیں۔ پھر dependency injection، RxJS آپریٹر کا انتخاب، اور subscriptions کی صفائی۔ زیادہ تر راؤنڈز میں ایک لائیو مشق شامل ہوتی ہے، عام طور پر service، debounceTime اور switchMap سے بنی typeahead سرچ۔

پہلے change detection کی توقع رکھیں: کیا چیز چیک کو trigger کرتی ہے، OnPush کیا بدلتا ہے، اور signals اس میں کیسے فٹ ہوتے ہیں۔ پھر dependency injection، RxJS آپریٹر کا انتخاب، اور subscriptions کی صفائی۔ زیادہ تر راؤنڈز میں ایک لائیو مشق شامل ہوتی ہے، عام طور پر service، debounceTime اور switchMap سے بنی typeahead سرچ۔

Angular کے کون سے تصورات سب سے زیادہ پوچھے جاتے ہیں؟

Angular کی API سطح بہت وسیع ہے، اور شائع شدہ سوالات کی فہرستیں ہر decorator کو ایسے سمجھتی ہیں جیسے اس کے آنے کا امکان برابر ہو۔ حقیقت میں ایسا نہیں ہے۔ یہ سیکشن ان شعبوں کا احاطہ کرتا ہے جو دراصل زیادہ تر راؤنڈز کا فیصلہ کرتے ہیں، تاکہ آپ کی مشق اصل تقسیم سے میل کھائے۔ چار گروہ غالب ہیں:

  • Change detection: کیا چیز چیک کو trigger کرتی ہے، Zone.js غیر ہم وقت APIs کو کیسے پیچ کرتا ہے، OnPush کیا بدلتا ہے، اور signals Angular کو کام چھوڑنے کیسے دیتے ہیں۔
  • Dependency injection: درجہ بندی والے injectors، providedIn، injection tokens، اور constructor پیرامیٹرز کے مقابلے میں inject() فنکشن۔
  • RxJS: promises کے مقابلے میں observables، صحیح آپریٹر کا انتخاب، اور کمپوننٹ کے تباہ ہونے سے پہلے subscriptions کی صفائی۔
  • کمپوننٹ آرکیٹیکچر: standalone components، inputs اور outputs، content projection، اور lifecycle hooks۔

ورژن سے واقفیت یہاں زیادہ تر دوسرے framework راؤنڈز سے زیادہ اہم ہے، کیونکہ Angular نے سمت بدلی ہے۔ Standalone components، built-in control flow بلاکس @if اور @for، deferrable views، اور signals سب حالیہ بڑے ورژنز میں آئے، اس لیے انٹرویو لینے والے اکثر پوچھتے ہیں کہ آپ آج کیا لکھیں گے بمقابلہ اس کے جو پرانا کوڈ بیس استعمال کرتا ہے۔ دونوں کو جاننا، اور یہ جاننا کہ framework کیوں بدلا، ایک طرف کا انتخاب کرنے سے بہتر تاثر دیتا ہے۔

RxJS اور signals کے سوالات کتنے گہرے جاتے ہیں؟

صرف آپریٹر کے ناموں سے کہیں زیادہ گہرے۔ RxJS کا وہ سوال جو لیول الگ کرتا ہے یہ ہے کہ کون سا flattening آپریٹر فٹ بیٹھتا ہے: switchMap پچھلی اندرونی درخواست منسوخ کرتا ہے اور typeahead کے لیے موزوں ہے، mergeMap ہر چیز کو متوازی چلاتا ہے، concatMap ترتیب برقرار رکھتا ہے، اور exhaustMap نئے events کو نظرانداز کرتا ہے جب تک ایک ابھی جاری ہے، اسی لیے یہ submit بٹن کے لیے موزوں ہے۔ انٹرویو لینے والے پھر leak کا سوال پوچھتے ہیں: کمپوننٹ کے تباہ ہونے پر manual subscription کا کیا ہوتا ہے، اور async pipe یا takeUntilDestroyed اس مسئلے کو کیوں ختم کرتا ہے۔

Signals کے سوالات نئے ہیں اور عام طور پر API کے بجائے وجہ سے شروع ہوتے ہیں۔ آپ سے توقع کی جاتی ہے کہ آپ بتائیں signal کیا ہے، computed اس سے کیسے اخذ ہوتا ہے، effect کس لیے ہے، اور signals Angular کو یہ جاننے کا زیادہ باریک طریقہ کیوں دیتے ہیں کہ پورے کمپوننٹ ٹری کو دوبارہ چیک کرنے کے بجائے کیا بدلا۔ ایک مضبوط جواب دونوں موضوعات کو جوڑتا ہے: signals اور OnPush دونوں change detection کا کام کم کرتے ہیں، لیکن signals یہ reads کو ٹریک کر کے کرتے ہیں، نہ کہ یہ محدود کر کے کہ چیک کب چلتا ہے۔

انٹرویو لینے والے یہ توقع نہیں رکھتے کہ آپ نے ہر حالیہ فیچر استعمال کر لیا ہو۔ وہ توقع رکھتے ہیں کہ آپ بتائیں آخری بار کس ورژن میں کام کیا اور باقی کے بارے میں واضح طور پر سوچیں۔

آپ کو کون سی لائیو کوڈنگ مشقوں کی توقع رکھنی چاہیے؟

زیادہ تر Angular راؤنڈز میں کچھ چھوٹا بنانا شامل ہوتا ہے جبکہ انٹرویو لینے والا دیکھ رہا ہوتا ہے۔ بار بار آنے والی مشقیں کمپنیوں کے درمیان مستحکم ہیں:

  • ایک service سے API کال کرنا اور async pipe سے نتیجہ دکھانا۔
  • debounceTime، distinctUntilChanged، اور switchMap کے ساتھ typeahead سرچ بنانا۔
  • کسٹم validator اور نظر آنے والی error states کے ساتھ reactive form لکھنا۔
  • parent اور child کمپوننٹ کے درمیان ڈیٹا پاس کرنا، پھر اسے service میں لے جانا۔
  • lazy-loaded کمپوننٹ اور guard کے ساتھ route شامل کرنا۔

مثال کے طور پر، ایک mid-level پروڈکٹ رول کے لیے انٹرویو دینے والا front-end انجینئر typeahead بنا سکتا ہے، پھر اس سے پوچھا جا سکتا ہے کہ جب جوابات ترتیب سے باہر آئیں تو کیا ہوتا ہے، loading state کیسے دکھائیں، اور جب یوزر input صاف کرے تو کیا ہونا چاہیے۔ یہی extensions ہیں جہاں راؤنڈ کا فیصلہ ہوتا ہے، اس لیے آسان راستے کے بجائے follow-up سوالات کی مشق کریں۔ ملحقہ سیٹس جن سے Angular راؤنڈز اب بھی اکثر شروع ہوتے ہیں، بشمول خالص JavaScript اور TypeScript کی بنیادیں، سوالات کے بینکس ہب میں موجود ہیں۔

اصل راؤنڈ میں منتقل ہونے کے لیے کیسے مشق کریں؟

سوالات کی فہرست پڑھنا شناخت بناتا ہے، یاد کرنے کی صلاحیت نہیں، اور راؤنڈ کسی کے دیکھتے ہوئے یاد کرنے کی صلاحیت جانچتا ہے۔ حل یہ ہے کہ راؤنڈ کی اصل شکل میں مشقیں دہرائی جائیں: خالی پروجیکٹ سے معیاری مشقیں بنائیں، ٹائپ کرتے ہوئے change detection اور subscription کے فیصلے بلند آواز میں بیان کریں، اور رشتہ کھوئے بغیر رکاوٹوں کو جذب کریں۔ اس سیٹ کو بولی ہوئی مشق کے طور پر چلانا، ایک وقت میں ایک سوال follow-ups کے ساتھ، بالکل وہی ہے جس کے لیے mock interview مشق ہے۔

ایک حد واضح طور پر بتانے کے قابل ہے: Angular لائیو راؤنڈز تقریباً ہمیشہ شیئرڈ ایڈیٹر میں یا آپ کی اسکرین نظر آنے کی حالت میں چلتے ہیں، اور اس اسکرین پر جو کچھ بھی ہے وہ انٹرویو لینے والے کو نظر آتا ہے۔ اسسٹنٹ تیاری میں اور بات چیت پر مبنی راؤنڈز میں مناسب ہے، شیئرڈ اسکرین پر نہیں۔ کون سے فارمیٹس کیا اجازت دیتے ہیں یہ انٹرویو کی اقسام میں بیان کیا گیا ہے۔

عام سوالات

کیا مجھے اب بھی NgModules جاننے کی ضرورت ہے؟

پڑھنے کی سطح پر، جی ہاں۔ بہت سا production Angular اب بھی NgModules پر چلتا ہے، اس لیے یہ سوالات کی توقع رکھیں کہ ماڈیول نے کیا declare کیا اور providedIn نے زیادہ تر provider arrays کی جگہ کیسے لی۔ نئے کوڈ کے سوالات standalone components پر پوچھے جاتے ہیں، جو حالیہ ورژنز میں ڈیفالٹ ہیں۔

کیا AngularJS، Angular جیسا ہی ہے؟

نہیں، اور انٹرویو لینے والے کبھی کبھار یہ چیک کرتے ہیں۔ AngularJS، scopes، digest cycles، اور controllers کے ساتھ 1.x لائن ہے۔ ورژن 2 سے آگے Angular ایک الگ framework ہے جو TypeScript اور components پر بنا ہے۔ اگر جاب کی تفصیل میں AngularJS لکھا ہو، تیاری سے پہلے تصدیق کر لیں کہ ان کی مراد کون سا ہے۔

اگر ٹیم signals استعمال کرتی ہے تو مجھے کتنا RxJS چاہیے؟

پھر بھی بہت زیادہ۔ Signals کمپوننٹ state کو اچھی طرح کور کرتے ہیں، لیکن HTTP calls، router events، اور form value streams observables ہیں، اس لیے آپریٹر کا انتخاب اور صفائی آتے رہتے ہیں۔ ٹیمیں دونوں کو ملاتی ہیں، اور یہ بتانا کہ ہر ایک کہاں فٹ بیٹھتا ہے ایک عام senior سوال ہے۔

کیا انٹرویو لینے والے ٹیسٹنگ کے بارے میں پوچھتے ہیں؟

عام طور پر API یاد کرنے کے بجائے حکمت عملی کے طور پر۔ توقع رکھیں کہ آپ کمپوننٹ لیول پر end to end کے مقابلے میں کیا ٹیسٹ کریں گے، TestBed کمپوننٹ کیسے سیٹ اپ کرتا ہے، اور آپ service کو کیسے fake کریں گے۔ trade-off کا نام لینا matcher دہرانے سے زیادہ اہم ہے۔

مجھے کتنے Angular ورژنز پر بات کرنے کے قابل ہونا چاہیے؟

وہ جس میں آپ نے کام کیا، اور اس کے بعد سے جو بدلا۔ انٹرویو لینے والے standalone components، control flow بلاکس، اور signals کے بارے میں پوچھتے ہیں کیونکہ یہ جوابات تازگی ظاہر کرتے ہیں۔ یہ بتانا کہ آپ نے آخری بار کس ورژن میں ship کیا اور باقی کے بارے میں واضح طور پر سوچنا ایک مکمل جواب ہے۔

متعلقہ سوالات

← مزید: عہدے اور موضوع کے مطابق انٹرویو سوالات