Как стать автором
Обновить

Комментарии 162

Забавно, я так в яндекс ходил в 2010, с тех пор звонили раза 4, но я отказываюсь, очень не хочется проходить этот ад из собеседований, на мой взгляд абсолютно бесполезный.

Забавно, я чуть раньше в Яндекс (вернее, в яденьги) собеседовался и было ровно то, что хотел автор статьи — собеседования с будущим непосредственным руководителем. Потом они всё сломали? ;)

Нет, так и осталось.

Только оно похоже больше не на собеседование, а на беседу. И проходит, обычно, после собеседований с кодом.

И как ваше высказывание смёржить с утверждением alterpub'а?

Это я про Яндекс.Деньги. В большом Яндексе по-другому (примерно как описал alterpub).
НЛО прилетело и опубликовало эту надпись здесь
А собеседования всё ещё «слепые»? То есть, собеседующий резюме не читал?
Неа, не читают.

Это зависит от собеседующего, возможность прочитать резюме есть.

Только Вы забыли упомянуть, что


  • собеседуют тебя твои будущие коллеги
  • необязательно показать себя молодцом на каждой из 4 секций
  • окончательное решение принимается после беседы с твоим будущим тимлидом

В контексте статьи, мне кажется, это важные уточнения

НЛО прилетело и опубликовало эту надпись здесь
Меня позвали в Яндекс на должность ведущего разработчика под Android, причём предлагали переучиться мне с C# (мой основной язык) на Java. На собеседовании спрашивали устройство хранилища данных, которое переварило бы объёмы Я.Диска и Я.Почты, LRU кэш в ограниченном пространстве, с полным подсчётом памяти и пр. Что из этого мне нужно будет как разрабу под Android я хз. Особенно понравились два товарища, один доказывал что в C# сборщик мусора работает на счётчике ссылок и никак иначе. Утверждал что сборщиков мусора без счётчиков ссылок не существует. Второй сказал что я неправильно решил задачу, но где ошибка и на каких тестовых данных она возникает он не знает, как решить задачу другим способом он тоже не знает, но утверждал что решение неправильное. На мою просьбу запустить этот код на том ноуте, с которым он пришёл и проверить на любом его тестовом примере, я был послан нафиг.
В принципе перед походом к ним меня предупреждали знакомые, работавшие там, что делать в Яндексе нечего, но ради интереса я сходил.
Что спрашивают на собеседовании в Яндексе, потом в работе пригождается? Или просто смотрят общее развитие, а сама работа — паши раб и никакого research'a, никакого чтения научных статеек для саморазвития? А то перекинувшись парой фраз с 1-м серверным разрабом, понял что в 1-ю очередь смотрят на скорость выполнения задач, и сразу расхотелось туда идти, ибо в моей конторе спокойно можно пару часиков в день ботать научные статьи по каким-нить многопоточным структурам данных и транзакционной памяти
НЛО прилетело и опубликовало эту надпись здесь
А вот запись кода на бумажке или на доске, до сих пор не могу понять этого бреда. По работе что тоже придется на бумажке код писать?
НЛО прилетело и опубликовало эту надпись здесь

Когда первый раз пришёл в Яндекс (давно это было), меня собеседовала моя будущая команда. Часок поболтали и сразу решение — сработаемся. Безо всяких там "мы вам перезвоним" и "нужно пройти ещё 3 интервью". Хорошее было время, а потом начались "оптимизации".

Надо еще на забывать, что даже в некрупные компании рекрутингом могут заниматься аусорсинговые рекрут-агентства. Другими словами, если компании нужен человек, они пишут список требований, а обезьянки живые люди, не особо понимающие в теме, просеивают тот же github, hh или monster в поисках вариантов. И рассылают тысячи шаблонных писем, ответы на которые так же просеиваются через довольно шаблонный отбор.

Кто-то из уехавших на Запад программистов давно еще в блоге писал про такое «сито» — мол, скопируйте в свою резюме то, что видите в требованиях, причем слово в слово, так, чтобы рекрутер мог принять решение, что слова верные. Если вы пройдете первый отбор, у вас может быть шанс уже поговорить с живым человеком, которых хоть что-то понимает в теме и вашей специализации.

С другой стороны, кроме отеля и самолета, есть и другой момент — а почему не спросить у того рандомного человека, который вас собеседует, что-то более толковое? Если вас гоняют по алгоритмам, а вы — аналитик, то тут что-то не то, но у вас на то и голос есть, чтобы спросить, или нет?
С момента выхода этой статьи в оригинальном блоге, наблюдаю за спорами по ее поводу.
Одна сторона полностью согласна, аргументируя, что это в работе все равно не потребуется, другая утверждает, что некоторый отсев алгоритмами таки нужен.

Мне неоднократно приходилось в рабочих задачах обходить деревья в ширину и в высоту (проекты довольно обыкновенные), и я думаю, что такого рода задачки на собеседованиях не так уж и бессмысленны. Просто во всем должна быть мера. Я вот с ходу не сбалансирую RB-дерево. Мне оно не нужно в повседневной работе.
А еще с одной стороны, зачем же нужно это делать на бумажке или доске? Задачки уровня fizzbuzz то еще вполне, но что-то сложное — а зачем? Какой в этом смысл? Мне придется и в дальнейшем, на работе, программировать на бумажке? Или хотя бы на доске?)
А никто не просит писать RB-деревья, триангуляции или писать алгоритм Укконена на доске. Поиск в ширину, обходы деревьев, строковая банальщина и понимание где их применять.

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


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

Единственный раз видел такое на практике — собеседует технический руководитель в свою команду, рядом молча сидит психолог и что-то пишет. Результат — 2 человека-часа на кандидата. К слову, команду подобрали классную.
Меня, как инженера, коробит, когда принимают решение на основе «ощущений». Жену вот можно так выбирать, инстинкты укажут на плодовитую особь. Особенно когда решающее слово у «динозавров», которые с мобильным телефоном с трудом управляются. Технологии развиваются быстро, интуиция тут не сможет подсказать ничего полезного.
Руководство на собеседовании может сдержать причуды кадровиков, например, если они всех рыжих отсеивают, или слишком умных.
Руководитель/владелец организации тоже инженер, но «инженерит» он свои собственные деньги. Поэтому если в этом помогают ощущения, интуиция, шаманские танцы, три плевка через плечо и т.п. — это его личные заморочки, за которые он рискует своим положением и деньгами.

Если кандидату или сотруднику не нравятся такие странности — есть другие организации с других подходом.
Руководитель/владелец организации тоже инженер, но «инженерит» он свои собственные деньги.

Хорошо, если так. Обычно руководитель ака гендир и владелец это разные люди, и у них разные цели. Гендир это наёмный работник, который хочет показать хорошую отчётность за квартал, в то время как владелец получает реальную прибыль. Это раз.
И два, редко, когда гендир инженер, намного чаще он менеджер (и не всегда хороший). И ещё реже, когда он реально разбирается в том, чем занимаются разработчики, это больше компетенция технического директора (который и должен, на мой взгляд, выбирать себе подчинённых программистов).

Зачастую в организации на 200 человек генеральный директор зачастую не специалист во всех областях, потому собеседовать программистов, админов, разработчиков аппаратной части, разработчиков корпусов, продажников, секретарш, бухгалтерию, уборщиц и электриков ему нет смысла — на это есть руководители подразделений. Замы обычно занимают место где-то посредине (зам по производству, зам по коммерции и т.п.).
Выучите вы немного алгоритмов наконец. Пройти 20 challenges из Cracking Code Interview на HackerRank вполне хватит, и можно будет забыть о этой проблеме совсем.
Это как дисскурс о высшем образовании. Оно по сути не нужно. Но если человек таки его получил то это значит что он может достигать поставленных целей. А эффективная работа в кровавом энтерпрайзе — это не только код

"Немного" это сколько?
Основные виды алгоритмов и структур?
Сложностные показатели?
Основные алгоритмы работы, в описательном виде?
Основные алгоритмы работы в деталях?
Доскональное знание всего вплоть до timsort, KD-tree и компании?

>«Немного» это сколько?
20 challenges из Cracking Code Interview на HackerRank вполне хватит

Коллеги, я это всё к чему, базовые «алгоритмы» спрашивают на собеседовании в Facebook, Google, Booking и др.
Не понимаю зачем закрывать двери перед этими компаниями если можно просто один раз переступить через себя и месяца за три (в свободное от работы время) порешать эти задачки. Это совсем не так сложно как кажется, а многие вещи очень даже интересны

https://www.hackerrank.com/domains/tutorials/cracking-the-coding-interview
Спасибо за отличную подборку задач!
Что гугл, что мордокнига, что амазон — постепенно из крутых стартапов с офигенскими проектами, политиками, отношениям к персоналу, преобразовались в обычные крупные компании… Т.е. — перестали наводить на профессоналов mind tricks по типу: «Крутотень! Хочу там работать!!!»
То бишь — это обычные компании ничем не лучше и ничем не хуже десятков других со всеми проблемами крупных корпораций — появилась рутина, невозможность занятия интересных должностей/постов, текучка персонала, перебросы с проекта на проект и т.д.
Так ли уж нужно стремиться туда сейчас? Стоит ли это — потрёпанных нервов? Может стоит заучить какую-нить более интересную штуку, вместо набивших оскомину алгоритмов… которые всё равно окажутся не нужны?
да, Microsoft, Amazon и Google как говорят уже давно совсем не торт. Только зачем исскуственно сокращать возможную выборку? Если я смогу пройти в Facebook я два года с удовольствием там поработаю
Речь не о том, чтобы сокращать. Речь о том, чтобы рекрутеры иногда думали над тем, что именно они предлагают, и кого именно они ищут и приглашают.

