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

Публикувано от Майк Рам на 15.03.2009 г. в 20:31 часа

кодиране, алгоритми, тестване

В тази серия от постове ви предлагам въпроси към кандидатите за работа на позиция “Софтуерен разработчик”. Въпросите ги заимствах от Jurgen Appelo от блога NOOP.nl, който е изготвил един голям списък от 100 въпроса, разделен в 10 категории, според областите на знание, дефинирани от Software Engineering Body of Knowledge (SWEBOK). Препоръчвам ви да си свалите и самия The Guide to SWEBOK от там – една важна и полезна книга за софтуерни разработчици.

В първата част разгледахме въпроси от областите на управлението на изискванията и дизайна, а сега ви предлагам още една доза въпроси, този път насочени към кодирането, алгоритмите и тестването.

Кодиране

Алгоритми

Продължи към пълния текст »

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

Публикувано от Майк Рам на 09.03.2009 г. в 07:10 часа

Управление на изискванията и функционален дизайн

Когато съм участвал в интервю за работа – било като кандидат или като работодател, често съм се сблъсквал с неподготвеност за задаване на подходящи въпроси, които да разкрият по-добре качествата на кандидата. Ако аз съм бил този кандидат, съм попадал в ситуации, когато изпитващите или не са знаели какво да ме питата, или са ми задавали елементарни задачки, като сортиране на масив по метода на мехурчето. В другият случай, пък, аз и моите колеги дълго сме мислили какви точно въпроси да зададем, за да открием чрез тях най-подходящия кандидат.

Jurgen Appelo от блога NOOP.nl е изготвил един много обширен списък с въпроси, с който до голяма степен решава всички тези проблеми. Списъкът е разделен в 10 категории, всяка от които съдържа по 10 въпроса. Категориите са избрани според областите на знание, дефинирани от Software Engineering Body of Knowledge (SWEBOK). Между другото, от този сайт можете да си свалите The Guide to SWEBOK – една изключително полезна книга за софтуерни разработчици.

Тук е моментът да се отбележи, че Юрген е привърженик на “гъвкавите” подходи в разработката на софтуер и смята, че един програмист трябва да е широк специалист и да е компетентен във всяка от 10-те области. Традиционният подход в управлението на софтуерни проекти набляга повече на специализацията и предполага, че един член на софтуерен екип може да е специалист в една или няколко области, но не и във всички.

Моето лично мнение повече клони към втория подход, но това не е чак толкова важно. Дали ще зададете всички въпроси на един човек или ще зададете само част от тях, в зависимост от неговата тясна специализация, не е толкова важно. По-важно е какво очаквате от него като знания и опит и как те трябва да бъдат проявени в отговорите на кандидатите.

Продължи към пълния текст »