Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Тест за "добри" С програмисти.
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=1630
Страница 1 от 5

Автор:  Цецо [ Съб Яну 21, 2006 8:39 pm ]
Заглавие:  Тест за "добри" С програмисти.

http://twentyone.bokee.com/inc/CTest.rar

Как ви се струва? Аз се издъних на половината.

Автор:  Balkana [ Съб Яну 21, 2006 9:28 pm ]
Заглавие: 

Аз на повече от 1/4 се издъних. На всичките ми познати/колеги които съм го показвал, признават че е много показателно, и много добре подбрано. Даже в бачкането използват от него въпросчета за входен тест за embedded програмисти ... :)

Автор:  vlado [ Съб Яну 21, 2006 11:22 pm ]
Заглавие: 

Тестът е много добър. Повечето въпроси наистина са пряко свързани с embedded програмиране и само от 16 въпроса можеш да разбереш колко се е занимавал човекът срещу теб. ТОва е ценното на подобен род тестове - не се отвличат с мъгляви теории, а питат направо за сърцевината на нещата.

Автор:  s_stoqnov [ Нед Яну 22, 2006 11:23 am ]
Заглавие: 

За да не отварям нова тема пиша тук.

Някой да има някакви материали или да знае линк към сайт където мога да прочета за побитови операции, примерно обявявам си една променлива от беззнаков интеджер и искам да разменя първи и последен бит. Как да извлича състоянивто на 1-ви или 8-ми бит. Работа с логическите операции... и други такива интересни нещица.

Автор:  Dimiter [ Нед Яну 22, 2006 7:29 pm ]
Заглавие: 

@s_stoqnov

ето ти един елементарен пример:

примерно се интересуваш от 3-бит на байта x

вдигнат 3-ти бит отговаря на числото 0x08

if ( ( x & 0x08)==0x08) //операцията логическо И(&) със 0x08 ще остави 'жив' само 3-тия бит
{
// бита е бил вдигнат
}
else
{
//не е
}

Автор:  [ Пон Яну 23, 2006 1:57 am ]
Заглавие: 

Още по кратък ще стане кода, ако не правиш сравнението == 0x08, защото при bitwise AND -> x & 0x08 , ако бит 3 в x е 1, то x & 0x08 ще ти върне true, а ако бит 3 е 0, то x & 0x08 ще ти върне false, което е достатъчно за оператора if .
Код:
if( x & 0x08 ) {
// bit 3 is set
} else {
// bit 3 is clear
}

Автор:  Цецо [ Пон Яну 23, 2006 11:20 am ]
Заглавие: 

Абе не знам за вас, ама аз досега никога не съм ползвал в мой код оператор "?". По мои наблюдения тоя "оператор" е измислен специално за тормоз на студентите или изпитваните. Поне в компилаторите с които съм работил, тоя оператор с нищо не печели пред един тривиален if, написан добре.
Също са ми много любими С сентециите от типа a+++-b?<>1 и други подобни главоблъсканици. Да не говорим за някакви сложни комбинации като тримерен volatile масив от статични поинтери към динамични стрингови обекти или някаква подобна комбинация от термини. Бе няма начин едно такова нещо да не може да стане просто и прегледно.

Може и да не съм прав, както казах според този тест не ставам за програмист на С, явно.

Иначе теста е добър спор няма.

Автор:  [ Пон Яну 23, 2006 11:39 am ]
Заглавие: 

"?" оператора е удобен, когато е отдясната страна на операция за присвояване на стойност. Поне тогава почти винаги го използвам, защото се събира на един ред. Примерно:
Код:
int a,b,c;
.....
a = b > c ? b : -b;


Понякога мразя хептен сбития код, тъй като все пак този код ще се нуждае един ден и от поддръжка :D
Събирам кураж за теста, :D , ако намеря тия дни време ще го направя. А къде са верните отговори, видях само един файл с въпросите ?

Автор:  Цецо [ Пон Яну 23, 2006 1:04 pm ]
Заглавие: 

Теста е от работодател който изпитва потенциални кадри. След всеки въпрос човека е обяснил какво очаква като отговор.

А аргумента "всичко се събира на един ред" работи единствено и само срещу мен когато го използвам. Поне така се получава при мен.

Автор:  Balkana [ Пон Яну 23, 2006 1:28 pm ]
Заглавие: 

@Цецо:

Израза с питанката си има свои специфични приложения, където не става с if... else

Например, в макроси.
Освен това, някои компилатори се сещат по-лесно за по-компактен код ако им сложиш питанка, а не if...else

Автор:  Цецо [ Пон Яну 23, 2006 3:02 pm ]
Заглавие: 

За макросите си прав.
Теста наистина изкарва белите петна в познанията на кандидатите, виждам го по резултатите на хората на които го предложих. Включително по себе си. С малко въпроси - много резултат.

Съвсем друг е въпроса, че аз ако съм работодател и търся хора за дългосрочна работа, ще предпочета по слабо подготвен човек, но с тенденция за повишение на квалификацията, отколкото да си търся някакъв айнщаин на програмирането с огромни претенции, дето да ме зареже в първия удобен момент, защото някой му давал 100лв. повече. И после трябва да викам екип от лингвисти да разшифроват великолепните му творения.

Автор:  TheWizard [ Пон Яну 23, 2006 3:10 pm ]
Заглавие: 

Не мисля, че добрия/лошия програмист си личи от някакъв тест....

Автор:  t_i_t_o [ Пон Яну 23, 2006 3:39 pm ]
Заглавие: 

Но определено ще си проличи кой е програмист и кой не :lol:

Автор:  [ Пон Яну 23, 2006 4:10 pm ]
Заглавие: 

@Цецо, нищо лично, но това кой ще те зареже по-напред опитния или неопитния програмист, не зависи от опита му, а зависи от мангите. Ако даваш на неопитния 250лв. и му обещаваш всеки месец, че ей ся другия месец ще дойде великата поръчка и ще му вдигнеш заплатата, то след няколко месеца ще те напусне, ако друга фирма му предложи 350лв. Същото важи и за опитния програмист. С тая разлика, че него не можеш да го лъжеш с приказки за великата голяма поръчка, с която фирмичката щяла да си стъпе на краката, защото той вече е минал по този път и ще те напусне на първия месец. Всичко зависи от това колко процента от заплатата му представляват тия 100лв. Ако вземам 2000лв и някой се мъчи да купи за още 100лв отгоре, е няма да стане, но ако вземам 250-те лв. хич няма да се замисля. Такава е масовата практика не само при програмистите, ами при всички работници, които имат възможност за избор. По същия начин, както работодателя има възможност за избор на работник.

Автор:  Цецо [ Пон Яну 23, 2006 5:06 pm ]
Заглавие: 

Ами аз ако набирам работници (слава богу че не ми се налага), ще правя следното - плащам им дообучаването и срещу това подписват дългосрочен договор. Дали ще им се плаща 200 или 2000 лв.не е от значение. Въпроса е да са лоялни към мен. "Добрите" програмисти като цяло са единаци, трудно работят в екип, не търпят критика, не искат да работят нищо което не им е работа (спред тях), имат изисквания за независимост и са на принципа - шефа трябва да бъде доволен че го удостоявам с присъствието си, щото без мен е умрял. Това важи за всякакви видове специалисти, но при софтуеристите такива хора са в изобилие. Щото е модерно.

Основен принцип при набирането на кадри според мен е - да няма незаменими. Което автоматично значи - пази се от най-добрите.

Страница 1 от 5 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/