Я позволю себе пример из личной практики — меня несколько утомили уже рекрутеры из известной компании, которые регулярно, раз в месяц-два мне пишут, и спрашивают одно и тоже: а вы не хотите поработать в такой европейской стране, как П.?

Замените у себя Facebook на П., и прикиньте, есть ли существенная разница? Казалось бы, почему бы не поработать где-нибудь в Европе, шенгенская виза же, и все такое, правда?

А теперь представьте, что вы им уже два или три раза написали письмо, что не рассматриваете П. как вариант, а хотите работать только в других конретных местах? А они никак на это не отреагировали.

На мой взгляд, это ничем не отличается от ситуации, которая тут описана. Так ли уж нужно стремиться отвечать на каждое такое предложение? Особенно если они еще и хотя что-то такое, что вовсе не является моими сильными сторонами, и что прекрасно видно из моего резюме, между прочим.
Для того чтобы попасть в мордокнигу — вы потратите месяца два, будете вспомниать ненужные вам алгоритмы и нервничать при собеседованиях… которые будут проводить различные дилетанты, которые будут спрашивать идиотские вопросы, за которые хочется убивать на месте: «почему вы сменили место работы?» или «что бы вы бы поменяли на своём текущем месте работы?»
ИЛИ
Прийти в маленькую компанию, не столь известную и крутую, но где было всего 2 собеседования: первое — со специалистом, второе — по зарплате.

Что бы вы выбрали?

Т.е. понятно, что я упростил: но большая компания — большие проблемы. Очень много людей должны показать, что они что-то делают, чтобы их не уволили, отсюда — дурацкие вопросы и задачи, перекладывание ответственности и т.д. и т.п. Стоит ли это ВАШЕГО времени, если, как я уже писал выше, «мордокнига — уже не торт»?
Мне кажется что для развития как программста в Facebook гораздо больше возможностей чем в любой маленькой компании. Я бы на исходники instagram и facebook c удовольствием посмотрел (а у каждого dev в FB есть эта возможность)
С вероятностью процентов 80, вы увидели бы там тяжелое наследие разработки, которому уже много лет. Хорошего кода много как раз-таки в open source проектах.
На эту тему прочитал недавно "Рабы Майкрософта" Дугласа Коупленда. Она оказалась старой-старой – про первый бум стартапов Кремниевой долины. И уже в то время ребята обсуждали тот факт, что Майкрософт и Эппл уже не торты…

Тем не менее – прочитать стоит, поскольку она ставит вопросы, ответы на которые могут помочь определиться со своими собственными ожиданиями от работы и жизни. И написана она автором, известным своими работами по исследованию социума, что добавляет аутентичности художественному тексту.

Если есть возможность – читайте в оригинале, так как перевод (моя версия, во всяком случае) оставляет желать лучшего.
Только перевод на русский у нее ужасный, получили худший перевод года
http://www.kommersant.ru/doc/556048
Перевод – ужасный, да – я кк раз и пишу, что читать лучше в оригинале.

Не знал о такой номинации, но получили они её абсолютно заслуженно!

У меня более древний перевод, не тот, о котором в Коммерсанте пишут, проблема моей версии в архаичности перевода. Жаль, не помню особенных «перлов», но это потому, что они настолько нелепы и абсурдны, что мозг их фильтрует как ошибку в данных. Посмотрю дома книжку – выберу парочку самых ядовитых примеров – завтра напишу)
Их там похоже, завалило хабраэффектом…
А что это так сложно? Количество алгоритмов конечно.

На позиции software engeneer ищут не людей способных писать интерфейс к базам (таких много на рынке), а тех кто пособен менять алгоритмы под задачу.

Закончите Computer Science на www.coursera.org в Принстоне и MIT и если уверны что можете преподовать эти курсы — у вас не будет проблем проходить интервью.
Я дико извиняюсь, а зачем? Зачем забивать голову… не бесполезными, но явно не сильно приоритетными знаниями. Интернет запретили как источник? Да что ж это за компания такая?
У меня где-то на грани мозговой коры — вертятся понятия об алгоритмах и кое-что с института я ещё помню, но именно что «кое-что», а знаете почему? Потому что на практике — не приходилось никогда использовать даже банальный бинарный поиск. Нужна была как-то быстрая сортировка — стандартный qsort в помощь. Никто никогда из моих коллег не писал алгоритмов «с нуля».
Ну и зачем их вызубривать?
ответил вам комментарием выше
Никто никогда из моих коллег не писал алгоритмов «с нуля».

То есть у вас чисто линейные последовательности команд (в принципе, даже это называется линейным алгоритмом, но ладно, пусть будет без алгоритма)? В принципе, в большинстве веб-студий штампующих на конвейере однотипные сайты, видимо, так всё и есть. Но… ведь рано или поздно скучно станет просто нанизывать цепочкой вызовы библиотек и фреймворков? Не?


Ну и зачем их вызубривать?

Да не надо их вызубривать. Простейшие сортировки (вставками и пузырьком) придумываются на ходу. Бинарный поиск тоже. Квиксорт… с ним у меня всегда проблемы, я идею приблизительно помню, если перечитаю описание (ой, как всё просто), то реализую, а без перечитывания… даже и не знаю. Но квиксорт никогда не спрашивали на практике. Вот иногда пытаются спросить про деревья, тут сложнее. То есть спрашивают — зачем нужны всякие TreeMap при наличии HashMap и когда ими надо пользоваться. Тут понятно, когда надо какой-то порядок сохранить, помимо быстрого доступа. Дальше спрашивают как примерно они внутри устроены — ну, сбалансированные деревья. — А что такое сбалансированные? — тут чего, то отвечаю, что не вызывает дополнительных вопросов (надеюсь, что примерно правильно), а при попытке пытать меня дальше, честно говорю, что про деревья практически ничего не помню из вузовского курса, поэтому спрашивать меня об этом бесполезно :), но если надо, то вспомню-изучу заново (обычно и не надо, даже жаль иногда становится — я бы поковырял с удовольствием). Спрашивать перестают и воспринимают нормально. Ни кто ещё не стал радостно тыкать пальцем и кричать, — а! ты не знаешь как балансировать красно-чёрные деревья! фу на тебя! :)
Поэтому "зачем" — для простых алгоритмов — проверить способность минимального алгоритмического мышления (ни кому на самом деле баблсорт не нужен, конечно, хотя… иногда приходится делать странные вещи — типа сортировки массива из трёх или четырёх значений — вызывать библиотечный квиксорт как-то глуповато, проще взять "пузырёк" в котором развернуть циклы).
Ну, и другое "зачем" уже описали — для прохода первого рубежа отбора в определённые компании. Если очень хочется именно в гуголь, то просто нет более простого способа туда проникнуть :). И они это делают не потому, что гуглоиды изо дня в день пишут квиксорты, нет. Вот тест IQ помните для чего придумали? Для отсева совсем тупых среди желающих выучиться на военного лётчика. Лётчики не встречались и не встречаются в полёте, наверное, ни с одной задачей из этих тестов, но отсев необходим и это просто быстрый способ.

> я идею приблизительно помню, если перечитаю описание (ой, как всё просто), то реализую, а без перечитывания… даже и не знаю

Вот-вот. На уровне понимания, конечно, все эти вещи знать надо, та же идея quicksort просто сама по себе — красивый алгоритм. А вот реализовывать руками…

Недавно история всплывала (может, пару-тройку лет назад), как в одной из библиотечных реализаций то ли бинарного поиска, то ли quicksort обнаружили ошибку. Жила она там чуть ли не два десятка лет, и представляла собой целочисленное переполнение в коде вида mid_index = (low_index + high_index) / 2. Многие ли писатели алгоритмов на бумажке способны сходу почувствовать здесь возможный подвох? Я вот — наверняка не обратил бы внимания…
Вспоминается одно из моих первых собеседований на Junior разработчика где я этот момент на полном автомате обошел. Примерно так:
mid_index = low_index + (high_index — low_index) / 2
Самое смешное, что я не смог объяснить зачем я так сделал. Ну и завалил остальное интервью :)
Диплом получаешь один раз. Алгоритмы и структуры данных вспоминаешь перед каждым собеседованием.
НЛО прилетело и опубликовало эту надпись здесь

Немного не соглашусь.
Иметь базовые понятия чем vector отличается от hash_map или list — необходимо. Я встречал одного оригинала, хешировал 3-мерные точки методом превращения их координат в строку через to_string (который пишет 6 знаков после запятой). И так на каждый вызов хеш-функции. А потом ещё возмущался, когда ему говорили, что он не прав.
Но — требовать от человека знания алгоритма балансировки красно-чёрного дерева (если этого не предполагает вакансия) действительно глупо.

