۱۳۸۹/۱۱/۲۹

نمونه سوالات مصاحبه استخدامي


مطلبي رو در سايت آقاي اسكات هنسلمن ديدم كه به نظرم براي برگرداندن به فارسي جالب اومد. شايد باعث شود كه اندكي به فكر فرو رويم كه ... چكار داريم مي‌كنيم و قرار است به كجا برويم/برسيم.

نمونه سوالات مصاحبه استخدامي برنامه نويس‌هاي ارشد

  • - آيا هنوز كد مي‌نويسيد؟ آيا به آن علاقمنديد؟!
  • - آيا مي‌دانيد 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 را توضيح دهيد.