100 въпроса при интервюиране на софтуерни разработчици. Част 2 – кодиране и тестване

В тази серия от постове ви предлагам въпроси към кандидатите за работа на позиция “Софтуерен разработчик”. Въпросите ги заимствах от Jurgen Appelo от блога NOOP.nl, който е изготвил един голям списък от 100 въпроса, разделен в 10 категории, според областите на знание, дефинирани от Software Engineering Body of Knowledge (SWEBOK). Препоръчвам ви да си свалите и самия The Guide to SWEBOK от там – една важна и полезна книга за софтуерни разработчици.
В първата част разгледахме въпроси от областите на управлението на изискванията и дизайна, а сега ви предлагам още една доза въпроси, този път насочени към кодирането, алгоритмите и тестването.
Кодиране
- Кое ви интересува най-много, когато правите ревю на чужд код?
- Кога използвате абстрактен клас и кога – интерфейс?
- Освен IDE-то, кои други помощни средства използвате и считате за особено полезни?
- Как осигурявате вашия код да бъде едновременно бърз и сигурен?
Алгоритми
- Как ще намерите средния елемент в свързан списък?
- Как ще напишете функция за обръщане на стринг? Можете ли да го направите без да използвате временна променлива?
- Знаете ли какво представлява Транспортната задача?
Категории: Разработка на софтуер | 2 коментара
100 въпроса при интервюиране на софтуерни разработчици. Част 1 – изисквания и дизайн

Когато съм участвал в интервю за работа – било като кандидат или като работодател, често съм се сблъсквал с неподготвеност за задаване на подходящи въпроси, които да разкрият по-добре качествата на кандидата. Ако аз съм бил този кандидат, съм попадал в ситуации, когато изпитващите или не са знаели какво да ме питата, или са ми задавали елементарни задачки, като сортиране на масив по метода на мехурчето. В другият случай, пък, аз и моите колеги дълго сме мислили какви точно въпроси да зададем, за да открием чрез тях най-подходящия кандидат.
Jurgen Appelo от блога NOOP.nl е изготвил един много обширен списък с въпроси, с който до голяма степен решава всички тези проблеми. Списъкът е разделен в 10 категории, всяка от които съдържа по 10 въпроса. Категориите са избрани според областите на знание, дефинирани от Software Engineering Body of Knowledge (SWEBOK). Между другото, от този сайт можете да си свалите The Guide to SWEBOK – една изключително полезна книга за софтуерни разработчици.
Тук е моментът да се отбележи, че Юрген е привърженик на “гъвкавите” подходи в разработката на софтуер и смята, че един програмист трябва да е широк специалист и да е компетентен във всяка от 10-те области. Традиционният подход в управлението на софтуерни проекти набляга повече на специализацията и предполага, че един член на софтуерен екип може да е специалист в една или няколко области, но не и във всички.
Моето лично мнение повече клони към втория подход, но това не е чак толкова важно. Дали ще зададете всички въпроси на един човек или ще зададете само част от тях, в зависимост от неговата тясна специализация, не е толкова важно. По-важно е какво очаквате от него като знания и опит и как те трябва да бъдат проявени в отговорите на кандидатите.
Категории: Разработка на софтуер | 3 коментара