>или обхода деревьев, причем по памяти
не знаю про какие компании вы говорите, но обычно просят просто решить пару задач. Мне кажется что базовые понятия такие как O(1) O(n) и O(n*lg(n)) достаточно трудно забыть.

но когда опытные разработчики (с дясятками проектов за плечами) не могут ответить чем отличается Array от Set-а — это достаточно грустно
В некоторых языках понятие Set — вообще не реализовано, поэтому неудивительно, что его могут не знать. Что касается O(X) зависимостей то… знание их — ещё не делает тебя мегапрофессионалом. Это как знание о существовании серебрянных ложек — не делает из тебя культурного человека.

ИМХО: я бы предпочёл принять на работу человека опытного (с кучей успешных и не очень проектов за плечами), но не знающего про О(Х) зависимости, чем полнейшего новичка, который про них знает. Скорость работы используемой ими обоими функции qsort от их знания/не знания — быстрее не становится.
Необходимое условие — само по себе, достаточное — само.

Set — это математическое понятие. Множество. В школе проходят. Стыдно не знать, что это. И стыдно не знать, как его можно реализовать.

Стыдно должно быть — неверно интерпретировать прочитанное.

Я вот честно признаюсь — не знаю, как можно реализовать множество в таком языке, например, как Smalltalk. Я вообще мало знаю про язык Smalltalk кроме названия собственно и того, что там примерно С-подобный синтаксис — больше ничего не знаю. Мало того — не знаю я и того, что там может быть какая-то библиотека может имеет уже готовую реализацию, а может быть — и не имеет и надо реализовывать самому. Если же надо самому, я бы может и реализовал бы, да вот только… мне это нафиг не надо. Потому что не использую я Smalltalk, ну то бишь абсолютно. И поэтому мне позволительно не знать про нюансы реализации множества в этом языке.

Что же касается школы — я совершенно серьёзно уверен, что учителя бывают разные. Я вот например знаю одного учителя математики — ну просто отвратного. Слава всем богам, что мне она не попалась, но вот некоторые хорошо мне знакомые индивидуумы — стенали и плакали и бегали к нам домашку решать (эххх давно это было). Ибо объяснять она не умела, а ведь вполне реально, что некоторые индивидуумы из её классов таки пошли и в программисты. Я этого не могу исключить.

Вообщем я к чему: если человек чего-то не знает — это не стыдно. А вот грести всех под одну гребёнку — должно быть стыдно.

Суть же темы и моей мысли в том, что для того, чтобы нанять человека люди, со знаниями в сферах, никак не связанными со сферой применения кандидатов, предлагают потратить время для того, чтобы решить абсолютно искусственные задачи, придуманные для того, чтобы оценить качества, которые они НЕ могут оценить — потому что не обладают должной квалификацией в сфере применения. Задачи, которые не будут связаны с обязанностями потенциального кандидата ну просто вообще никак. Мало того — они не заинтересованы даже в том, чтобы выбрать реально нужного кандидата, потому что «за наём» им всё равно заплатят.

Ну а зачем вы выворачивает утверждение наизнанку?
Изначальное утверждение звучало так — "В некоторых языках понятие Set — вообще не реализовано, поэтому неудивительно, что его могут не знать. "
Нет, отвечаю я, понятие Set — множество, математическое, и нужно знать его, если ты не неандерталец.
Теперь вы говорите — вот язык, который я не знаю, и вот я не знаю, есть ли там Set, и как его реализовать там — тоже не знаю. Ну не знайте на здоровье, мне-то что с того? Вы этим ничего не доказали.
Весь ваш остальной опус оправдывает незнание элементарных школьных истин из точных наук. Я согласиться с таким не могу. Понятие множества — фундаментальное, я не смогу работать с коллегой, который его не знает. А обучаться — идите в школу. Школа как раз таки призвана дать всем некие знания, которые можно грести под одну гребенку.

есть еще вариант что попадется специалист по этому конкретному вопросу или человек, только что закончивший вуз и который еще помнит. Но релевантность так себе.
Я их учил дважды в универе. Один раз даже писал. Еще один раз учил и писал для одного интервью.
Сейчас я сходу не напишу ни балансировку дерева, ни одну из nlogn сортировок. Если в гугле, фейсбуке и амазоне люди сидят и постоянно пишут эти алгоритмы… Ну не знаю, может им научиться писать библиотеки и пользоваться ими? Говорят это сильно сокращает время разработки
И зачем это вообще? Я помню асимптотики, я знаю где можно посмотреть сами алгоритмы, если вдруг для чего-то понадобятся. Почти в любом из современных ЯП они есть — зачем мне помнить все стопицот веток балансировки RB-дерева (АВЛ-дерева, или любого другого из братьев)? Я с удовольствием читаю статьи про алгоритмы на том же хабре, но опять же, запоминать детали реализации? Для чего? Применимость, подводные камни, асимптотика и сохраненная страница — подозреваю, что этого достаточно в подавляющем большинстве случаев.
Вот вы сейчас сможете сесть и написать ну например qsort? На бумажке? А на той же бумажке написать любое бинарное дерево с балансировкой? Ну или какой-нибудь тривиальный конечный автомат разбора крошечной грамматики? Если да и оно окажется полностью рабочим — я вам искренне завидую. У меня в таких ситуациях постоянно теряются какие-нибудь граничные случаи, приходится все переписывать по три раза и т.п.

Кажись, всё сводится к простой формулировке: "если спрашивающий не может сам ответить/написать/посчитать/etc то, что спрашивает, то нет у него права это спрашивать у кандидата". С такой позиции получается всё очень прозрачно: либо вам тут же поясняют зачем нужны эти "сакральные" знания RB-деревьев (да и любой другой узкоспециализированной штуки) и показывают как нужно было реализовать и почему, либо вы можете смело слать нафиг этих непонятных господ со всеми их странненькими вопросами.

Согласен с Вами, считаю, что алгоритмы все-таки нужно знать. Пускай не по памяти писать RB-tree, но понимать, что такое двоичное дерево поиска или как работает сортировка все-таки нужно. И структуры данных тоже знать. Но сегодня такая тенденция, что приходят на собеседование хипстеры, которые знают, как подключить пакет для определения типа объекта, настроить bower gulp и т.д. А потом глаза слезятся кровами слезами, когда в коде вместо двумерного массива я встречаю словарь словарей типа Dictionary<int, Dictionary<int, MyObject>>, в которых ключи словарей – это индексы по строке столбцу. И да, здесь речь не о разреженных структурах данных, а самый обычный двумерный массив. И таких примеров ужасов еще вагон с маленькой тележкой. А все почему, хипстер ведь не знает, что такое двоичное дерево поиска или хеш-таблица. Главное, что есть некий контейнер, у которого можно забирать значение по индексу. Я, когда собеседования проводил (хоть я и признаю, что особо не умею этого делать), на вопрос, что такое связанный список из кандидатов 20 услышал ответ может только у 1, и то с подсказками. Больше половины не понимали вопрос «какие структуры данных вам известны, о каких можете рассказать, какие использовали». Соискатели делают круглые глаза и переспрашивают: «это типа Point, Rectangle?». Хотя если так подумать, чтобы клепать примитивные формочки с 20 input’ами, и генерировать таблицы в БД может и не нужно понимать описанных вещей, а нужно обладать совсем другими навыками.
Вообще это все глупо. Когда подбирал себе человека, просил одно из двух: пример проекта (куска проекта), удовлетворяющий определенным требованиям или решить мою задачу (максимально абстрактную) и выслать мне код. Это все до прихода человека на очное собеседование.
Он решил => я посмотрел и оценил => его пригласили и побеседовали о его решении задачи. Кагбэ на этом все.
К чему эти нудные опросы алгоритмов? Для этого есть книжки, книжка такое собеседование пройдет идеально. Все эти беспредметные разговоры (что-бы спросить, что-бы спросить… Ага… Спрошу его про Штрассена!). Чисто проверка на эрудиции. Эрудиция это хорошо, но не главное.

Мне кажется, проблема надуманная.
Если хотите работать в Google, Яндекс, %placeholder% — просто будьте готовы вытерпеть пачку "тупых" вопросов, которые, как вам кажется, никому не нужны. Ведь они когда-то закончатся.
Другой вопрос: а надо ли оно вам? Вы уверены, что вам нужно в Google? Тогда терпите. Сомневаетесь? Тогда шлите нафиг. Хотите изменить бюрократический строй организации? Тогда напишите/позвоните руководителю, найдите его профиль в LinkedIn/whatever — и поговорите с ним лично.
Когда я был уверен в желании попасть в нужную команду, мой алгоритм был простой: нужны алгоритмы? ОК, рассказал. Нужны деревья? ОК, рассказал. Рассказал всё. Отлично, а теперь позовите пожалуйста сюда моего будущего руководителя, а лучше всю команду. И мне не отказали, потому что это было бы глупо: после полного собеседования иметь шанс потерять человаека, когда осталось его только нанять. И я задавал технические вопросы, которые интересовали меня, и меня тоже спрашивали, и всем стало куда понятнее, кто есть кто.
Требуется много времени и больше сил? Увы. Но ещё раз: просто спросите себя: вам точно нужно в Google?

