مصاحبه ASP.NET Core — سطح Mid
سؤالها بر اساس دفعات تکرار در مصاحبههای واقعی مرتب شدهاند.
چکلیست آمادگی مصاحبه
هنوز هیچ سؤالی را تمرین نکردهای. حالت تمرین را شروع کن.
0 از 27 سؤال «بلد بودم» · 0 سؤال مرور شده · این پیشرفت فقط روی همین مرورگر ذخیره میشود.
27 سؤال
- 1.تفاوت Authentication و Authorization چیست؟Authentication تشخیص هویت است؛ Authorization تعیین میکند کاربر مجاز به انجام آن عمل هست یا نه، و همیشه بعد از Authentication اجرا میشود.تکرار در مصاحبهها: 93٪
- 2.Middleware چیست؟قطعهکدهایی که هر درخواست HTTP قبل از رسیدن به Controller و بعد از پاسخ، از میانشان عبور میکند.تکرار در مصاحبهها: 90٪
- 3.تفاوت Singleton، Scoped و Transient در ASP.NET Core چیست؟طول عمر سرویس را تعیین میکنند: Singleton یک نمونه برای کل برنامه، Scoped یک نمونه بهازای هر درخواست، Transient یک نمونه در هر بار درخواست از Container.تکرار در مصاحبهها: 88٪
- 4.تفاوت AddScoped، AddTransient و AddSingleton چیست؟Transient هر بار درخواست، نمونه جدید میسازد؛ Scoped یک نمونه مشترک در هر Request دارد؛ Singleton یک نمونه برای کل عمر برنامه دارد.تکرار در مصاحبهها: 87٪
- 5.Dependency Injection چیست؟مکانیزمی برای کاهش Coupling با تزریق وابستگی از بیرون بهجای ساخت آن درون کلاس، و افزایش Testability.تکرار در مصاحبهها: 85٪
- 6.چرا ترتیب Middlewareها مهم است؟چون هر Middleware باید قبل از دیگری اجرا شود؛ مثلاً UseAuthentication باید قبل از UseAuthorization بیاید.تکرار در مصاحبهها: 82٪
- 7.JWT چه مزیتی نسبت به Cookie دارد؟Stateless است و نیاز به نگهداری Session سمت سرور ندارد؛ برای REST API مناسبتر است.تکرار در مصاحبهها: 80٪
- 8.ASP.NET Core چه تفاوتی با ASP.NET Framework دارد؟Cross-Platform است، Performance بالاتری دارد، متنباز است و روی .NET (نه فقط Windows) اجرا میشود.تکرار در مصاحبهها: 78٪
- 9.Background Service چیست؟سرویسی که بدون وابستگی به درخواست HTTP در پسزمینه برنامه اجرا میشود.تکرار در مصاحبهها: 78٪
- 10.تفاوت IHostedService و BackgroundService چیست؟BackgroundService یک پیادهسازی آماده از IHostedService است و تنها نیاز به پیادهسازی ExecuteAsync دارد؛ IHostedService کنترل بیشتری با StartAsync/StopAsync مستقیم میدهد.تکرار در مصاحبهها: 75٪
- 11.تفاوت Role-Based و Policy-Based چیست؟Role-Based فقط بر اساس نقش کاربر تصمیم میگیرد؛ Policy-Based میتواند ترکیبی از چند شرط (Role، Claim، Requirement) را با هم بررسی کند.تکرار در مصاحبهها: 72٪
- 12.Claim چیست؟قطعهای اطلاعات درباره کاربر (مانند Email، Role یا Department) که در Identity یا Token ذخیره میشود.تکرار در مصاحبهها: 70٪
- 13.از JWT و از Cookie چه زمانی استفاده میکنیم؟Cookie برای برنامههای MVC و Razor Pages؛ JWT برای Web API، SPAها (React/Angular/Vue) و اپلیکیشنهای موبایل.تکرار در مصاحبهها: 68٪
- 14.چه زمانی JWT و چه زمانی Cookie Authentication مناسبتر است؟JWT برای REST APIهای Stateless و معماری Microservices مناسبتر است؛ Cookie برای اپلیکیشنهای وب سنتی مثل MVC/Razor Pages.تکرار در مصاحبهها: 68٪
- 15.چرا میگویند JWT رمزنگاریشده نیست؟ این موضوع چه پیامد امنیتی دارد؟چون Payload فقط Base64Url Encode شده، نه رمزنگاری؛ هرکسی میتواند آن را بخواند، فقط نمیتواند بدون کلید تغییرش دهد.تکرار در مصاحبهها: 65٪
- 16.اگر UseAuthorization() قبل از UseAuthentication() فراخوانی شود چه اتفاقی میافتد؟هویت کاربر هنوز بررسی نشده، بنابراین حتی درخواستهای معتبر هم ممکن است 401 Unauthorized بگیرند.تکرار در مصاحبهها: 65٪
- 17.چرا از CancellationToken استفاده میکنیم؟برای توقف ایمن (Graceful Shutdown) سرویس هنگام خاموش شدن برنامه.تکرار در مصاحبهها: 65٪
- 18.Background Service چه کاربردهایی دارد؟ارسال ایمیل، پردازش Queue، زمانبندی Jobها، Sync دادهها، پاکسازی اطلاعات، پردازش فایلها.تکرار در مصاحبهها: 62٪
- 19.Program.cs چه وظایفی دارد؟نقطه شروع برنامه است، Middleware Pipeline را تنظیم میکند و مسئول ثبت سرویسها (DI) است.تکرار در مصاحبهها: 60٪
- 20.چگونه یک Background Service را ثبت میکنیم؟با AddHostedService<MyWorker>() در Program.cs.تکرار در مصاحبهها: 60٪
- 21.Minimal API چه زمانی مناسب است؟برای APIهای ساده و Microserviceهایی که به Boilerplate Code یا ساختار کامل MVC نیاز ندارند.تکرار در مصاحبهها: 58٪
- 22.مدیریت متمرکز خطا در ASP.NET Core را چطور پیاده میکنید؟با یک Middleware در ابتدای Pipeline که کل زنجیره را در try/catch میگیرد و خطا را به یک پاسخ استاندارد (ProblemDetails) تبدیل میکند.تکرار در مصاحبهها: 58٪
- 23.چرا نباید از Thread.Sleep() استفاده کنیم؟چون Thread را بلاک میکند؛ در بلاکهای Async باید از Task.Delay() استفاده شود.تکرار در مصاحبهها: 58٪
- 24.Model Binding چیست؟فرآیندی که دادههای Request (Route، Query، Form یا Body) را بهصورت خودکار به Objectهای C# تبدیل میکند.تکرار در مصاحبهها: 55٪
- 25.آیا Background Service به درخواستهای HTTP وابسته است؟خیر، مستقل از Pipeline درخواستهای HTTP اجرا میشود.تکرار در مصاحبهها: 55٪
- 26.آیا چند Background Service میتوان در یک برنامه داشت؟بله، با ثبت چند Hosted Service از طریق AddHostedService میتوان چند سرویس پسزمینه را همزمان اجرا کرد.تکرار در مصاحبهها: 50٪
- 27.آیا یک Role یک Claim است؟بله؛ در ASP.NET Core، Role معمولاً بهصورت نوعی از Claim نگهداری میشود، اما همه Claimها Role نیستند.تکرار در مصاحبهها: 50٪
