о простых задачах (программистское)
Sep. 4th, 2008 09:44 amХорошая задача для интервью: взять квадратный двумерный массив и повернуть его на 90 градусов.
Хорошая в том смысле, что она отделяет возможных агнцев от несомненных козлищ. Если кандидат может это уверенно сделать, это еще ничего не значит; но если не знает даже, как подойти (см. описание по ссылке), то это уже о многом говорит.
Еще там в комментариях звучит здравая мысль о том, что любимые вопросы для интервью стоит менять время от времени, скажем, не задавать больше ста раз. У меня еще есть время в запасе до моего сотого интервью в Гугле, но все равно некоторые любимые вопросы пора обновить.
Хорошая в том смысле, что она отделяет возможных агнцев от несомненных козлищ. Если кандидат может это уверенно сделать, это еще ничего не значит; но если не знает даже, как подойти (см. описание по ссылке), то это уже о многом говорит.
Еще там в комментариях звучит здравая мысль о том, что любимые вопросы для интервью стоит менять время от времени, скажем, не задавать больше ста раз. У меня еще есть время в запасе до моего сотого интервью в Гугле, но все равно некоторые любимые вопросы пора обновить.
no subject
Date: 2008-09-04 10:25 am (UTC)поправил.
Хочу в Гугл :)
я всё-таки его заборол! :)
arr - массив
rotate90CW() - функция, осуществляющая поворот.
void rotateContour(int top, int len){
for(int i=0; i&tl;len-1; i++){
int tmpval = arr[top][top+i];
arr[top][top+i]=arr[top+len-1-i][top];
arr[top+len-1-i][top]=arr[top+len-1][top+len-1-i];
arr[top+len-1][top+len-1-i]=arr[top+i][top+len-1];
arr[top+i][top+len-1]=tmpval;
}
}
void rotate90CW(){
for(int i=0; i<N/2; i++)
rotateContour(i,N-i*2);
}
no subject
Date: 2008-09-04 10:36 am (UTC)Лично меня ваш код пугает и я не хочу в нем разбираться:) Мне кажется это хороший пример того, когда каждая строчка кода должна быть подробно закомментирована
no subject
Date: 2008-09-04 11:12 am (UTC)контексте собеседования комментировать код нет смысла, а по названиям функций отдаленно о принципах функционирования можно догадаться :)
no subject
Date: 2008-09-04 11:18 am (UTC)no subject
Date: 2008-09-04 11:23 am (UTC)no subject
Date: 2008-09-04 11:29 am (UTC)no subject
Date: 2008-09-04 11:25 am (UTC)no subject
Date: 2008-09-04 10:44 am (UTC)no subject
Date: 2008-09-04 10:54 am (UTC)Просто ответ мне почему-то пришёл в почту. Кинулся проверять :)
no subject
Date: 2008-09-04 11:21 am (UTC)