.NET انٹرویو میں مجھے کن سوالات کی توقع رکھنی چاہیے؟

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

.NET انٹرویو میں مجھے کن سوالات کی توقع رکھنی چاہیے؟
رن ٹائم سے متعلق سوالات (CLR، گاربیج کلیکشن، ویلیو اور ریفرنس ٹائپس کا فرق)، زبان سے متعلق سوالات (async اور await، LINQ، جنیرکس، ریکارڈز)، فریم ورک سے متعلق سوالات (ASP.NET Core مڈل ویئر اور ڈیپینڈنسی انجیکشن، EF Core)، اور طویل عرصے سے چلنے والی سروس میں میموری لیک یا سست API اینڈ پوائنٹ جیسی عملی صورتحال کی توقع رکھیں۔ انٹرویو لینے والے آپ کے استدلال کو جانچتے ہیں۔

رن ٹائم سے متعلق سوالات (CLR، گاربیج کلیکشن، ویلیو اور ریفرنس ٹائپس کا فرق)، زبان سے متعلق سوالات (async اور await، LINQ، جنیرکس، ریکارڈز)، فریم ورک سے متعلق سوالات (ASP.NET Core مڈل ویئر اور ڈیپینڈنسی انجیکشن، EF Core)، اور طویل عرصے سے چلنے والی سروس میں میموری لیک یا سست API اینڈ پوائنٹ جیسی عملی صورتحال کی توقع رکھیں۔ انٹرویو لینے والے آپ کے استدلال کو جانچتے ہیں۔

.NET انٹرویو کا آغاز کن رن ٹائم اور زبان کے سوالات سے ہوتا ہے؟

انٹرویو لینے والے وہاں سے آغاز کرتے ہیں جہاں فریم ورک شروع ہوتا ہے: رن ٹائم۔ یہ سمجھانے کے لیے تیار رہیں کہ Common Language Runtime کیا کرتا ہے (اسمبلیز لوڈ کرنا، انٹرمیڈیٹ لینگویج کو عین وقت پر کمپائل کرنا، میموری کا انتظام کرنا)، پھر گاربیج کلیکشن کی ایک درجہ گہری وضاحت کریں۔ ضمنی سوالات کا سلسلہ قابل پیش گوئی ہوتا ہے: کلیکٹر جنریشنل کیوں ہے، کوئی آبجیکٹ بعد کی جنریشن تک کیسے برقرار رہتا ہے، لارج آبجیکٹ ہیپ کس کام آتا ہے، اور اگر میموری خودکار طور پر منظم ہوتی ہے تو IDisposable اور using کی ضرورت کیوں ہے۔ آخری سوال کا جواب فائل ہینڈلز اور کنکشنز جیسے غیر منظم وسائل سے دیں، جنہیں بروقت جاری کرنے کا طریقہ کلیکٹر نہیں جانتا۔

  • ویلیو ٹائپس اور ریفرنس ٹائپس۔ ہر ایک کہاں رہتی ہے، ہر ایک کے لیے نقل بنانے کا کیا مطلب ہے، اور باکسنگ کی کیا قیمت ہے۔
  • async اور await۔ وضاحت کریں کہ await کیا گیا ٹاسک کال کرنے والے تھریڈ کو بلاک کرنے کے بجائے آزاد کرتا ہے، async void صرف ایونٹ ہینڈلرز کے لیے کیوں مخصوص ہے، اور .Result سے خبردار کرتے وقت لوگ کس ڈیڈلاک کی بات کرتے ہیں۔
  • LINQ۔ مؤخر عمل درآمد اصل پھندا ہے: ایک IEnumerable کوئری لکھے جانے کے وقت نہیں بلکہ گنتی کیے جانے پر چلتی ہے، اور ڈیٹابیس پرووائیڈر کے خلاف کوئری صرف انہی ایکسپریشنز کے لیے SQL میں تبدیل ہوتی ہے جنہیں پرووائیڈر سمجھتا ہے۔
  • جنیرکس، انٹرفیسز، اور ریکارڈز۔ کنسٹرینٹس، آزمائش کی سہولت کے لیے بیس کلاسز کے مقابلے میں انٹرفیسز کیوں بہتر ہیں، اور ریکارڈ کی ویلیو ایکویلٹی سے کیا فائدہ ہوتا ہے۔

ہر سوال کا جواب طریقۂ کار اور ایک نتیجے کے ساتھ دیں۔ یہ کہنا کہ جنریشن زیرو کلیکشن کم خرچ ہے کیونکہ زیادہ تر آبجیکٹس جلد ختم ہو جاتے ہیں، وہ سطح ہے جو انٹرویو لینے والے چاہتے ہیں؛ وجہ بتائے بغیر صرف جنریشنز کے نام لینا کافی نہیں۔

ASP.NET Core اور EF Core کے سوالات کیسے ہوتے ہیں؟

