Re[23]: Задачи на собеседовании - не нужны
От: samius Япония http://sams-tricks.blogspot.com
Дата: 18.05.11 14:25
Оценка: :))
Здравствуйте, Donz, Вы писали:

D>Уже писал ранее. Возможно, для тебя использование не ArrayList'а — это преждевременная оптимизация. Для меня выбор правильной коллекции — норма. А еще я шурупы заворачиваю отверткой, а не всегда использую молоток. Хотя шуруп, забитый молотком, тоже будет держаться.

Лучше вбитый шуруп, чем вкрученный гвоздь
Re: Задачи на собеседовании - не нужны
От: Azotix  
Дата: 18.05.11 14:45
Оценка: -1
Здравствуйте, Klatu, Вы писали:

K>Единственное, что стоит спрашивать у программиста — какие проекты он сделал. Посмотреть, обсудить, разобрать по косточкам. Всё остальное, все эти высосанные из пальца задачи и тесты — это бред бездарных кадровиков и зубрил, которым надо как-то оправдать свое существование.


Если сделать так, как вы говорите. То вы на этом же форуме напишете, что нехороший человек на интервью спрашивал вас про берцовые кости, а должен был про ребра.
Re[4]: Задачи на собеседовании - не нужны
От: WPooh США  
Дата: 18.05.11 15:27
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, vladimir_i, Вы писали:

_>>От вас не убудет, если вы поймете как найти 1 фальшивую монету из 8 за 3 взвешивания?

Ф>Кстати да, нужно не про 8 монет спрашивать, а про 65536 монет. И спрашивать нужно о том, сколько взвешиваний понадобиться, чтобы вычислить фальшивую монету. Человек, никогда не слышавший о бинарном поиске, или не использовавший его выдаст слишком большую цифру

Я позанудствую чуток. Самый распространенный полный вариант формулировки задачи, известный мне — "за какое минимальное количество взвешиваний можно найти фальшивую монету из 8, если известно, что она весит легче настоящей?"
Ответ — за 2 взвешивания и к бинарному поиску отношения не имеет. Чтобы избежать флейм, это обсуждалось 100500 раз на этом форуме. Когда-то была свежей и оригинальной из-за необходимости срыва шаблона о поиске разбиением ровно пополам. Известно, что школьники в 1990 году уже справлялись с ней. Возможно, он тайно посещает синагогу ей более века и по степени актуальности для собеседований программистов она стоит в ряду задач про бабушек с фонариком, стеклянных шариков сбрасываемых со 100-этажного здания, числа бензоколонок и прочей чепухи, которая давно уже в гуглах и майкрософтах почти не спрашивается для выяснения того, подходит кандидат или нет. Может только для фана, когда понятно, что кандидат не торт.
Ну и как продолжение предыдущей мысли, чтобы не вставать дважды, не стоит из одиночного собеседования делать глобальные выводы. Например, если в вашем резюме есть маленький проектик, который выбивается из основной линии, а у вас на интервью уделилось ему хорошее внимание за приятной беседой, это может означать, что интервьюверу все ясно, просто надо убить время и расслабиться перед следуюшим кандидатом.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Re[7]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 16:09
Оценка:
Здравствуйте, Klatu, Вы писали:

K>А зачем? Мне не интересна должность старшего помощника младшего быдлокодера в команде рисования анимации на кнопке "Start"


Ну так и нужно было искать вакансии/переходить в другие команды Благо таковых имеется в огромногом количестве. А для должности младшего быдлокодера в команде кнопки Старт все перечисленное ниже, возможно, ожидаемо.

K>Я несколько раз собирался с духом и проходил аналогичные собеседования с дурацкими задачками, и каждый раз это заканчивалось одинаково:

K>1) ПМ с изумлением обнаруживал, что я действительно хорошо умею писать код, но использовать этот факт оказывался не в состоянии

На самом деле, здесь должность ПМ не о том, чтобы понимать умение хорошо писать код. Это умение надо скорее демонстрировать лидам, синьорным коллегам, архитекторам и т.п.

K>2) собеседование оказывалось самой сложной задачей за все время работы в фирме