Кажется, что 4 часа времени в обмен на халявное путешествие в интересный город с полной оплатой гостиницы это вполне себе выгодное предложение =)
Смотря с какой стороны посмотреть. Если на каждое собеседование летать куда-то, то очень быстро надоест.
Вот гипотетически, если бы я захотел сейчас сменить работу и подавал бы заявления в Гугл, Фейсбук, Твиттер, Амазон, Нетфликс и т.п. Допустим, меня пригласили бы в каждую компанию на собеседование с оплатой перелёта и гостиницей. Допустим 2 дня на каждую компанию с учётом дороги туда сюда.
5 компаний = 10 рабочих дней = 2 недели отпуска, т.е. половина моего годичного отпуска. А в реальности я бы, конечно, не ограничился 5 компаниями. А ещё надо начальству объяснять, почему ты вдруг незапланированно решил взять 2 дня отпуска посреди недели.
В общем, молодым холостым и/или бездетным, конечно, может быть прикольно попутешествовать нахаляву. А я вот даже и не знаю, успею ли я найти работу до того, как меня из дома выгонят за такие путешествия :)
Ну, не думаю, что человек такого уровня зарабатывает менее сотки в час — не так уж и выгодно.
Я сейчас расскажу одну страшно «еретическую» вещь. У нас в компании, в зависимости от уровня соискателя используются сильно разные подходы к собеседованию и сами вопросы. Я примерно догадываюсь, в чем смысл унификации на уровне отдела кадров. Но, в любом случае, резюме видит руководитель отдела, и уже на этом уровне можно заменить «ответьте на 20 вопросов» на «давайте поговорим о подходах в разработке и проектировании».
Дело в людях. Над входом в комнату, где кучка программистов выполняет роль страховочного фильтра для отдела кадров, путем шаблонных вопросов, без чтения резюме соискателя, может висеть любая табличка, хоть Гугл, хоть Яндекс, хоть Веб-Пупкин Студио.
Цели, видимо, разные. Кому-то надо найти хороших соискателей, а кому-то отсеять «недостойных». И это не одно и то же.
Опять человек, подловленный на отсутствии базовых знаний, которыми обладает студент 2-3 курса, обижается на то, что кто-то это решил проверить у такого Мастера. «Я не могу написать алгоритм обхода бинарного дерева, потому что я специалист по ООП, а не по алгоритмам»… WHAT?
Причем человек не оскорбляется тем, что его, Мастера (а была статья на Хабре и от такого) заставляют решать примитивные задачи. Нет, он обижен тем, что его подловили на незнании. Мил человек, проблема в тебе.
НЛО прилетело и опубликовало эту надпись здесь
А вы пост читали?

А вы? Вы пропустили вот эту замечательную цепочку
Ясно, что я — не специалист по алгоритмам. Нет смысла задавать мне вопросы по обходу бинарных деревьев — ответов на них я не знаю, а учить интереса не будет никогда. Я пытаюсь быть хорошим специалистом в чём-то другом, например, в объектно-ориентированном проектировании.


У человека нет проблем,

У человека есть проблема — он реально или гипотетически неспособен ответить на простые вопросы и ему не нравится, что их вообще задают.

Но тут начинают писать из больших модных хипстерских компаний «вы такой классный!», а на практике спрашивают что-то оторванное от реальной работы

Это простые вопросы из стандартного курса по программированию любого ВУЗа. Это не оторванное от реальной работы. То, что ему пишут «нам понравился ваш репозиторий/резюме» не значит, что никто не захочет проверить, есть ли у человека базовые знания.

Так что нет, проблема не в нём.

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

Вы, либо автор, ограничиваете понятие, вкладываемое в слова «только я». Здесь речь идет о дополнительных качествах и знаниях. А не о человеке Иване Ивановиче Иванове как таковом.

Так рекрутерам нужен именно он, или тот, кто ответит на вопросы по алгоритмам?

Он, умеющий ответить на простые вопросы, доступные студентам 2-3 курса.

Простите, но «мне нужен только ты» в ограничительном значении, которое вы применяете, допустимо только в устах признающейся в любви девушки. Мол, есть некая Личность — Ты, и только этот Ты, Человек, мне нужен.

И вы всё ещё думаете, что проблема в нём? Серьёзно?

Разумеется. Если вы нанимаете, условно, водителя-дальнобойщика, который судя по его CV, имеет опыт в перевозках, человек дисциплинированный и целеустремленный, но не умеет водить грузовой автомобиль, то как бы вам ни нравилась его дисциплинированность и целеустремленность, вы его не возьмете. Умение и права категории Cчто-то там подразумеваются и даже не обсуждаются.
Он, умеющий ответить на простые вопросы, доступные студентам 2-3 курса.


Думаю, постоянную Планка, число e, число Авогадо и т.д. Вам тоже преподавали на каком-то курсе. Возможно даже в школе. Сможете назвать «с ходу»?
Это особенность работы памяти/мозга — «отбрасывать» то, что не используется постоянно. Мозг извлекает память «по тригерам» — запахи, слова, жесты. Дайте мне их использовать!

Очень часто было, когда «собеседующий» не могли ответить на мои вопросы. Тоже «элементарные», только в моих проектах это были работы последних месяцев, а у них возможно и никогда.

Если вы хотите прособеседовать адекватно — пришли плиз программу собеседования.
Если вы нанимаете, условно, водителя-дальнобойщика, который судя по его CV, имеет опыт в перевозках

Тут, скорее, про то, что как раз вызвали такого водителя-дальнобойщика, и он действительно дисциплинированный, целеустремленный и даже водительское удостоверение нужной категории у него есть. Но вот, он приходит на собеседование, а у него спрашивают про алгоритмы, деревья и т.п… :)

В моем ВУЗе не было бинарных деревьев от слова совсем.

Тут надо понимать, о чем конкретно идет речь.


Одно дело, когда спрашивают написать двоичный поиск или инвертировать двоичное дерево (вопрос, на который не смог ответить Макс Хауэлл). Это действительно, элементарная задачка на рекурсию, весь код займет 5-10 строк. И не знать как ее решать действительно странно. Тем более что в гугле предупреждают о том, что там спрашивают такие задачки. Т.е. если человек не смог инвертировать двоичное дерево, это значит что он вообще не готовился к интервью, от слова совсем.


Другой разговор — задачки вроде "напишите балансировку красно-черного дерева на доске". Это ни 2й и не 3й и не 5й курс. Если вы в университете зубрили как балансировать RB-деревья, то у вас был странный университет.
Я уверен, что ни один нормальный человек не сможет сам такие алгоритмы придумать или по памяти это воспроизвести, если он специально для интервью не зубрил это.

> это значит что он вообще не готовился к интервью, от слова совсем
Мне вот это непонятно. Какой вообще смысл готовиться к интервью? Точнее не так. Почему результат собеседования зависит от того насколько человек к нему подготовился? Цель собеседования — понять насколько соискатель подходит на данную должность, разве не так? То есть если человек перед интервью вызубрил кучу алгоритмов/особенностей языка/порешал типовых задачек, которые могут быть заданы, он внезапно стал походить на должность, а без этого — не годился, так получается?

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

Речь скорее, кмк, об освежении знаний, чем о зубрежке.

Зубрить — не надо. Готовиться к интервью нужно, при чем готовиться должен как работодатель, так и соискатель.


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


Лучшие интервью, которые у меня были — это были интервью из серии "рассказите о проекте X из вашего резюме, какой стэк технологий применялся, какие были трудности в этом проекте, как вы их решили, что бы вы сделали по другому если бы решали эту задачу сегодня". У меня была пара таких интервью, результатом обоих был job offer. Никто не ставил под сомнение моё умение программировать.


Но тут надо быть реалистом и понимать, что гугл не может себе позволить такие интервью без изначального просева кандидатов. Что бы попасть в гугл, люди могут написать и придумать в резюме что угодно.
В связи с этим их политика заранее предупреждать, какие задачки будут задавать на интервью, по мне звучит наиболее логичным способом. По крайней мере, все кандидаты имеют возможность подготовиться. Это гораздо лучше, чем если бы они задавали случайные задачи, и люди участвовали бы в лотерее "умею ли я решать задачу на эту тему".


Отдельная история начинается тогда, когда веб-студии из 10 человек начинают задачать вопросы по двоичным деревьям, поленившись даже прочитать твое резюме. Есть тут такие компании на Хабре.

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

Так здесь же рассматривается обратная ситуация. Не кандидат пытается попасть в условный «гугл», а «гугл» обращается к кандидату и зазывает его к себе работать. Если этот конкретный кандидат им интересен не более чем любой другой, то зачем вообще его зазывать?

Все равно что рекрутер, две недели уговаривающий вас прийти на собеседование, потом на собеседовании спросил бы «почему вы хотите у нас работать?»
То есть если человек перед интервью вызубрил кучу алгоритмов/особенностей языка/порешал типовых задачек, которые могут быть заданы, он внезапно стал походить на должность, а без этого — не годился, так получается?