آپ کنٹرولرز لکھنے میں پراعتماد ہیں مگر پریشان ہیں کہ سوالات اس اندرونی نظام کے بارے میں ہوں گے جسے آپ شاذونادر ہی چھیڑتے ہیں۔ یہ تشویش بجا ہے، کیونکہ فریم ورک کے سوالات یہیں سے آتے ہیں، اس لیے اندرونی نظام کو اسی ترتیب سے دیکھیں جس میں عموماً پوچھا جاتا ہے، ساتھ ہی ہر موضوع کا ضمنی سوال بھی۔

  • ریکویسٹ پائپ لائن۔ مڈل ویئر اسی ترتیب سے چلتا ہے جس میں اسے رجسٹر کیا جاتا ہے، اور ہر جز فیصلہ کرتا ہے کہ اگلے جز کو کال کرنا ہے یا نہیں۔ ضمنی سوال: authentication کو authorization کے مقابلے میں کہاں ہونا چاہیے، اور انہیں الٹی ترتیب میں رجسٹر کرنے سے کیا ہوتا ہے؟
  • ڈیپینڈنسی انجیکشن لائف ٹائمز۔ Singleton ایپلیکیشن کی پوری مدت تک رہتا ہے، scoped ایک ریکویسٹ تک رہتا ہے، اور transient ہر بار resolve ہونے پر بنایا جاتا ہے۔ عام پھندا یہ ہے کہ کسی scoped سروس، مثلاً ڈیٹابیس کانٹیکسٹ، کو singleton میں انجیکٹ کر دیا جائے؛ یہ خرابی کیوں ہے، بتانے کے لیے تیار رہیں۔
  • کنفیگریشن اور آپشنز۔ تہہ دار ذرائع، ماحول کے مطابق اوور رائیڈز، اور ٹائپڈ سیٹنگز کے لیے آپشنز پیٹرن۔
  • EF Core۔ چینج ٹریکنگ اور صرف پڑھنے والی کوئریز کے لیے اسے کب بند کرنا ہے، N+1 مسئلہ اور eager loading یا projection اس سے کیسے بچاتے ہیں، migrations، اور وہ حقیقت پسندانہ مقام جہاں دستی لکھی ہوئی کوئری LINQ سے بہتر ہوتی ہے۔
  • ٹیسٹنگ۔ انٹرفیسز اور DI کنٹینر کسی سروس کو قابل آزمائش کیسے بناتے ہیں، اور in-memory پرووائیڈر حقیقی ڈیٹابیس کے بارے میں کیا ثابت کرتا اور کیا ثابت نہیں کرتا۔

مضبوط ترین امیدوار ان نکات کو جوڑتے ہیں: singleton بیک گراؤنڈ سروس کے اندر resolve کیا گیا scoped کانٹیکسٹ محض معلوماتی سوال نہیں، بلکہ میموری اور درستگی کی وہ خرابی ہے جسے انٹرویو لینے والے حقیقت میں جاری کر چکے ہوتے ہیں، اور وہ سننا چاہتے ہیں کہ آپ واضح طور پر ایک scope بنائیں گے۔

عملی صورتحال پر مبنی سوالات کیسے ہوتے ہیں؟

سینئر انٹرویو مراحل میں ایک علامت پیش کی جاتی ہے اور آپ کا طریقۂ کار دیکھا جاتا ہے۔ ایک نمائندہ مثال: لاجسٹکس کمپنی میں سینئر عہدے کے لیے انٹرویو دینے والے بیک اینڈ انجینئر کو بتایا جاتا ہے کہ ASP.NET Core API کی میموری کئی دن تک بڑھتی رہتی ہے، یہاں تک کہ کنٹینر دوبارہ شروع ہو جاتا ہے۔ مضبوط جواب اندازہ نہیں لگاتا۔ وہ پوچھتا ہے کہ کیا بدلا، static caches یا طویل مدتی event subscriptions کے قبضے میں موجود آبجیکٹس تلاش کرتا ہے، singletons میں رکھے گئے scoped services دیکھتا ہے، large object heap کی بڑھوتری کا معائنہ کرتا ہے، اور حل تجویز کرنے سے پہلے memory snapshot لیتا ہے۔ انٹرویو لینے والا تحقیق کی ترتیب کو جانچ رہا ہوتا ہے۔

دیگر بار بار آنے والی صورتحال: ایسا اینڈ پوائنٹ جو صرف زیادہ بوجھ میں سست ہوتا ہے، جہاں جواب synchronous ڈیٹابیس کالز سے async، connection pool exhaustion، اور caching کی طرف بڑھتا ہے؛ مشترکہ collection میں race condition اور concurrent collections یا locking کے انتخاب کی قیمت؛ ایسی ریکویسٹ جسے تین downstream services کال کرنی ہوں اور آپ timeouts، retries، اور partial failure کیسے سنبھالتے ہیں؛ اور ایسی migration جس میں downtime کے بغیر column شامل کرنا ہو۔ ہر صورت میں پابندی بیان کریں، طریقہ منتخب کریں، اور سمجھوتا واضح طور پر بتائیں۔

جب آپ ضمنی سوالات کے ساتھ ان کی بلند آواز میں مشق کر چکے ہوں تو یہ بہت آسان ہو جاتے ہیں، اور فرضی انٹرویو موڈ اسی مقصد کے لیے بنایا گیا ہے؛ دیگر زبانوں اور عہدوں کے سوالاتی ذخیرے عہدے اور موضوع کے لحاظ سے انٹرویو سوالات کے تحت جمع ہیں۔

