اگر قصد دارید در مصاحبههای شغلی معماری نرمافزار موفق شوید، این دوره برای شماست.
در ادامه، لیست سوالات پوشش داده شده در این دوره آمده است. موفق باشید در یادگیری وe جستجوی شغلی.
سوالات پایه مصاحبه معماری
۱. معماری پروژه خود را توضیح دهید؟
۲. تفاوت سبک معماری در مقابل الگوی معماری و الگوی طراحی چیست؟
۳. الگوهای طراحی (Design Patterns) چیستند؟
۴. انواع مختلف الگوهای طراحی کدامند؟
۵. از کدام الگوی طراحی در پروژه خود استفاده کردهاید؟
۶. الگوی Singleton و کاربردهای آن را توضیح دهید؟
۷. الگوی Singleton را چگونه پیادهسازی کردید؟
۸. آیا میتوانیم به جای سازنده خصوصی (Private Constructor) از کلاس Static استفاده کنیم؟
۹. تفاوت کلاس Static در برابر الگوی Singleton چیست؟
۱۰. Thread Safety را در Singleton چگونه پیاده کردید؟
۱۱. Double Null Check در Singleton چیست؟
۱۲. آیا کد الگوی Singleton با کلمه کلیدی Lazy سادهتر میشود؟
۱۳. آیا میتوانیم از شر کد Double Null Check خلاص شویم؟
۱۴. الگوهای معماری GUI چیستند و چند مورد را نام ببرید؟
۱۵. مفهوم جداسازی دغدغهها (SOC) را توضیح دهید؟
۱۶. الگوی معماری MVC را توضیح دهید؟
۱۷. الگوی معماری MVP را توضیح دهید؟
۱۸. اهمیت Interface در MVP چیست؟
۱۹. Passive View چیست؟
۲۰. الگوی معماری MVVM را توضیح دهید؟
۲۱. تفاوت بین MVP و MVVM چیست؟
۲۲. ViewModel چیست؟
۲۳. چه زمانی از MVP، MVC یا MVVM استفاده کنیم؟
۲۴. مقایسه MVC در برابر MVP و MVVM؟
۲۵. تفاوت معماری لایهای (Layered) در برابر Tiered چیست؟
پرسش و پاسخ الگوهای طراحی معماری - بخش ۲
اصول SOLID
۲۶. SOLID چیست؟
۲۷. عبارت کامل SOLID چیست؟
۲۸. هدف از رعایت اصول SOLID چیست؟
۲۹. اصل SRP را با یک مثال توضیح دهید؟
۳۰. مزیت SRP چیست؟
۳۱. اصل OCP را با یک مثال توضیح دهید؟
۳۲. مزیت OCP چیست؟
۳۳. اصل LISKOV و موارد نقض آن را توضیح دهید؟
۳۴. چگونه میتوان مشکل LISKOV را برطرف کرد؟
۳۵. اصل تفکیک رابطها (ISP) را توضیح دهید؟
۳۶. آیا ارتباطی بین LISKOV و ISP وجود دارد؟
۳۷. وارونهسازی وابستگی (Dependency Inversion) را تعریف کنید؟
۳۸. ماژول سطح بالا (Higher Level) و ماژول سطح پایین (Lower Level) چیست؟
۳۹. وارونهسازی وابستگی چه مزایایی دارد؟ با مثال نشان دهید.
۴۰. آیا تنها وارونهسازی وابستگی مشکل Decoupling را حل میکند؟
۴۱. چرا توسعهدهندگان ایجاد شیء (Object Creation) را به خارج از ماژول سطح بالا منتقل میکنند؟
۴۲. مفهوم IOC (وارونهسازی کنترل) را توضیح دهید؟
۴۳. تزریق وابستگی (Dependency Injection) را با مثال توضیح دهید؟
۴۴. آیا SOLID، IOC و DI الگوهای طراحی هستند یا اصول؟
۴۵. آیا رعایت SOLID به تنهایی برای داشتن کد/معماری خوب کافی است؟
پرسش و پاسخ الگوهای طراحی معماری - بخش ۳
الگوی Repository و UOW
۴۶. کاربرد الگوی Repository چیست؟
۴۷. آیا لایه دسترسی به دادهها (DAL) و Repository یکی هستند؟
۴۸. الگوی Generic Repository چیست؟
۴۹. آیا انتزاع (Abstraction) تنها مزیت Repository است؟
۵۰. چگونه تراکنشها (Transaction) را در Repository پیاده کنیم؟
۵۱. الگوی طراحی Unit of Work چیست؟
۵۲. وقتی EF تقریباً همین کار را انجام میدهد، آیا باز هم به الگوی Repository نیاز داریم؟
۵۳. آیا برای Repository تست واحد (Unit Testing) نوشتهاید؟
۵۴. الگوی Repository چگونه تست واحد را آسان میکند؟
۵۵. چگونه میتوانیم Mock Testing را با Repository انجام دهیم؟
پرسش و پاسخ الگوهای طراحی معماری - بخش ۴
الگوی Factory، Abstract Factory، DI، IOC و Service Locator
۵۶. الگوی Factory چیست و چه مزایایی دارد؟
۵۷. متمرکز کردن ایجاد شیء چگونه به کاهش وابستگی (Loose Coupling) کمک میکند؟
۵۸. IOC و DI چیستند؟
۵۹. تفاوت DI در برابر IOC چیست؟
۶۰. Service Locator چیست؟
۶۱. Service Locator چیست؟
۶۲. استفاده از Service Locator بهتر است یا DI؟
۶۳. آیا میتوانیم برای DI به جای Interface از یک کلاس ساده استفاده کنیم؟
۶۴. آیا DI یک نوع الگوی Factory است؟
۶۵. پس اگر فقط ایجاد شیء را متمرکز کنیم، آیا این الگوی Factory است؟
۶۶. تفاوت Static DI و Dynamic DI چیست؟
۶۷. در چه سناریوهایی از Static DI در مقابل Dynamic DI استفاده کنیم؟
پرسش و پاسخ الگوهای طراحی معماری - بخش ۵
ادامه بحث الگوهای Factory و Abstract Factory
۶۸. الگوی Factory واقعی چیست؟
۶۹. تفاوت Factory Method در برابر Factory Pattern چیست؟
۷۰. رفتارهای جدید در الگوی Factory چگونه ایجاد میشوند؟
۷۱. الگوی Abstract Factory چیست؟
۷۲. آیا الگوی Abstract Factory در داخل خود از Factory Pattern استفاده میکند؟
۷۳. الگوی Simple Factory را توضیح دهید؟
۷۴. مقایسه Simple Factory در برابر Factory Method و Abstract Factory؟
۷۵. چگونه شرطهای IF را از Simple Factory حذف کنیم؟
ایبوک پرسش و پاسخ مصاحبه معماری - بخش ۶
Shivprasad Koirala
ما عاشق ضبط آموزش های گام به گام هستیم نام من Shivprasad Koirala است ، ما عاشق آموزش و یادگیری هستیم ، ما وب سایت QuestPond را 15 سال پیش با یک هدف واحد ایجاد کیفیت گام به گام دروس مرتبط با برنامه نویسی IT راه اندازی کردیم. ما بسیاری از دروس را بصورت آنلاین مشاهده کردیم ، یا خیلی سریع انجام می شود یا خیلی کند یا بسیار پیچیده است. هدف اصلی Questpond ایجاد درسهای گام به گام در C # ، ASP.NET ، الگوهای طراحی ، SQL و غیره است. با گذشت سالها ، من گام به گام سایر دروس مانند Angular ، Sharepoint ، MSBI ، Azure و غیره را اضافه کردم.
نمایش نظرات