سؤالات اسکات هنسلمن

سؤالات اسکات هنسلمن

چندی پیش سوالاتی رو دیدم که یکی از دوستان(که دقیقاً یادم نیست اولین بار چه کسی بود) در وبلاگش قرار داده بود در مورد سؤالاتی که آقای اسکات هنسلمن (SCOTT HANSELMAN) برای استخدام برنامه نویسان ارشد طرح کرده بود. در نگاه اول جواب خیلی از سؤالات رو نمی دونستم اما تصمیم گرفتم جواب اونا رو پیدا کنم و برای استفاده دیگران نشر بدم. در پست های بعدی به جواب سؤالات اسکات خواهم پرداخت. اما ترتیب خاصی رو رعایت نمی کنم.

متن اون دوست در مورد سؤالات اسکات:
مطلبی رو در سایت آقای اسکات هنسلمن دیدم که به نظرم برای برگرداندن به فارسی جالب اومد. شاید باعث شود که اندکی به فکر فرو رویم که … چکار داریم می کنیم و قرار است به کجا برویم/برسیم.
نمونه سوالات مصاحبه استخدامی برنامه نویس های ارشد
آیا هنوز کد می نویسید؟ آیا به آن علاقمندید؟!
آیا می دانید SOLID چیست؟
آیا می دانید SRP مخفف چیست و چه اهمیتی دارد؟
پروژه ای مبتنی بر یک فناوری جدید به شما انتساب داده شده است. چگونه آن را آغاز خواهید کرد؟
در مورد IOC یا Inversion of control چه می دانید؟ ارتباط آن با dependency injection چیست؟
برنامه ۲ tier با برنامه ی ۳ 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 را توضیح دهید.

به وسیله |۱۳۹۶-۱-۲۰ ۱۳:۳۰:۳۶ +۰۰:۰۰خرداد ۱۱ام, ۱۳۹۴|برنامه نویسی, مهندسی نرم افزار|بدون ديدگاه

درباره نویسنده :

ثبت ديدگاه

This website uses cookies and third party services. Ok