Реально есть проблема того, что многим людям с опытом занижают уровень при приеме на работу. Иногда ставят одинаково со свежими выпускниками колледжей. Отсюда и заниженные требования и сфера ответственности. И находясь на L59 можно хоть десять раз пытаться продвинуть гениальный проект, вот только это не оценят. Ибо не то ожидается от L59. Большая компания, что поделать. В итоге человеку скучно и противно.
Что делать? Варианта два.
Потерпеть, дойти хотя бы до L61, а лучше 63 , и будет уже намного веселее. Параллельно утешаясь чем-нибудь для души. Не супер как здорово, конечно.
Не наниматься в неинтересные команды на неинтересные должности/уровни. Стараться найти то, где сразу предложат больше. Либо найти что-то более интересное потом, и перейти туда. Но здесь есть проблема в том, что уровень при внутренних переходах никогда не повышают.

K>3) работать с людьми, которые прошли через сито такого интервью — весьма некомфортно, ибо к работе в реальных условиях они не приспособлены


Через такие интервью проходят и те и другие.

K>4) за годы работы эти люди успели произвести тонны невероятно уродливого быдлокода


Кроме того, еще большие тонны уродливого кода за эти годы произвели другие люди, которые тут уже и не работают давно. А переписать все не так-то просто по многим причинам. По моим наблюдениям, культура и требования к design/code review вырасли несравнимо. Хотя опять-таки, все зависит от подразделения/группы.
Re[16]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 16:16
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Есть ряд компаний, где такие задачи — это официальная политика, жестко прописанная в правилах. Включая упомянутые тобой гугл и майкрософт.


Это было правдой несколько лет назад. Сейчас — полнейший бред.
Более того, HR официально больше НЕ рекомендует таких задач.
Re[17]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 18.05.11 16:29
Оценка:
Здравствуйте, sql13, Вы писали:

S>Это было правдой несколько лет назад. Сейчас — полнейший бред.

S>Более того, HR официально больше НЕ рекомендует таких задач.

Между официальной рекомендацией и практикой есть большая разница
Впрочем, как сейчас — точно не знаю. Но некоторое количество лет назад ваше собеседование было лютым идиотизмом.
А от милой привычки передавать впечатления от первого интервьюера к следующим у вас еще не додумались избавиться? Схема "плохой интервьюер, хороший интервьюер" тоже еще используется?
Re[8]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 18.05.11 16:43
Оценка:
Здравствуйте, sql13, Вы писали:

S>Потерпеть, дойти хотя бы до L61, а лучше 63 , и будет уже намного веселее.


То есть у вас продвижение зависит не от качества работы, а от стажа в фирме?

S>Через такие интервью проходят и те и другие.


Нет. Через них в основном проходят студенты и профессиональные ходоки по интервью, потому что сформировавшимся профи учить задачи про гномиков и заниматься прочей "спецподготовкой" просто противно.

Я например был на вашем собеседовании давно, года через 2 после универа. На должность программиста-тестировщика. И у меня на собеседовании спрашивали про radix sort. Вы не находите, что спрашивать такое у тестера — это просто за пределом всех допустимых границ идиотизма?
Ну то есть это я потом понял, что от меня хотели услышать про radix sort, а тогда про экзотические методы сортировки был не особо в курсе. Да и сейчас знаю про них главным образом потому, что на собеседованиях спрашивают
Re[18]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 16:45
Оценка:
Здравствуйте, Klatu, Вы писали:

S>>Это было правдой несколько лет назад. Сейчас — полнейший бред.

S>>Более того, HR официально больше НЕ рекомендует таких задач.

K>Между официальной рекомендацией и практикой есть большая разница

K>Впрочем, как сейчас — точно не знаю. Но некоторое количество лет назад ваше собеседование было лютым идиотизмом.

Сейчас не встречался и не слышал, чтобы такие вопросы задавали. На самом деле, HR обычно проводит лишь легкий скрининг. На этом этапе, в принципе, могут спросить что-то простенькое на соображалку, не связанное напрямую с программированием. Но релистичное, не из серии люков, гномов, и горы Фудзи.
Основное интервью всегда проводят инженеры и менеджеры из команды (и смежных с ней), где предполагается позиция. Ну или если это hiring trip, могут быть представители нескольких команд.
Поэтому разных задач столько же, сколько и разных людей. Может, и бывают неадекваты, как и везде, но я не сталкивался.

K>А от милой привычки передавать впечатления от первого интервьюера к следующим у вас еще не додумались избавиться?