Я видел две крайности: собеседущий «подготовился» вызубрив «хитрые» книжки, API, алгоритмы. Пофиг что в проекте не используется вообще ничего из этого. Он же не хочет выглядеть в глазах Работодателя «неучем» и начинает тебя «пресовать» на собеседовании.
или
решал какую-то проблему в проекте последние месяцы, заглянув так глубоко, как только можно в недра кода и API и потом этой проблемой пытается тебя «пресовать».

Самое грустное в этих случах, когда на таких собеседованиях обнаруживается что знаешь тему лучше «собеседника» и пытаешься с ним общаться как с «равным»… Сразу в глазах у них читается «ну нахрена я спросил...» и попытки резко сменить тему :)

Ни одно из этого не помогает ни найму ни собеседованию.

А на собеседованиях моментально можно выявить того кто «заучил» или того кто понимает и применял на практике.
И не знать как ее решать действительно странно.

О чем я и говорю. Остальное — лирика.

Если вы в университете зубрили как балансировать RB-деревья, то у вас был странный университет.

Зубрить не зубрили. Если не изменяет память, АВЛ деревья и их балансировку проходили на 4м курсе, объяснять балансировку (т.е. помнить принцип) надо было при защите лабораторной.

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

Я уверен, что если человек помнит основные принципы, то сможет набросать алгоритм, декомпозируя сверху вниз.
НЛО прилетело и опубликовало эту надпись здесь
Вставлю свои 5 копеек: я не не знаю алгоритмов — я их просто не помню (всё это было пройдено в ВуЗе и успешно забыто). А что мы делаем, чтобы освежить память, когда забыли, что делает та или иная функция? Верно: лезем в гугл и читаем. Теперь вопрос: чем поиск информации (любой) отличается от поиска того или иного алгоритма в гугле? Да ничем. Программист ежедневно ищет информацию. Как нам говорил препод по С++ — 95% работы программиста — быстрый и оперативный поиск требуемой информации в интернете. Что-то откладывается, что-то нет. Я предлагаю на собеседовании спрашивать текст песни «Я календарь переверну».
НЛО прилетело и опубликовало эту надпись здесь
берём :)

Я проходил собеседование в Google в Mountain View пару месяцев еазад. И как ни странно, первый человек с которым я говорил — руководитель группы. Оказался очень приятным человеком.
К сожалению я не прошел по объективным и субъективным причинам. Во-первых не мой основной профиль (а гугл очевидно может себе позволить выбрать лучших 100% подходящих людей). И потом напоролся на собеседовании на нашего соотечественникам, который вывел меня из себя.
(Подавался на разработчика железа, может с программистами иначе)

И потом напоролся на собеседовании на нашего соотечественникам, который вывел меня из себя.<
Можете раскрыть тему? Звучит довольно интересно.
Спасибо за интерес :)
Это было 5 интервью один-на-один с разными инженерами. И остальные люди были очень милые, и я насладился общением с ними. Также я понимаю насколько это запарно быть интервьювером, потому что сам участвую в этом в своей компании.
На самом деле, я был приятно удивлен, что это собеседование было чисто техническим. Без дурацких головоломок, которым очень известен Гугл. Типа сколько ангелов танцуют на конце одной иглы, или сколько шариков для гольфа помещается в школьный автобус :)

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

Потом, очень тупо просить воспроизвести решение на доске, которое делалось в проекте 10 лет назад.
Также очень тупо спрашивать что-то, в чем ты сам не специалист. Сейчас цифровая электроника делается с помощью языков Verilog/VHDL, интервьювер же признался что он этими технологиями не владеет. Я нарисовал общее решение, как я его сделал, но он попросил дальше его конкретезировать, на что ушло куча времени. В результате мое время кончилось и он сам нарисовал решение, которое никуда не годится — с анти-паттернами цифрвого дизайна (асинхронный клок внутри и схема тактуемая с провода, ох лол).
Еще очень тупо придираться к терминологии, особенно если используемая мной терминология даже есть в википедии (да, я понимаю что это не авторитетный источник, но все же).
И потом, если человек перед тобой много последних лет занимается каким-то технологиями, то не стоит вспоминать что ты делал 20 лет назад в дипломе, говоря о том что это тоже круто. Это выглядит нелепо. Я занимаюсь силовой электроникой, каждый день работаю с силовыми преобразователями, 100 кВт и выше. Имею представление о современных трендах и знаю как коммутировать транзисторы на токах в сотни ампер. Не стоит отрицать core experience.

Т.е. я никого не обвиняю. Я сам был не на высоте.
Потом, не знаю что повлияло на решение Гугла не продолжать со мной. Возможно он написал хороший отзыв. А они может посмотрели историю моего поиска (они ведь могут это сделать :) ).
Просто для себя я решил, что так себя вести на собеседованиях не буду.
Во-первых есть такой принцип для сваливших в имиграцию: никогда не имейте дело с соотечествинниками. Потому что пост-советские люди часто следуют одному и тому же паттерну: никогда не помогать своим же, и даже наоборот. Мексиканцы помогают всегда друг-другу, китайцы и другие азаиты — очень дружные, индусы вообще — множество примеров когда целые отделы индусские, тащут друг-друга. А наши всегда полная противоположность. В любой вообще стране.

Есть же бородатый анекдот.

повысил в резюме размер ожидаемой зарплаты — перестали задавать глупые вопросы

НЛО прилетело и опубликовало эту надпись здесь
Бывает и обратная сторона. Ко мне как-то пристал рекрутер, а я по семейным обстоятельствам тогда не хотел никуда переходить, ну, я назвал ему, чтобы он только отстал, что-то типа текущую зп х 2, а он «приходите, поговорим». В итоге полтора года там отработал.

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

Попросить зп x 3, очевидно же =)
Никто не мешает им всё равно прислать «специалист по оценке качества обслуживания», как и мне — проигнорить такое письмо.
Немаловажно тренировать способность программировать на доске или в Google Docs (нет идентации, подсветки синтаксиса, простой текстовый редактор).
Даже банальный FizzBuzz или реверс строки из-за неудобного способа написания кода может вызвать у вас затруднения. Также крайне важно сразу держать в уме и излагать в редакторе граничные случаи.
НЛО прилетело и опубликовало эту надпись здесь
Потому что если собеседование идет по скайпу, то программировать вы будете в чем-то типа гуглодоки.
Если онсайт в серьезную американскую контору — то писать код будете на доске. Почитайте книгу Cracking The Coding Interview, там как раз об этом говорится, и о необходимости заранее потренироваться с приятелем прорешать на доске алгоритмические задачи.
Пока читал статью, кто то написал с очередным предложением. Везде, где я есть, написано, что я не ищу работу.
если фактор «потери времени» действительно выше, чем «устроиться в такую компанию» — то вы безусловно правы. Но если же это игра вашей прихоти — то могу привести слова Гессиода «Слушайся голоса правды, и гордости бойся! Гибельна гордость для малых людей, да и тем кто повыше. С нею прожить нелегко — тяжело она ляжет на плечи».
Не могу согласится по поводу Алгоритмов, я проходил интервью в Google в этом году и сказано было сразу что вопросы будут только по Алгоритмам,

просто так компания оценивает ваши знания независимо от опыта, будь ты начинающий программист или с опытом. Второй момент, ресурсов полным
полно где можно узнать примерные вопросы на интервью, и соответственно подготовится, в той же книги «Cracking the coding interview» описаны те самые
компании и примерные вопросы.
Если читать внимательно, то можно заметить, что у рекрутеров где-то там есть KPI, в которых прикручена премия за число собеседований:
— рекрутер предпринимает усилия затащить кандидата на собеседование (отсюда все эти «мы восхищены резюме» и 5-ти звездочный отель)
— рекрутер не заинтересован в правильном собеседовании — может закрыться вакансия (обидно, да), с которой он получает премии за поиск (отсюда нестыковки между реальными знаниями кандидата и вопросами к нему)

И не только с программистами это происходит.

Из личного опыта управленца (гм, похвалил себя) 95% собеседований происходят по такому же принципу
— «Ваше резюме нас впечатлило», приходите на собеседование
— при общении выясняется, что вообще никто не читал твое резюме
— и нет никаких вопросов по резюме от слова совсем, вопросы по заранее подготовленному списку
— 50% вопросов бредовые

Вот такая вот легкая форма шизофрении…
Брошу 5 копеек о наболевшем. Подобная ситуация, как мне кажется, есть результат стратегии больших компаний типа «наберем лучших/прокачанных программеров и у нас будет самая крутая компания». И все. Просто собрать вместе всех «самых крутых». На это заточено шаблонное сито и куча абстрактных задачек про коней в вакууме.
Что это показывает? Возможно, отсутствие понимания причин успеха на рынке. Либо отсутствие связи «качества» специалиста и финансовых результатов компании как такового. Ввиду монополии или иных (политических?) причин. Крутые специалисты могут быть просто «для имиджа» или «чтобы не задавали вопросов, почему з/п в этой компании в 10 раз больше средней.
Безусловно, что для продуктивной работы больше полезны практические навыки решения задач и достижения поставненной цели. Причем начитанность и теория играют не первую скрипку: важны и умение общаться с коллегами, и умение задавать вопросы, и умени гуглить (да, да), и умение встроиться в систему и настоять на своем/командном когда кто-то из команды тянет одеяло на себя… Важен комплекс качеств и программист просто получает задачи с бОльшими требованиями к технической стороне, чем остальные участники команды. Специфика, так сказать.
Умение копать — основа основ.
Темы извечные, почти риторические.

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

