PDA

View Full Version : حرفه ای: نمونه سوالات مصاحبه استخدامی برنامه نویس‌های ارشد



sanay_esh
چهارشنبه 01 آذر 1391, 11:04 صبح
با سلام خدمت تمامی دوستان عزیز و اساتید گرامی

برخی از سوالاتی که در جهت استخدام یک برنامه نویس ارشد مطرح میشود بصورت ذیل به ترتیب شماره آورده شده است
لذا خواهشمندم از کسانی که به سوالات ذیل میتوانند با ذکر منبع و کامل پاسخ دهند در این تاپیک ارزشمند شرکت نمایند .

قبلا از تمامی کاربران و اساتید جهت همکاری و ندادن پاسخهای ناقص و ... که تاپیک را شلوغ نکند متشکر و سپاسگذارم

منبع سوالات 1 (http://www.hanselman.com/blog/NewInterviewQuestionsForSeniorSoftwareEngineers.as px)و 2 (http://www.dotnettips.info/Post/524/%D9%86%D9%85%D9%88%D9%86%D9%87-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B5%D8%A7%D8%AD%D8%A8%D9%87-%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85%DB%8C)


- آیا می‌دانید SOLID چیست؟
- آیا می‌دانید SRP مخفف چیست و چه اهمیتی دارد؟
- پروژه‌ای مبتنی بر یک فناوری جدید به شما انتساب داده شده است. چگونه آن‌را آغاز خواهید کرد؟
- در مورد IOC یا Inversion of control چه می‌دانید؟ ارتباط آن با dependency injection چیست؟
- برنامه 2 tier با برنامه‌ی 3 tier چه تفاوتی دارد؟
- فلسفه‌ی وجودی Interface چیست و چه اهمیتی دارد؟
- الگوی Repository را شرح دهید. الگوی Factory‌ چیست؟ چرا الگوهای طراحی برنامه نویسی شیءگرا مهم هستند؟
- Anti-patterns کدامند؟ توضیح دهید.
- آیا تابحال اسم Gang of Four به گوشتان خورده است؟ در چه موردی است؟
- ارتباط الگوهای MVP ، MVC و MVVM در چیست؟ هر کدام از این الگوها در چه زمانی‌هایی بهتر است بکار گرفته شوند؟
- مفهوم جداسازی وابستگی‌ها (Separation of Concerns) چیست. مزایا و معایب آن کدامند؟
- سه ویژگی اصلی طراحی شیءگرا را نام برده و توضیح دهید.
- یک الگوی طراحی را توضیح دهید که در خانواده‌ی الگوی Factory قرار نمی‌گیرد. این الگو چه زمانی بهتر است بکار برده شود و چگونه؟
- فرض کنید یک پروژه‌ی قدیمی را که از مشکلات حاد نگهداری رنج می‌برد، به شما انتساب داده‌اند. چه فاکتورها و اقداماتی را جهت بهبود این وضعیت درنظر گرفته و چگونه برنامه را به سمت یک پروژه‌ی پایدار پیش خواهید برد؟
- مفهوم Service Orientation چه اثری را بر طراحی سیستم‌ها خواهد گذاشت؟ کجاها بهتر است استفاده شود؟
- در مورد portfolio تمام برنامه‌هایی که تاکنون بر روی آن‌ها کار کرده‌اید توضیح دهید. شما چه نقشی در طراحی آن داشته‌‌اید؟
- منهای بانک‌های اطلاعاتی رابطه‌ای، با چه روش‌هایی جهت ذخیره سازی اطلاعات آشنایی دارید؟ مزایا و معایب آن‌ها چیست؟
- در مورد مفهوم convention over configuration توضیح دهید. آخرین مثال عملی که در این مورد دیده‌اید چه بوده است؟
- در مورد سیستم‌های بدون حالت و با حالت (stateless and stateful) توضیح دهید. اثر هر کدام بر parallelism چیست؟
- تفاوت‌های بین Stubs و Mocks چیست و از هر کدام در کجاها استفاده خواهید کرد؟
- مفهوم YAGNI را به همراه یک مثال عملی توضیح دهید.
- sandbox چه معنایی دارد؟ آیا می‌توانید مثال‌هایی عملی از این مفهوم را در سیستم‌های موجود نام ببرید؟
- در مورد Concurrency به سوالات زیر پاسخ دهید:
- حالت‌های با و بدون قفل در مدل‌های Concurrency چه تفاوتی دارند؟
- زمانیکه از مدل‌های با قفل و یا بدون قفل استفاده می‌کنید ممکن است به چه مشکلاتی برخورد کنید؟
- مفهوم resource contention را توضیح دهید.
- مدل بر مبتنی بر وظیفه با مدل مبتنی بر ریسمان چه تفاوت‌هایی دارند؟( task-based model & threaded model )
- تفاوت‌های بین asynchrony و concurrency را توضیح دهید.



از اساتید و صاحبنظران این سایت و تالار نیز خواهش دارم به این تاپیک توجه ویژه نمائید

sanay_esh
دوشنبه 06 آذر 1391, 09:13 صبح
با سلام خدمت مدیران و اساتید حرفه ای این تالار

متاسفانه در این تالار به برخی از تاپیکها توجه و یا حتی پاسخ داده نمیشود

بنده از کاربران عادی سایت انتظاری ندارم به این نوع تاپیکها نظری یا پاسخی بدهند ولی از مدیران این تالار چرا .. انتظار دارم !

sanay_esh
جمعه 10 آذر 1391, 11:40 صبح
- آیا می‌دانید SOLID چیست؟

در اوایل سال 2000 رابرت مارتین اینگونه بیان کرد که solid متشکل از ابتدای کلمات زیر میباشد:


S SRP (http://en.wikipedia.org/wiki/Single_responsibility_principle) Single responsibility (http://en.wikipedia.org/wiki/Single_responsibility_principle) principle (http://en.wikipedia.org/wiki/Single_responsibility_principle)
هر شیء می‌بایست فقط یک مسئولیت داشته باشد

O OCP (http://en.wikipedia.org/wiki/Open/closed_principle) Open/closed principle (http://en.wikipedia.org/wiki/Open/closed_principle)هر چیزی در نرم‌افزار می‌بایست قابل توسعه دادن باشد (باز)، اما قابل تغییر نباشد (بسته).

L LSP (http://en.wikipedia.org/wiki/Liskov_substitution_principle) Liskov substitution principle. (http://en.wikipedia.org/wiki/Liskov_substitution_principle) اشیاء در یک برنامه باید بتوانند با نمونه‌هایی از subtypeهای خود قابل جایگزینی باشند، بدون اینکه بر صحت آن برنامه اثر بگذارد.

I ISP (http://en.wikipedia.org/wiki/Interface_segregation_principle) Interface segregation principle (http://en.wikipedia.org/wiki/Interface_segregation_principle) چند رابط کاربر که مختص به مشتریان متفاوت هستند بهتر از یک رابط کاربر عمومی است.

D DIP (http://en.wikipedia.org/wiki/Dependency_inversion_principle) Dependency inversion principle (http://en.wikipedia.org/wiki/Dependency_inversion_principle) هر چیز باید به انتزاع وابسته باشد، نه به تعین


منبع (http://en.wikipedia.org/wiki/Solid_%28object-oriented_design%29) و برای مطالعه بیشتر به این آدرس (http://www.codeproject.com/Articles/60845/The-S-O-L-I-D-Object-Oriented-Programming-OOP-Prin)مراجعه نمائید

modern_amin
یک شنبه 03 دی 1391, 10:53 صبح
جوابهاشو هم بزارین....