А что тут такого плохого? Обычно это не в стиле "я ставлю hire/no hire", а в стиле "я побеседовал на тему проектов, довольно интересно, но вот проверить coding skills нормально времени не хватило. Посмотри с этой стороны повнимательнее". Или "похоже, algorithmic problem solving хромает. Подкинь-ка ему еще другую задачку, может он просто нервничает на интервью с утра?".

K>Схема "плохой интервьюер, хороший интервьюер" тоже еще используется?


О такой не слышал.
Re[19]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 18.05.11 16:57
Оценка:
Здравствуйте, sql13, Вы писали:

S>Сейчас не встречался и не слышал, чтобы такие вопросы задавали. На самом деле, HR обычно проводит лишь легкий скрининг. На этом этапе, в принципе, могут спросить что-то простенькое на соображалку, не связанное напрямую с программированием. Но релистичное, не из серии люков, гномов, и горы Фудзи.


Ну у меня например спрашивали и дурацкую задачу про зажигание лампочек, и про тестирование пульта от телевизора, и прочую бесполезную муть.

K>>А от милой привычки передавать впечатления от первого интервьюера к следующим у вас еще не додумались избавиться?

S>А что тут такого плохого? Обычно это не в стиле "я ставлю hire/no hire", а в стиле "я побеседовал на тему проектов, довольно интересно, но вот проверить coding skills нормально времени не хватило. Посмотри с этой стороны повнимательнее". Или "похоже, algorithmic problem solving хромает. Подкинь-ка ему еще другую задачку, может он просто нервничает на интервью с утра?".

Это создает предвзятое отношение.
Каждый замер должен быть полностью независимым, ваших кадровиков в универе основам проведения экспериментов не учили?

K>>Схема "плохой интервьюер, хороший интервьюер" тоже еще используется?

S>О такой не слышал.

Очень просто. Один — въедливый и постоянно задает неудобные вопросы, другой жутко непонятливый и постоянно переспрашивает, третий очень добрый (по крайней мере с виду ) и прощает все ошибки. Слишком отличается от стандартно-нейтрального отношения, чтобы быть случайностью.
Re[9]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 17:07
Оценка:
Здравствуйте, Klatu, Вы писали:

K>То есть у вас продвижение зависит не от качества работы, а от стажа в фирме?


Я бы сказал так: продвижение зависит от качества работы, ожидаемого на данном уровне.
Однако и работы на более низком уровне может хватать на full time, только она бывает скучная и неинтересная.
Соответственно, если чуваку неинтересно, он может двигать какие-то другие идеи, которые никому не нужны на этом уровне. Но забивать на ту работу, которую от него ждут. И получить underperformed вместо повышения. В результате наступает полный диссонанс.
Я ни в коем случае не говорю, что это хорошо. Просто есть такой факт, но с ним можно бороться. Как, я уже писал. Если немного терпеть и делать все здорово и чуть луше других но по работе, ожидаемой на этом же уровне, то повышение может наступить быстро, особенно на нижних уровнях. Но гораздо лучше сразу идти на позиции, где требования и уровень выше. А если на такие не возьмут, то и черт с ним. Лучше не портить себе жизнь проблемами, описанными выше.

S>>Через такие интервью проходят и те и другие.


K>Нет. Через них в основном проходят студенты и профессиональные ходоки по интервью, потому что сформировавшимся профи учить задачи про гномиков и заниматься прочей "спецподготовкой" просто противно.


Ну если нужны примеры, у меня было >10 лет опыта на момент прохождения интевью. Причем, на одом месте работы. И к интервью я почти не готовился. Спрашивали про всякие перестановки и танцы со списками и деревьями, но для которых знания никаких специальных алгоритмов не требовалось. А еще спрашивали как бы я задизайнил масштабируемый Web сервер.
Re[20]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 17:14
Оценка:
Здравствуйте, Klatu, Вы писали:

K>Ну у меня например спрашивали и дурацкую задачу про зажигание лампочек, и про тестирование пульта от телевизора, и прочую бесполезную муть.


Наверное, это было несколько лет назад.

K>Это создает предвзятое отношение.

K>Каждый замер должен быть полностью независимым, ваших кадровиков в универе основам проведения экспериментов не учили?

Предвзятое — не предвзятое. Тем не менее, не мешает одному в итоге сказать hire, когда предыдущий сказал no hire, и наоборот. Люди-то чай самостоятельные и со своей головой, зачем идти на поводу у других?