А сводится к тому, что много времени можно НЕ_терять, просто проводя предварительную работу (да, на которую часто не хватает времени, but...). Что, собственно, и делает автор, отвечая на восторженные письма HR'ов такой блок-фразой, исходя из собственной философии.

Исходя из своей философии, я обрубаю тех HR, в компаниях которых приняты переработки, например — прописываю это в резюме. Я уверена, что они найдут себе классных сотрудников, которым будет не принципиально. Просто — не меня. Итого: время сэкономлено.

Кто-нибудь еще делает что-либо подобное?
Это плохой подход. Сам видел такие резюме. Всё корректно, но общее впечатление негативное. Пример:
Фразой — «не программирую под Windows» автор может и хотел показать свою приверженность linux way, но если вдруг понадобится, а он такой весь из себя принципиальный? Итог — негативное впечатление.

Пишите позитивно/нейтрально — блоки и пугалки действуют не только на их ЦА.
Понимаю, но всегда есть исключения.
Моё условие было категорическим (а не просто «ну я не хотела бы») по уважительной причине, я постаралась в таком же уважительном русле написать об этом. Конверсию по моему резюме снизило +- ровно на ЦА этого мессаджа )

Иногда позитивными-нейтральными сообщениями не обойтись. Например — та же неготовность к командировкам на хедхантере прописана негативным образом.
Меня всегда интересовало что-же нужно работодателю на самом деле ингридиенты или эффект?

Эффект. Но он возможен только из хороших ингридиентов.

Егор, все верно пишет.
Что для разных кандидатов, должно быть разное собеседование.
И для опытных кандидатов, которых подходят компании, логично пропускать первые этапы и переходить к собеседованию с непосредственным руководством.
Просто крупным компаниям нечего предложить таким кандидатам, у них бизнес модель другая… А измениться они не могут…
И для опытных кандидатов, которых подходят компании, логично пропускать первые этапы и переходить к собеседованию с непосредственным руководством.

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

Есть кандидат (случай Егора и аналогичные):
1. Открытый код на гитхабе за несколько лет, и т.д. — который устраивает работодателя (ведь он приглашаешь на собеседование)
2. Есть публикации: выступления на конференция, подкасты, блог, статьи и т.д.

Вопрос, если кандидат в этом не разбирается, но все это есть… такое бывает, как можно при этом не быть профессионалом?

Ну, это тоже довольно просто. Если кандидат всё это знает, то ему не составит труда парой ответов дать это понять. А если он ведёт себя при виде этих вопросов как истеричная институтка и выбегает, хлопнув дверью, то, очевидно, задача тоже выполнена — как с таким работать и, главное, зачем? Он не впишется в команду. Дадут ему задание, а он тоже посчитает его сложность ниже своего достоинства — нафиг такой в команде?
Вы, может, помните, когда Гвидо ван Россума в гуголь брали, ему тоже пришлось пройти тесты на знание питона. Ну, и как-то он обошёлся без истерик и вписался в команду. А мог бы стать в позу. Видимо, посчитал, что сотрудничество с гуглом выгоднее для него и для питона, чем поза оскорблённой невинности.
Впрочем, каждая ситуация уникальна, надо по месту смотреть. В каких-то ситуациях действительно нет смысла проходить нелепые тесты и лучше уйти. Даже если это гуголь. У меня есть пример, когда человек пытался попасть в гуголь (на заре прихода гугла в спб) и прошёл 16 собеседований. Шестнадцать, Карл! Потом таки решил выяснить за что он бьётся и спросил про зарплату. Они обиделись и отказали :). Я бы столько не стал проходить и послал бы их сильно раньше. Если бы не было, конечно, сверхзадачи попасть именно в гуголь и ни куда более.


Перечитал ваш вопрос. Я не думаю, что на самом деле такое бывает. Что человек профессионал, но при этом не может ответить на простейшие вопросы, ответы на которые, в общем-то, знать не надо, они логически выводятся и изобретаются прямо на ходу. У меня на одном было… какая-то задачка, стандартного ответа которой я не знал и принялся придумывать алгоритм в лоб. Придумал, он был кривой и косой и работал за эн квадрат. О чём я и сообщил интервьюеру. А так же в какихх местах можно сразу начинать его улучшать. Собеседник сказал, что никогда не видел, чтобы эту задачу решали так — либо знали ответ, либо опускали руки, либо таки находили более простое решение и он впечатлён (хотя и не так, как если бы я решил её иначе). Я после интервью специально не гуглил и, пока ехал домой, буквально через 10 минут в машине понял как её решать, причём решение было настолько простое, что я долго смеялся, понимая как был озадачен интервьюер моим решением. С тех пор опять забыл и решение и саму задачу.
Другой случай был когда я с яндексом собеседовался. Я тогда все предложенные задачи начинал решать криво, но озарения приходили прямо в процессе. Интервьюер к моим кривым решениям относился очень положительно и с воодушевлением обсуждал… Тут у меня случался "инсайт", я замолкал, минуту чертил на бумажке и, ага, вот же оно! Тогда меня отсеяли, возможно решив, что я читерствовал и нагугливал параллельно решение (собеседование было по скайпу и даже без видео, и было не видно, что я не подглядывал, а чиркал на листочке).
Так что у меня большие сомнения что действительный професситнал затрудниться с этими задачками. Вот у меня ни кучи проектов на гитхабе, ни докладов на конференциях и задачки эти я не зубрил никогда… Но они же простые…

Вопрос глубже, а зачем профессионалу, задают эти вопросы?
Которые к его работе, к тому что он будет делать 99.999% времени не имеют отношения.
А из этого потом делают вывод походит кандидат или нет.
При этом полностью игнорируют, то что он публично пишет отличный код (читаемый, поддерживаемый, код стайл и т.д.), который и предстоит делать на будущей работе…
Когда мне начинают, такое задавать на собеседовании, понимаю, что в компании какие-то проблемы (а получает что так и есть и в Гулгле и Амазоне, и Яндексе и Мейл.Ру...).
Резюмируя:
В этих компаниях собеседование построено для выпускников и юниоров. Но его в таком же виде проводят для синьоров и из этих же критериев делают выводы… Это выглядит странно…
Вопрос глубже, а зачем профессионалу, задают эти вопросы?

Интервьюеру не очевидно, что вы именно тот профессионал, который им требуется.


Которые к его работе, к тому что он будет делать 99.999% времени не имеют отношения.

э-э-э? Реализация алгоритма не имеет отношения к работе программиста? Вы меня удивляете. А чем, по-вашему, занимаются программисты?


При этом полностью игнорируют, то что он публично пишет отличный код (читаемый, поддерживаемый, код стайл и т.д.), который и предстоит делать на будущей работе…

С чего вы взяли, что игнорируют? Наверняка принимают во внимание.


Когда мне начинают, такое задавать на собеседовании, понимаю, что в компании какие-то проблемы

Нет. Скорее выявляют проблемы у кандидатов. Смотрите, в этот треде я обнаружил у людей, считающих себя кРуТыМи программистами несколько проблем. Один оценил реализацию трёхстрочечного алгоритма в 2 часа. Другой допустил явную ошибку в аналезе этого примитивного алгоритма. Несколько человек не поняло такое простейшее техзадание — решили, что им предлагают не реализовать алгоритм, а вспомнить его. Полагаю, были и такие, которые хлопнули бы дверью — от таких я бы перекрестился и внёс в список "не связываться ни при каких обстоятельствах".


В этих компаниях собеседование построено для выпускников и юниоров.

Неа! Не знаю про яндекс, но про гуголь известно, что они в собеседованиях довольно гибки и перепробовали (и откинули!) кучу разных способов — имели возможность.


Это выглядит странно…

Это выглядит, как результат статистической обработки биг-даты :). Примером выше я показал очевидные проблемы у кандидатов, выявленые (не могущие быть выявлеными, а выявленые) у потенциальных кандидатов. Возможно, для кого-то эти пробелмы несущественны. Тогда они вольны не проводить такого рода тесты. Но для кого-то это может иметь значение.


upd. ой, простите, примеры, о которых я говорю не из этой темы, из соседней — программисты не могут писать алгоритмы на интервью

Вопрос глубже, а зачем профессионалу, задают эти вопросы?
Интервьюеру не очевидно, что вы именно тот профессионал, который им требуется.

Два вопроса для примера:
1. Cборщик мусора в .Net?
2. Поддержка транзакций в RestAPI интерфейсе?

