ПМ>>Я всегда думал, что вакансии, в которой есть тестовые задания, предназначены для студентов старших курсов. Я не прав?
K>Почему же? Если, допустим, ищется senior developer, почему бы не проверить как он решит задачу, связанную с необходимостью подумать, написать и отладить кусок кода?
Если senior developer ищется среди бывших таксистов, то такая проверка может иметь смысл. Хотя всё равно не понятно, как умение написать кусок кода за 15-20 минут покажет способность человека выполнять обязанности сеньёр дивелопера.
Здравствуйте, Handie, Вы писали:
H>... Я после десятка-двух собеседований ... реверс строки пишу исключительно по памяти при этом пытаясь изображать умственную деятельность.
А реверс строки — это считаем длину строки, идем циклом до середины и тупо меняем символы местами?
Например, так:
void reverse_str(char* s)
{
// Check s for NULL if needed.
const size_t n = strlen(s);
for (size_t i = 0; i < n/2; ++i)
std::swap(s[i], s[n-1-i]);
}
_>А реверс строки — это считаем длину строки, идем циклом до середины и тупо меняем символы местами? _>Например, так: _>void reverse_str(char* s) _>{ _> // Check s for NULL if needed. _> const size_t n = strlen(s); _> for (size_t i = 0; i < n/2; ++i) _> std::swap(s[i], s[n-1-i]); _>}
Версия без зависимостей:
void reverse_str(char* s)
{
// Check s for NULL if needed.
char *e = s;
while(*e++);
--e;
while(s<e)
{
char t = *s;
*s++ = *e;
*e-- = t
}
}
Версия чуть более красивая:
void reverse_str(char* s)
{
// Check s for NULL if needed.
char *e = s + strlen(s) - 1;
while(s<e)
{
char t = *s;
*s++ = *e;
*e-- = t
}
}
Здравствуйте, Handie, Вы писали:
H>Версия без зависимостей: H>
H>void reverse_str(char* s)
H>{
H> // Check s for NULL if needed.
H> char *e = s;
H> while(*e++);
H> --e;
H> while(s<e)
H> {
H> char t = *s;
H> *s++ = *e;
H> *e-- = t
H> }
H>}
H>
вариант плохой. нужно тратить время на чтение кода чтобы понять, что происходит. strlen намного лучше смотрится. Плюс самописный свап.
H>Версия "идеальная"
H>
A>вариант плохой. нужно тратить время на чтение кода чтобы понять, что происходит. strlen намного лучше смотрится. Плюс самописный свап.
А слабо написать более красивый вариант без использования либ? То, что для одного проекта будет как большой плюс, то для другого будет сильный минус. Например если разработчик модулей Nginx напишет std::swap то ему это пойдет в сильный минус (тащить C++/STL в проект написанный на C), имбедщику это тоже пойдет в минус, высокоуровневому С++ программисту в плюс.
H>>
A>Я бы не сказал, что идеальная. Смешение string и c-строк.
Где? Никакого смешения, сначала c->string, обработка, затем string->c. Понятно что для искусственно высосанного примера как этот это кажется извращением, но в реальной жизни это суровая проза. Преобразования типов очень часты при использовании сторонних библиотек, коих в реальных проектах часто десятки. Мне часто приходится работать с мешаниной QString, std::string, char* или ngx_str_t.
H>>К сожалению, ни один из кандидатов не предложил H>>
A>Возможно кандидаты воспринимают задачу в стиле Си. И о stl даже не задумываются.
Программер который предложит поправить интерфейс данной ему функции или сделать перегруженный вариант для "соседнего" типа однозначно будет воспринят как "правильный чувак"
Здравствуйте, zubr, Вы писали:
Z>Я считаю что дом задания нужны, вопрос лишь в оплате потраченного времени, но работодатель не пойдет на такую сделку.
Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
Здравствуйте, Ellin, Вы писали:
E>После хождения в течении последнего десятка лет по собеседованиям меня осенило! Тестовые задания выдаваемые для решения на дом нафиг не нужны! E>Можно прямо в офисе с помощью вопросов выяснить чего стоит человек. Либо дать анкету с короткими вопросами по ключевым моментам. E>Но нафига давать задание реализовать библиотеку, где формулировка задания идет на двух листах?
Ещё один всё понял. Идите, откройте компанию, наймите себе разработчиков, раз вы уже всё знаете.
Здравствуйте, alf_kadett, Вы писали:
_>Здравствуйте, zubr, Вы писали:
Z>>Я считаю что дом задания нужны, вопрос лишь в оплате потраченного времени, но работодатель не пойдет на такую сделку.
_>Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
Пробовал, нескольким хрюшам, в ответ на предложение сделать ДЗ, предлагал оплатить его выполнение. Все выкатывали круглые глаза, орали что этоже ТЗ и они не собираются его использовать и прочий булщит.. и пока никто не согласился оплатить его
Здравствуйте, alf_kadett, Вы писали:
_>Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
Я обычно не стараюсь даже — предлагают если дом задание, то отказываюсь — у меня дома столько прекрасных вещей и летом и зимой аж дух захватывает.
жена, кошаки, велики, сноуборды — :D
Здравствуйте, Nik_1, Вы писали:
Z>>>Я считаю что дом задания нужны, вопрос лишь в оплате потраченного времени, но работодатель не пойдет на такую сделку.
_>>Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
N_>Пробовал, нескольким хрюшам, в ответ на предложение сделать ДЗ, предлагал оплатить его выполнение. Все выкатывали круглые глаза, орали что этоже ТЗ и они не собираются его использовать и прочий булщит.. и пока никто не согласился оплатить его
Здравствуйте, zubr, Вы писали:
_>>Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
Z>Я обычно не стараюсь даже — предлагают если дом задание, то отказываюсь — у меня дома столько прекрасных вещей и летом и зимой аж дух захватывает. Z>жена, кошаки, велики, сноуборды — :D
Ну так что же вы предсказываете, что не пойдёт на сделку, если даже не пытаетесь? Потрепать языком, похвастаться прекрасными вещами?
Здравствуйте, alf_kadett, Вы писали:
_>Здравствуйте, Nik_1, Вы писали:
Z>>>>Я считаю что дом задания нужны, вопрос лишь в оплате потраченного времени, но работодатель не пойдет на такую сделку.
_>>>Нетрудно догадаться, что успешному кандидату легко можно оплатить потраченное время: на фоне стоимости найма это копейки. Так что пробуйте договориться, дел-то.
N_>>Пробовал, нескольким хрюшам, в ответ на предложение сделать ДЗ, предлагал оплатить его выполнение. Все выкатывали круглые глаза, орали что этоже ТЗ и они не собираются его использовать и прочий булщит.. и пока никто не согласился оплатить его
_>Вы просто не умеете их готовить...
Здравствуйте, Ellin, Вы писали:
E>После хождения в течении последнего десятка лет по собеседованиям меня осенило! Тестовые задания выдаваемые для решения на дом нафиг не нужны! E>Можно прямо в офисе с помощью вопросов выяснить чего стоит человек. Либо дать анкету с короткими вопросами по ключевым моментам. E>Но нафига давать задание реализовать библиотеку, где формулировка задания идет на двух листах?
Делюсь своим совсем недавним опытом. После телефонного и личного интервью, достаточно замороченных, копали глубоко технически, а на очном еще заставили много кода писать на бумажке — предложили сделать тестовое задание. Первый раз в жизни согласился, хотя по началу воспринял затею скептически. Задание было по мне хорошим, может только немного великоватым. У меня ушло дня три в очень расслабленном режиме, реально не больше 2-3 часов чистых в день. После этого еще одно интервью, уже с менеджерами. В итоге очень вкусный оффер в очень крупную финансовую контору. Команда кстати, которая устроила это все — русские Сейчас реально не жалею, что потратил время, работа действительн та, которую искал. Так что, если реально хочется в получить именно эту работу, то почему бы и не сделать. Тут еще сыграло немаловажную роль, то что задание предложили уже после двух раундов, т.е. выдали бы мне его с самого начала — 99%, я бы заморачиваться не стал. В общем, мое мнение о ТЗ слекга поменялось.
ПМ>Если senior developer ищется среди бывших таксистов, то такая проверка может иметь смысл. Хотя всё равно не понятно, как умение написать кусок кода за 15-20 минут покажет способность человека выполнять обязанности сеньёр дивелопера.
Тест показывает не наличие способностей выполнять обязанности senior developer, а минимальные навыки решения задач и написания кода. Да, далеко не каждый человек, написавший нормальный код за 20 минут будет готов работать senior, но по-крайней мере даст еще один показатель для отсева тех, кто заведомо не умеет писать код, считающийся нормальным в данной компании. В некоторых компаниях senior или код пишут очень мало или требования совсем другие (наблюдения из моей практики).
Здравствуйте, Ellin, Вы писали:
E>Ну судя по подчерку собеседующих тебе надо поработать годок, а потом напиши свои впечатления. Кинули ли с зарплатой и т.п.
Ну с з/п точно не кинут Проект вроде тоже интересный и не старый. Хотя их заморочки с процессом найма мне тоже не полностью понятны, просто было уже жаль бросать и позиция полностью соответствовала моим ожиданиям.
E>А так только удачи!
Здравствуйте, Abalak, Вы писали:
A>Ну с з/п точно не кинут Проект вроде тоже интересный и не старый. Хотя их заморочки с процессом найма мне тоже не полностью понятны, просто было уже жаль бросать и позиция полностью соответствовала моим ожиданиям.
Ты код то видел ? Во всех компаниях по их словам проекты мегаинтересные, написанные высочайшими профессионалами, ну и все компании — всемирно известные лидеры . Тут как то один коллега как то свалил вот в такой интересный проект — там такой говнокод оказался, что убежал через полгода, причем на старую работу, и посчитал, что в рай попал .
Вообще, у меня тут недавно мысль появилась. Если на собеседовании требуется писать код на бумажке, то с наибольшей вероятностью этот код на бумажке напишет студент, который не привык к системам контроля версий, не привык к среде разработки и ее автоматическим рефакторингам. Либо наоборот динозавр, который настолько привык писать код в vi, без рефакторинга, без тестов, что переучиваться уже нет никакого желания. Соответственно и код будет соответствующий в этой мегафирме .
Почему студент — ибо не отвык еще лабы защищать, по крайней мере надо мной в студенческие годы издевались требованиями писать на бумажке. Тогда еще это было оправдано, ноуты мало у кого были, да и с техникой нормальной была напряженка, я еще СМки застал и System V. Учитывая инерционность образования, предполагаю, что сейчас учат тому же самому и такими же методами, программа почти не поменялась. По крайней мере и большим удивлением я узнал, что в ИТМО до сих пор по предмету "компьютерная графика" изучают особенности ega режима, и лабы делают на ассемблере, естественно что под DOS . В мое время это довольно актуально еще было, но сейчас ...
ИМХО все эти политики найма, тесты и все такое — черти какое legacy, продолжающееся уже черти сколько десятков лет. Очень система медленно реагирует на изменяющиеся требования к навыкам. Соответственно — показатель черти какой бюрократии это все. Сейчас уже до собеседования стараюсь узнавать, практикуется ли написание кода на бумажке. Если практикуется — ну, я вам не подхожу, я на бумажке только расписываться умею, максимум еще набросать алгоритм, то такими каракулями, что кроме меня там хрен кто разберется .
Здравствуйте, Nik_1, Вы писали:
N_>Пробовал, нескольким хрюшам, в ответ на предложение сделать ДЗ, предлагал оплатить его выполнение. Все выкатывали круглые глаза, орали что этоже ТЗ и они не собираются его использовать и прочий булщит.. и пока никто не согласился оплатить его
И не согласятся. Они то со своей колокольни понимают, что в 90% случаев собеседуемый пришлет такое говно, что его запускать-то противно будет, не то что оплачивать.