کیا AI انٹرویو معاون .NET سوالات میں مدد کر سکتا ہے؟

گفتگو پر مبنی مراحل میں، بیان کردہ حدود کے اندر، ہاں۔ SubcueAI کی مقامی macOS اور Windows ڈیسک ٹاپ ایپ سسٹم آڈیو اور آپ کے مائیکروفون کی آواز حاصل کرتی ہے اور مقامی اوورلے میں مختصر جوابی تجاویز دکھاتی ہے، لہٰذا جب انٹرویو لینے والا پوچھے کہ singleton کے اندر scoped کانٹیکسٹ خرابی کیوں ہے، تو طریقۂ کار آپ کی اسکرین پر ہوتا ہے اور آپ اسے اپنے الفاظ میں سمجھاتے ہیں۔ براؤزر ایکسٹینشن Chrome اور Edge پر براؤزر ٹیب کی کالز کے لیے صرف میٹنگ ٹیب کی آڈیو حاصل کرتی ہے۔ کوئی بوٹ کال میں شامل نہیں ہوتا اور میٹنگ پیج میں کچھ داخل نہیں کیا جاتا؛ سیٹ اپ کی تفصیل ٹیوٹوریل صفحے پر ہے۔

حدود یہ ہیں: نگرانی میں لیا جانے والا امتحان، ریکارڈ کی جانے والی اسکرین، کمپنی کے زیر انتظام لیپ ٹاپ، یا براہ راست کوڈنگ مشق جس میں آپ نگرانی کے تحت C# ٹائپ کرتے ہیں، دائرۂ کار سے باہر ہیں، اور معاون عین وہاں سب سے کم مؤثر ہے جہاں انٹرویو آپ سے کوڈ لکھنے کو کہتا ہے۔ یہ اوپر دیے گئے رن ٹائم، فریم ورک، اور سمجھوتوں سے متعلق سوالات میں سب سے زیادہ مؤثر ہے۔ پہلے اسے اپنا ریزیومے دیں تاکہ تجاویز آپ کے بنائے ہوئے حقیقی سسٹمز کی عکاسی کریں؛ یہ پروفائل ریزیومے بلڈر میں موجود ہوتا ہے۔

عام سوالات

.NET گاربیج کلیکٹر میں جنریشنز کیوں ہوتی ہیں؟

زیادہ تر آبجیکٹس جلد ختم ہو جاتے ہیں، اس لیے نئی ترین جنریشن کو بار بار اور کم خرچ میں جمع کرنے سے پورے ہیپ کو اسکین کیے بغیر زیادہ تر میموری واپس مل جاتی ہے۔ باقی رہنے والے آبجیکٹس اگلی جنریشن میں منتقل ہوتے ہیں اور کم وقفوں سے جمع کیے جاتے ہیں، جس سے عام allocation patterns میں وقفے مختصر رہتے ہیں۔

ASP.NET Core میں singleton، scoped، اور transient میں کیا فرق ہے؟

Singleton ایپلیکیشن کے لیے ایک بار، scoped ہر ریکویسٹ کے لیے ایک بار، اور transient ہر resolve پر بنایا جاتا ہے۔ scoped سروس کو singleton میں انجیکٹ کرنے سے وہ ایپلیکیشن کی پوری مدت کے لیے محفوظ ہو جاتی ہے، جو ڈیٹابیس کانٹیکسٹس کے ساتھ ایک عام خرابی ہے۔

await دراصل کیا کرتا ہے؟

یہ میتھڈ کے باقی حصے کو continuation کے طور پر رجسٹر کرکے کنٹرول کالر کو واپس دیتا ہے، لہٰذا await کیا گیا کام مکمل ہونے تک تھریڈ آزاد رہتا ہے۔ اس کے بجائے .Result یا .Wait سے ٹاسک کو بلاک کرنا ایسے کانٹیکسٹس میں ڈیڈلاک پیدا کر سکتا ہے جنہیں وہ تھریڈ واپس درکار ہو۔

EF Core میں N+1 مسئلہ کیا ہے؟

پیرنٹس کی فہرست لوڈ کرنا اور پھر ہر پیرنٹ کے بچوں کے لیے الگ کوئری چلانا۔ Include کے ساتھ eager loading، یا صرف مطلوبہ فیلڈز کی projection، اسے ایک یا دو کوئریز میں بدل دیتی ہے۔

کیا SubcueAI نگرانی والے .NET کوڈنگ ٹیسٹ کے دوران مدد کر سکتا ہے؟

نہیں۔ نگرانی اور ریکارڈنگ والے امتحانات دائرۂ کار سے باہر ہیں، اور نگرانی کے تحت براہ راست کوڈنگ آپ کا اپنا کام ہے۔ یہ گفتگو پر مبنی مراحل کے لیے ہے، اور ان سے پہلے مشق کرنے کی جگہ فرضی انٹرویو موڈ ہے۔

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

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