Re[2]: Комментарий про собеседование + извинения за часть пу
От: Anatolix Россия https://www.linkedin.com/in/anatolix/
Дата: 08.10.07 18:32
Оценка: 92 (17)
Значит судя по описанию собеседования одним из действующих лиц мог быть я. Того кого собеседовал тоже вроде опознал, но с вероятностью 90%. Мог бы назвать для чистоты эксперимента как тебя звали (можно только имя и дату собеседования).

Что я могу сказать:
1) Действительно собеседование в Яндексе начинается с технических вопросов которые идут достаточно долго. Да, наверное, это не правильно и собеседование нужно начинать с какого-нибудь полайтеса и вопросов о том чем занимался. Тем не менее если вероятность того, что человек просто не подойдет 90% то хочется все это подробно расказывать уже после того, как становится понятно, что человек банально умеет программировать. Возможно, вы правы что отсутствие интереса к собственной персоне выглядит враждебно, тем не менее он обычно появляется после нескольких хороших ответов.

Тем не менее мы сейчас подумаем и возможно решим с какого-нибудь 5-минутного вступления. Вдруг кому это важно.

2) Самопроизвольно перескакивать на "ты" это моя привычка. Так получилось, что во всех компаниях, где я работал принято обращаться на "ты" ко всем включая ген. директора. То что, нужно явно предлагать людям перейти на "ты" учту — буду так делать.

3) Вообще под "radix sort" подразумевается примерно следующее. Есть алгоритм radix_sort, который выполняет сортировку чисел за линейное время. Нужно написать этот алгоритм самому, и с его помощью обогнать стандартный std::sort. На твоей стороне, что std::sort он O(n*ln(n)). Против тебя, что константа у него хуже и на ноуте всего 1Gb памяти (т.е. бесконечно увелчивать размер массива в надежде, что перегонит не получится).

Если кандидат алгоритма не знает, то он ему рассказывается. При решении задач можно пользоваться интернетом и wikipedia.org, где алгоритм описан. Задачка нужна потому, что есть люди, у которых хорошие теоретические знания, но руками они все делают очень-очень плохо. Задачку, кстати, придется поменять. Кстати в таком контексте ты мягко говоря наврал, что у тебя не было возможности пользоваться инетом, и требовалось знать алгоритм.

Я уже сказал, что меня есть 10% шанс, что я не правильно тебя опознал. Но если правильно, то насколько я понял, ты был тем человеком, который не смог сделать deep-copy на бумажке, получил диагноз о том, что наверное можно попробовать на junior-а, и потом за несколько часов не только обогнать std::sort, но и вообще сделать так, чтобы код действительно просортировал массив чисел, а не падал на старте. Среднее время которое хороший программист тратит на эту задачу примерно 1 час.


5) Про маршрутку: не знаю будет ли для тебя сюрпризом, что половину людей которые ездят в нашей маршрутке не являются сотрудниками Яндекса. Причина очень простая — здесь много офисов и все окружные офисы ездят на нашей маршрутке. Надо же им как-то от метро добираться. Можно конечно туда пускать только по пропускам и купонам, которые высылать по email-у, но это сплошной геморрой. Проще больше маршруток пустить и пусть все ездят.

4) Тезис, что у человека нужно искать сильные стороны, а не слабые, он вообщем-то весьма верный. Собственно, обычно первый час собеседования мы пытаемся найти сильную сторону в виде знания одного языка программирования. Если мы его находим, то тогда начинаются все остальные поиски профессионализма. По поводу того, чтобы вообще не пускать программистов на собеседование, мысль конечно свежая, но хочется возможность дать человеку выбрать с кем работать. Плюс у меня все-таки есть сомнения, что любым количеством разговоров за жизнь можно определить у человека профессионализм. Если у есть подобный опыт организации собеседований исключительно HR-ами без технических вопросов вообще, я бы с удовольствием про это послушал.

Для кандидатов, которые хотят начать собеседование c HR-ом а не программистом, давайте договоримся, что вы напишите об этом явно ответом на приглашение. Для того, чтобы человек которому вы такое заявили не офигел, сошлитесь на меня или дайте ссылку на это сообщение ("вас сразу собеседовать, или вы с HR сначала поговорите?" ).

5) Мы действительно в России конкурируем с гуглем. Может быть действительно так же, как жигули конкурируют с фордом. Единственно, что жигули стоит меньше, а мы с гуглем оба оказываем услуги по нулевой цене.

6) Почему собеседования именно такие, а не другие? Потому, что у них цель не "нравится всем", а понять подходим мы с человеком друг другу или нет. Что мы не подходим человеку я легко готов услышать, бывает и такое. Что мы хотим от человека, я уже несколько раз говорил:
а) Знания языка программирования, который он считает основным. В том числе возможно некоторых неочевидных его особенностей, например, что в C++ есть исключения, и sizeof(long) может возвращать разное значение на разных платформах. Может быть, я что-то излишнее конечно спрашиваю, но вот такая у нас секта. Кстати кроме самого начала собеседования на тесте можно пользоваться документацией и поиском в инете (спрашиваете интервьюера — вам отвечают).
б) Что человек знает базовые алгоритмы. А именно: правильно может выбрать контейнер под задачу, и в общих чертах знает как он устроен или может это выдумать.
в) Что получив любую задачу, которая не является стандартной (не важно про поезда, лампочки, или проектирование поиска) он не впадет в полный ступор, а хотя бы с подсказками ее решит.
г) Что он способен написать код размером в 50 строк так чтобы он не упал, и потом провести над ним простейшую оптимизацию.
Мы что слишком много хотим?

Рекламная пауза: если вы в себе обнаружили вышеперечисленные качества, то у нас много вакансий


7) Женя Завалишина которая директор Я.Д. действительно бывшая жена Димы Завалишина, который 5 лет не работает в Яндексе, у него сейчас свой стартап dz.ru. К тому моменту, как она вернулась в Яндекс, Дима здесь уже не работал, и позвали ее т.к. она очень умная и внятная, а вовсе не "по блату", как можно предположить.

8) Задачка про "способе поиска неподвижной точки сжимающего отображения" это просто Ден постебался в своем блоге, так назвав часть алгоритма, известного с 60 годов. Тот самый, который Larry Page первый догадался применять к Web, и переназвал своим именем (PageRank). Мы обсуждаем эту тему при наборе в группу робота. При этом опять же, все необходимые определения были даны. Никакое ТФКП у нас конечно же не спрашивают.

Комментарий от Дена, откуда все это взялось: У нас в группе робота есть разные задачи. Методом последовательного поиска компетенций выяснилось, что человек программировать не умеет, и было сделано предположение, что человек, который только что закончил ФизТех (выч. мат.), с близкими к отличным оценками, нам пригодится как математик(и он может показать свою компетентность, обсуждая задачи связанные с "методом сжимающих отображений", который близко связаны с рассчетом тИЦ). К сожалению данное предположение не подтвердилось.

9) Когда в Яндексе было 78 человек я тоже их всех знал по именам. Потом я стал знать по именам только девелоперов, и сломался где то на цифре 150 человек. Извините, плохая память.

10) в 21 в офисе действительно полно народу, которые пришли на работу в 12 или 13 часов. Мне вот так удобней, например.
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.