По вопросу 1: какой смысл этого вопроса? Ты можешь им управлять? Ты можешь его переписать на свой? Микрософт по этому поводу пишет: не лазайте там руками. Он все сделает сам, в крайнем случае «пните его ногой», а если уже совсем припрет, попробуйте в конфиге поменять стратегию уборки.
Для С++ кода разные стратегии менеджера памяти были весьма полезны. В общих познавательных целях — полезно. Но при собеседовании на Web разработку?

По вопросу 2: С какого хр.. перепугу интерфейс определяет реализацию? Тем более что это одна из многих рекомендаций/«Best Practise»для архитектурных решений.

Однако отсутствие ответов типа «цитата из книжки» ранозначно проваленному интервью.

Интервьюеру не очевидно, что вы именно тот профессионал, который им требуется.

Если вы пригласили «спеца» — покажите ему задачу, обсудите возможные решения. Если спец адекватный — он скажет «Да есть опыт, можем сотрудничать/Нет опыта, надо подумать»
Зачем мозг «расчесывать и любить»?

Сейчас мода на SOLID. А чего не на TOGAF?
Два вопроса для примера:

Вы хотите, чтобы я свои догадки изложил? Ну, их есть у меня, хотя я и не знаю зачем они вам :)


1 Cборщик мусора в .Net? какой смысл этого вопроса? Ты можешь им управлять?… В общих познавательных целях — полезно. Но при собеседовании на Web разработку?

Ну, я про дотнет не знаю, а в яве в какой-то степени им можно управлять, в смысле разные стратегии выбирать и чего-то подкрутить. Да, у меня как-то спрашивали про сборщик, это было там, где требовался хайлоад. Веб-хайлоад. Вроде бы, разумно. Я честно сказал — мои проекты до сих пор не требовали тюнить сборщик, поэтому о сборщике я знаю, что он есть, что их есть разные и их можно потюнить. Сразу после этого мне отнюдь не сказали — иди нафиг, а продолжили задавать вопросы по другим темам. Я не знаю что плохого в этом вопросе, если на проекте действительно хайлоад и нужда довела до тюнинга сборщика мусора. Смысл этого вопроса тогда — очертить текущие границы знаний и опыта кандидата. А потом решить — углубляться дальше в тему или нет.


2 Поддержка транзакций в RestAPI интерфейсе?… С какого хр… перепугу интерфейс определяет реализацию?

Я бы тут попросил уточнения, что они под этим подразумевают, поскольку в таком виде вопрос непонятный. Возможно им нужно было, чтобы вы спроектировали интерфейс внешнего управления транзакциями? Ну, там, на какие rest-запросы вы бы замапили команды start transaction, commit, rollback, end… По-моему, богатая тема для обсуждений. Заодно можно пообсуждать зачем такое вообще могло понадобиться.


Однако отсутствие ответов типа «цитата из книжки» ранозначно проваленному интервью.

Впрочем, я не исключаю и случай интервьюера-идиота. :)


Если вы пригласили «спеца» — покажите ему задачу, обсудите возможные решения. Если спец адекватный — он скажет «Да есть опыт, можем сотрудничать/Нет опыта, надо подумать»

Если мои догадки верны, то вопрос номер один и был про опыт, а номер два — задача с обсуждением возможных решений. Не?


Зачем мозг «расчесывать и любить»?

Возможно вы просто не поняли друг-друга?


Сейчас мода на SOLID

На вопрос про SOLID я, отвечаю, что я читал про него, знаю, что L — это принцип Лисков, про который я помню только потому, что этот Лисков в мужском роде, хотя она и Бабра. Ещё могу рассказать про букву S. В этом месте говорят, — нет, не надо… :)

Если мои догадки верны, то вопрос номер один и был про опыт, а номер два — задача с обсуждением возможных решений. Не?

Не. Обычно порядок собеседования выглядит так:
1. Кто вы такой?
2. Что вы делали?
3. А не врешь ли ты? А дай-ка я «порасчесываю» тебе мозг! Вот тебе пачка дурных вопросов про круглые люки, алгоритмы, сбощики мусора и прочую хрень.
4. Ну, если ты еще не запарился, то, так и быть. можешь спросить про проект и, может быть, мы тебе расскажем как мы дружно и весело кушаем печеньки а в перерывах иногда «кодим» что-то, на что нету ни требований, ни криетриев приемки. У нас же SCRUM и штатный телепат пытается угадать «хотелку» клиента…

На моей памяти, только два раза было внятное объяснение какой проект и чего от кандидата ожидают в рамках проекта. Тогда можно было разговаривать с адекватными людьми в рамках одного контекста/глоссария.

Ну, вероятно, мы с вами в очень сильно разные компании на собеседования ходим :). Я, конечно, попадал и в очень странные ситуации, но, как правило, всё происходит в высшей степени адекватно. В самом начале крайне подробно рассказывают о компании-проекте, иногда настолько подробно, что не могу даже для порядка потом вопрос придумать какой-нибудь, когда спрашивают остались ли вопросы. Техническая часть тоже очень корректно происходит. Вощможно, потому, что меня не оскорбляют просьбы написать какой-нибудь двоичный поиск. Про люки, да, про люки ни разу не спросили! А ведь у меня есть ответ, как у бывшего сантехника :). Везёт же мне, как послушаю как другие страдают — оторопь берёт.

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

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

Да, процедура довольно-таки бездарная и унизительная. Напоминает кастинг (кастингом в английских аристократических кругах называется отбор лошадей). Эта ситуация будет углубляться и усугубляться. Сейчас это делается в жесткой, бездарной, раздражающей форме (причем уже очень долго). В дальнейшем, очевидно, тесты станут более дифферинцированными, а форма их проведения — более мягкой. Но это все равно будет машина.
— Приведите примеры где применяется односвязный список
— Ну, в основном на собеседованииях
— о_О
— Ну а Вы сами можете привести другие примеры?
— Да много где, стыдно этого не знать, например в… ээ… хмм, ладно, перейдем к следующему вопросу…
Я как-то так подколол рекрутёра про то, где мне приходилось решать самые интересные задачи… Не помогло: я завалил две другие секции из четырёх.
И где?
В Яндексе.
Можно относиться к этому как к требованию «прокачанности» определённого рода soft skills.
Пользуясь случаем, хотел бы высказать также еще две мысли

1. Такие компании как Гугл знают о вас все. Историю поиска, посещения сайтов и т.д. Почему же отбор кандидатов такой неэффективный и стрессовый в век Big Data?

2. У нас тут в деревне Силиконовке вызвать инженера-консультанта к себе в гараж стартап стоит от $100 в час и выше. Т.е. это тупо чувак приезжает со своим осциллографом, тыкает в твои платы и умничает. (речь про hardware).
Монстры типа гугла должны перестать быть жлобами и начать уже платить апликантам сопоставимые деньги, когда они привлекают человека на on-site interview и убивают целый день. Далеко не все сидят на зарплате, и далеко не у всех есть лишний оплачиваемый выходной.
Так глядишь они начнут думать как сделать само интервью короче и эффективнее.
Вы уверены, что они действительно знают о вас все?

Мне вот в очередной раз вспоминается, как я впервые обнаружил у Facebook страницу, где опубликованы мои предпочтения. Вернее, то что они считают таковыми. Я большего бреда, откровенно говоря, никогда не видел.

А скажем Билайн? Ну казалось бы, у них же есть детализация моих расходов на связь за много лет, они должны точно знать, что кроме мобильного интернета я практически ничем не пользуюсь? Вы что думаете, это сильно мешало им регулярно предлагать мне более дорогие тарифы с безлимитными звонками?

Иметь о вас информацию, пусть даже всю, и уметь делать из нее выводы — все же несколько разные вещи.
Ну с Билайном как раз то все понятно. Им не нужно предложить что-то нужное вам, им нужно поднять ARPU
Если у меня мать-пенсионерка тратит на связь 15-20р в месяц (нокия чернобелая и десяток-полтора звонков в месяц исходящих), то ей предлагают «Пакет 100 минут за 50р»
Если отец тратит 100р, то ему предлагают за 190р в месяц, причем «Пакет 100 минут за 50р» из примера выше ему недоступен, так как это «персональное предложение». Хотя подключить его было бы выгодно. Очевидно, что это предложение только для тех, кто тратит МЕНЬШЕ полтоса.
У меня тариф за 800р, так ни разу не пришло предложение «подключи бла-бла всего за 390р/мес», но несколько раз были какие-то заманушки тарифом за 1200р. Хотя прекрасно по детальке видно, что у меня и минуты и смс и интернет — всего еще довольно много остается неизрасходованным. А при тарифе за 1200р будет оставаться не 30%, а половина.
Ваше предположение про Билайн конечно весьма правдоподобно. Только ведь засада в том, что я стабильно уже много лет трачу на безлимитный интернет 99% денег за связь. И эта пропорция — она не меняется никогда. Тот кто предполагает возможность мне что-то еще продать — ну он не очень умный, скажем прямо.

Ведь и Facebook же тоже нужно мне продать рекламу. Как они собрались ее продавать, если не знают, что мне нужно, а что я терпеть не могу? Правда-правда знают все-все? А какого черта в моей рекламе недвижимость Санкт-Петербурга (а почему не Парижа, в самом деле)?