K>>>Схема "плохой интервьюер, хороший интервьюер" тоже еще используется?

S>>О такой не слышал.

K>Очень просто. Один — въедливый и постоянно задает неудобные вопросы, другой жутко непонятливый и постоянно переспрашивает, третий очень добрый (по крайней мере с виду ) и прощает все ошибки. Слишком отличается от стандартно-нейтрального отношения, чтобы быть случайностью.


А сколько раз вы проходили интервью в MS? В разные команды?
Re[10]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 18.05.11 17:18
Оценка:
Здравствуйте, sql13, Вы писали:

S>Ну если нужны примеры, у меня было >10 лет опыта на момент прохождения интевью. Причем, на одом месте работы. И к интервью я почти не готовился. Спрашивали про всякие перестановки и танцы со списками и деревьями, но для которых знания никаких специальных алгоритмов не требовалось.


И конечно с кодом на бумажке?

S>А еще спрашивали как бы я задизайнил масштабируемый Web сервер.


Собеседовался в команду IIS?
Re[11]: Задачи на собеседовании - не нужны
От: sql13 США  
Дата: 18.05.11 17:28
Оценка:
Здравствуйте, Klatu, Вы писали:

K>И конечно с кодом на бумажке?


Ну не без этого. Но существует масса небольших задачек, укладывающихся в scope "на бумажке", по которым можно увидеть, как кандидат мыслит, принимает решения, и пишет код. Все должно быть в течении часа. Времени на написание полноценно рабочего кода (на лаптопе/десктопе и и.п.), с обсуждением того как кандидадт пришел к нeму, какие проблемы были и остались и т.п. может не хватить. Бумажка тем и хороша, что позволяет поговорить много о чем без необходимости собственно иметь рабочий код.

S>>А еще спрашивали как бы я задизайнил масштабируемый Web сервер.

K>Собеседовался в команду IIS?

Как ни странно, нет. Может, собеседователь был в прошлом из команды IIS, это я не проверял
Re[5]: Задачи на собеседовании - не нужны
От: kosmik Россия http://www.linkedin.com/in/kosmik
Дата: 18.05.11 21:42
Оценка: -1
24>Что нужно — это одно. А вот определение того, что кандидат этому соответствует — совсем другое. Я пока не видел ни одного адекватного способа определить, хороший программист или плохой, за исключением того, чтоб поработать с ним пару месяцев (но такой способ "собеседования" по многим причинам неприемлем).

Лично я смотрю на процесс найма просто: это набор фильтров, каждый следующий заметно дороже предыдущего (самый дорогой — испытательный срок).

24>Задачами про гномиков и взвешивание шаров в большинстве случаев можно определить лишь то, знал ли кандидат эту задачу раньше. Это тоже что-то показывает — человек любознательный, интересуется чем-то за пределами работы (хотя возможно и наоборот — целенаправленно готовится проходить собеседования, вместо того, чтоб потратить то же время на профессиональное развитие). К умению решать объёмные сложные задачи это имеет весьма косвенное отношение. Но если на работе нужно постоянно решать задачки про гномов (или искать решения в интернете) — тогда да, это хороший вопрос.


Как человек, не умеющий делать содержательный вывод из подобных задачек могу сказать только что лично мне они не подходили. Но у меня нет причин считать что подобного рода (но не именно такие) не имеют смысла. Все-таки реплики народа с задетым самомнением имеют маленькую ценность. Если можно дать задачку, не решив которую человек для собеседующего попадает в категорию не умеющих думать — why not? Наверное кому-то и задачки, которые я давал, казались глупыми, однако мне помогали отсеивать людей, которые с моей личной точки зрения не умели писать код.
Re[15]: Задачи на собеседовании - не нужны
От: SkyDance Земля  
Дата: 18.05.11 22:47
Оценка:
aik>Для начала — ни тебя, ни меня не зовут ни в один гугль Не то чтоб прямо бедаааа, но все таки

Так в московский я сам не пошел. В сиднейский просто не пробовал (до вчера я даже и не знал, что он тут есть).

aik>Например, да. Поинт в том, что это существенно отличается от гномов.


