You are here:

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

فرستادن به ایمیل چاپ مشاهده در قالب پی دی اف

Tags: برنامه نویسی | تخصصی | نرم افزار

چندي پيش مقاله اي در سايت نکات دات نت راجع به نمونه سوالات آزمون استخدامي برنامه نويسان ارشد ديدم که به نظرم جالب آمد. بخصوص از اين جهت که به عنوان يک کارشناس ارشد نرم افزار فقط چندتايي از اين سوالات را بلد بودم ، که واقعاً بايد به خودم دست مريزاد بگويم . نمونه سوالات اينها بودند :

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

اصل مقاله به زبان لاتين را از اين آدرس مي توانيد مشاهده کنيد که کاملتر از ليست فوق است.

روز گذشته هم نمونه مهارت هاي لازم براي استخدام در يک سايت ايراني را ديدم که هر چند مانند فوق تخصصي نبود باز هم برايم جالب بود و بسياري از خواسته هاي آنان را جديد يافتم :

(مانند آخري که مدرک دانشگاهي هم نياز ندارند ......)

  • پيش زمينه قوي در برنامه نويسي شيي گرا با زبانهايي مانند C# , Java
  • مسلط به زبان انگليسي و توانايي فهم سريع مستندات انگليسي و پياده سازي دستور العملها
  • پيش زمينه در script نويسي با زبانهايي مانند Python، Ruby، Perl
  • تسلط بر کار با پايگاههاي داده مبتني بر SQL مانند Postgresql و MySQL
  • علاقه مند به تحقيق و استفاده از زبانها، ابزارها و روشهاي جديد و به اشتراك گذاري اطلاعات
  • آشنا به روش برنامه نويسي TDD و Agile
  • آشنا به نرمافزار هاي Source Control مانند mercurry و git
  • آشنا با روشهاي ذخيره سازي ،NoSQL مانند tokyo cabinet و redis
  • آشنا با روشهاي آزمايش و خطايابي و ابزارهايي مانند JUnit
  • آشنا به روشهاي برنامه نويسي Open Source
  • سابقه استفاده از محيطهاي برنامه نويسي مانند Eclipse
  • توانايي استفاده از ويرايشگر vim
  • آشنا به ساختار Linux و سيستم عاملهاي ديگر براساس POSIX مانند Solaris
  • آشنا به مباحث شبکه
  • داراي روحيه و سابقه کار تيمي
  • عدم نياز به مدرك دانشگاهي !!!
نظرات (1)Add Comment
0
تجربه
نویسنده شهلا مقدس, مارس 30, 2015
سلام
من نمیدونم شما چقدر تجربه کاری در زمینه رشته خودتون دارین ولی من یه برنامه نویس معمولی ام و بیشتر از 10 تا از سوالات رو کامل میدونستم و بعضی ها رو تا حدی فقط یکی دو تا بود که اصلا نمیدونستم.
این سوالات در فیلد های متفاوتی هستش مثلا فیلد های امنیت نرم افزار یا معماری نرم افزار یا تکنولوژی ها و مفاهیم برنامه نویسی و کسی که همه این دانش رو داشته باشه نمیتونه توی همه موارد تخصص داشته باشد.

نظرتان را بنویسید
کوچکتر | بزرگتر

busy
آخرین بروزرسانی ( دوشنبه ، 23 اسفند 1389 ، 21:17 )