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

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