Честно сказать, в моей жизни не было ни одного собеседования с задачами про гномов или канализационные люди. Это при том, что я в своё время собеседовался в микрософт и получил джоб оффер (но проиграл в H1B лотерею, а в Канаду ехать тогда не хотелось).
Re[18]: Задачи на собеседовании - не нужны
От: SkyDance Земля  
Дата: 18.05.11 22:49
Оценка:
K>Гугл широко известен своими мозголомными задачками, равно как и майкрософт, о чем в инете есть масса обсуждений. Расскажи свои сказки кому-нибудь другому

Я бы на собеседованиях и там, и там. Получил джоб оффер от M$ (c гуглом просто сам не стал продолжать, т.к. не было спортивного интереса). Ни на одном из собеседований не было дурных "гномов". Списки, хеши, деревья (в т.ч. и довольно оригинальные задачи вроде того, как "соединить" разные виды деревьев, и какая будет сложность алгоритма) — было. Люков и гномов — ни разу.
Re[21]: Задачи на собеседовании - не нужны
От: SkyDance Земля  
Дата: 18.05.11 22:53
Оценка: +1 :)
D>Применил. Потому что знаю стоимость вставки и получения элементов из хеш-мапа.

О, прорыв просто.
Т.е. открыть algolist и выбрать нужный тип коллекции для конкретной задачи — это нынче как, недоступно большинству программистов? Кабы на собеседованиях спрашивали про то, какую выбирать коллекцию — это одно дело. Но спрашивают совсем другое, не про применение, а про реализацию структуры данных.

PS: я в своей нынешней работе использую порой нестандартные реализации структур (вот не далее чем вчера пришлось сделать свою реализацию односвязного упорядоченного списка — очереди таймеров, т.к. там требования специфичные, не подходили ни стандартные timer wheels, ни тем более priority_queue).
Re[21]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 19.05.11 02:35
Оценка:
Здравствуйте, sql13, Вы писали:

S>Предвзятое — не предвзятое. Тем не менее, не мешает одному в итоге сказать hire, когда предыдущий сказал no hire, и наоборот. Люди-то чай самостоятельные и со своей головой, зачем идти на поводу у других?


Про эксперимент с "неправильным квадартом" не читал что ли?

S>А сколько раз вы проходили интервью в MS? В разные команды?


Да мне того раза с radix sort хватило, больше даже пробовать не стал. Не хочу иметь дело с людьми, которые начисто лишены чувства меры и здравого смысла.
Re[12]: Задачи на собеседовании - не нужны
От: Klatu  
Дата: 19.05.11 02:38
Оценка:
Здравствуйте, sql13, Вы писали:

S>Ну не без этого. Но существует масса небольших задачек, укладывающихся в scope "на бумажке", по которым можно увидеть, как кандидат мыслит, принимает решения, и пишет код. Все должно быть в течении часа. Времени на написание полноценно рабочего кода (на лаптопе/десктопе и и.п.), с обсуждением того как кандидадт пришел к нeму, какие проблемы были и остались и т.п. может не хватить. Бумажка тем и хороша, что позволяет поговорить много о чем без необходимости собственно иметь рабочий код.


Эту байку я слышал уже 100 раз. Это не работает. Искусственная задача, в искусственных условиях.

S>Как ни странно, нет. Может, собеседователь был в прошлом из команды IIS, это я не проверял


Дурацкий вопрос для человека, который не будет архитектором проекта. И ответы могут весьма субъективными.
Re[22]: Задачи на собеседовании - не нужны
От: Donz Россия http://donz-ru.livejournal.com
Дата: 19.05.11 06:45
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Т.е. открыть algolist и выбрать нужный тип коллекции для конкретной задачи — это нынче как, недоступно большинству программистов?


Судя по этой теме, да, видимо недоступно. К тому же, чтобы выбрать тип коллекции, надо бы знать особенности этой коллекции.

SD>Кабы на собеседованиях спрашивали про то, какую выбирать коллекцию — это одно дело. Но спрашивают совсем другое, не про применение, а про реализацию структуры данных.


Так и спрашивают. Сложность поиска элемента, сложность вставки и т.д.
Чтобы принимать, нужно знать основные принципы, как устроена коллекция. Никто полную реализацию HashMap'а на листочке не просит.

SD>PS: я в своей нынешней работе использую порой нестандартные реализации структур (вот не далее чем вчера пришлось сделать свою реализацию односвязного упорядоченного списка — очереди таймеров, т.к. там требования специфичные, не подходили ни стандартные timer wheels, ни тем более priority_queue).


Ну молодец. Тебе плюсик поставить?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.