Или еще лучше — товары для молодых мамаш? Я что, похож на мамашу? А-а-а, это типа у меня среди друзей такие есть — видимо мне может быть интересно тоже самое, что интересует их? Так в этом и таится та самая проблема, о которой я и написал — что такие выводы делать нельзя, и их может сделать только дурацкий недо-ИИ, на базе анализа BigData. Нормальный живой человек никогда не сделает вывод, что мне может понравиться абстрактное «тоже самое», что и моим друзьям в соцсети — потому что человек-то как раз понимает, что нету никаких абстрактных друзей, а есть конкретные и очень разные.

У меня очень похожая история с VMware. Позвали на "собеседование" в Афины, для набора штата в Софии. Тоже всё оплатили, перелёт, гостишка. Но вот сами собеседования (их было подряд штук 5) с разными людьми, каждый следующий из которых знакомился со мной заново, были ужасны. Задаваемые вопросы никак не раскрывали меня как сениора программиста. Да куда уж там, вопросы были такие, что любой джун ответил бы.
Абстрактно я перефразировал весь день собеседований в нечто такое: "Вы хорошо знакомы с математикой? Да. Сколько будет 2+2? Хех, 4. Хорошо, а 2х2? Ответ тоже 4. Спасибо, к сожалению, Вы нам не подходите, у Вас слишком базовые знания математики."

Конечно, ведь в троичной и четверичной системах счисления ответы будут другими.

Есть один момент, на который я хочу обратить ваше внимание со стороны интервьюера. Во время собеседования мы можем задавать на ходу придуманные вопросы или задачи, но мы не судим по результату выполнения. Наши главные задачи, это насщупать в чём кандидат силён, любит ли он делать то, что он делает и совместимы ли мы для работы в нашей команде. Если всё ок, то остальному он научится на рабочем месте очень быстро.


BTW: We are hiring. DevOps, Cloud Foundry, Tokyo, relocation.

Кандидат вам сказал: мне нравится делать. Что еще нужно?
Во время собеседования мы можем задавать на ходу придуманные вопросы или задачи

Наши главные задачи, это насщупать в чём кандидат силён, любит ли он делать то, что он делает и совместимы ли мы для работы в нашей команде

Вполне может быть разочарование не задачей, а тем что «не поделись тем, что курили когда придумывали задачу» :) Интонацией т.д. Как можно оценить «адаптивность» к новому в течении 2..4 часов стресс-общения?
Я к тому, что интервьюер не всегда смотрит на результат выполненой задачи, хоть и кандитаду зачастую кажется, что это и было причиной отказа.
Интресно было бы ознакомится с этими секретными методичками по отбору и описаниями с анализами реакций и ссылками на первоисточники исследований…
Я например задаю очень простые, но абстрактные вопросы, и смотрю какие кандидат подбирает слова. Например, что такое HTTP протокол. Я не ожидаю что кандидат не знает(хотя бывало и такое), но смотрю с чего он начнет и о чем скажет. А тут не поверите, сколько людей, столько и ответов. Ряд таких вопросов и можно составить очень неплохое представление о кандидате, и хочешь ты с ним работать или нет.

Расскажите лучше как там в Токио работается :-)

Была такая мысль. В какой хаб писать? Тут всё поменялось с того времени когда я часто заглядывал.

Я проходил интервью в Google на SRE и скажу вам, что оно мне совсем не показалось «джуновским с алгоритмами».
На алгоритмы было только одно интервью. Остальное — решение гораздо более практических задач с нюансами, о которых обычно знают только опытные инженеры, либо были разговоры о технологиях/подходах, которые использует компания в своей инфраструктуре. Чем опытнее вы себя оцениваете, тем сложнее задают вопросы.
Вот пример описания такого интервью от кого-то в интернете:
http://lambda-startup.com/recruitment-process-for-a-google-job-sre-site-reliability-engineer/

У Гугл и других компаний есть вполне четкая позиция почему их интервью выглядят именно так и это можно нагуглить.

Гуглы и Амазоны. конечно, круто, но у меня самое эпичное собеседование было много-много лет назад в «Жёлтые страницы» на вакансию программиста. Началось с того, что письма писала некая Ева $фамилия, во всех письмах и в подписи и в адресе Ева, а по приходу на интервью не обнаружилась. В реале оказалась Еленой — видимо, это был первый тест. Потом оказалось что программист меняет картриджи и ставит 1С. И, возможно, что-то пишет, но что — так и не сказали. Понял что надо уходить, но по молодости как-то не смог встать и попрощаться, потому перешли к технической части с вопросами по SQL. Ответы были 2х видов — написанные на её бумажке с вопросами и неправильные. Как понял — я не всегда давал те ответы, которые были там (типа, сколько минимально необходимо таблиц для связи один-ко-многим). Так что наши тоже умеют, когда захотят.
А может автор оригинальной статьи пытался на собеседовании у Amazon рассказать про ООП будущего?

о, я когда начинаю рассказывать про оорп — все глаза выпучивают :-) все знают про оопр некоторые про фрп, про оорп никто не в курсе.

Непонятно зачем отвечать ХР-у. КМК, отвечать есть смысл только для того чтобы записаться на собеседование. В остальных случаях просто жмакаем DEL.
Ясно же что ХР это просто спам-бот + небольшая пост-обработка. Резюме он не читал и в детали не вникал. Просто пробежал по ключевым словам.
Его даже троллить бессмысленно, вы ж не будете троллить, например, кофеварку, хотя она до фига интеллектуальная.
Можно, наверное, приехать к ним и устроить чатик-кроватку ИРЛ, но для этого надо быть троллем уровня БОГ.

Мои пять копеек, ещё в институте нам говорили через год человек помнит только 4% информации которую учил перед экзаменом, если этой информацией активно не пользуется.
Тогда это фраза казалась смешной.
В свое время пришлось поработать в авиации на работе связанной с безопасностью полётов. Тогда все специалисты каждые 5 лет повторно проходили месячный курс обучения и экзамен на обслуживание техники с которой работали. Я видел специалистов которые работают по 10-15 лет знают отдельные сложные моменты гораздо глубже преподавателя и иногда не могут вспомнить элементарные данные. Это свойство человеческой памяти забывать не используемое.
Если знать, что будут спрашивать на собеседование, часто можно за полчаса обновить необходимые знания.
Но нужно ли это рекрутерам?

Взгляд изнутри (Амазон): всех честно предупреждают перед интервью что надо в памяти освежить (в основном data structures). Если ты это проигнорировал, то есть конечно вариант что на смекалке выедешь, но не факт.
Резюме все кто проводил интервью читали, но как известно писать резюме все умеют, а код нет. За 3 года я провел достаточно интервью и видел людей с 10+ годами опыта которые таки fizzbuzz не могут написать. Проверяется не конкретное знание каких то специфических алгоритмов а твое понимание как это должно работать. Заучивать без понимания как раз не стоит.
Ещё сильно зависит от твоего опыта (джунам одно, спецам другое, а архитекторов у нас нет) и места (в Сеаттле больше бардака, в региональных оффисах попроще).

  • 2007: "Программистам не нужно знать математику!"
  • 2017: "Программистам не нужно знать алгоритмы!"
  • 2027: "..."
Потому что компании мечтают взять человека с улицы за зарплату индуса.

2027: "Программистам не нужно знать языки программирования, достаточно уметь объяснить ИИ что-таки хочет заказчик!"

Потому и нужно учить алгоритмы и математику в ВУЗе, потому что вспомнить легче и быстрее, чем учить с нуля.
Ну даже выучили вы все это, но имеете свой взгляд на реализацию. И вам говорят, что вы ничего не знаете, только потому, что ваше решение отличается от «эталонного» из учебника.
Именно этот тип собеседования выгоден мегакорпорациям — гордые, фрилансеры по убеждениям, довольные своим финансовым положением (но тем не менее специалисты) не проходят (все равно через полгода уйдут в закат). А из остального мяса, готового крутиться в этой мясорубке, отбирают кусочки пожирнее — получается годный фарш (но не стейк все же :)).
Очень часто одного человека рассматривают сразу в несколько команд. А так как процесс не быстрый, то необходимость в человеке может возникнуть у команды уже после того как вы прошли первые этапы собеседования, либо в некоторые команды уже найдут людей на места.
У нас схожим образом работают Mail.ru и Яндекс (из тех, с кем сам сталкивался).

В первом интервью обстояло так: пришли пару парней-технарей, которых явно от чего-то отвлекли, и жутко болтливый HR. Я час решал какие-то посторонние задачки, парни каждый уставились в свой ноутбук, всё было гладко и позитивно. За исключением того, что в этом не было никакого смысла.

А рекрутёры Яндекса говорят прямо: после первичного интервью вы приглашаетесь к нам в офис. Интервью займёт всего 4 часа. Первичное интервью всего 4 часа… Я ни разу не ходил и не хочу. Видимо, ищут тех, кто за бренд готов пройти это (и, возможно, получать меньшую, чем на рынке, зарплату).
Справедливости ради — первичное интервью вроде как час и по скайпу. Решить пару тройку несложных задач.
А четырехчасовое интервью можно разделить как минимум на две части. Может и больше.
Что дальше происходит — я не знаю.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории