Comments 162
Забавно, я чуть раньше в Яндекс (вернее, в яденьги) собеседовался и было ровно то, что хотел автор статьи — собеседования с будущим непосредственным руководителем. Потом они всё сломали? ;)
Только Вы забыли упомянуть, что
- собеседуют тебя твои будущие коллеги
- необязательно показать себя молодцом на каждой из 4 секций
- окончательное решение принимается после беседы с твоим будущим тимлидом
В контексте статьи, мне кажется, это важные уточнения
В принципе перед походом к ним меня предупреждали знакомые, работавшие там, что делать в Яндексе нечего, но ради интереса я сходил.
Когда первый раз пришёл в Яндекс (давно это было), меня собеседовала моя будущая команда. Часок поболтали и сразу решение — сработаемся. Безо всяких там "мы вам перезвоним" и "нужно пройти ещё 3 интервью". Хорошее было время, а потом начались "оптимизации".
Кто-то из уехавших на Запад программистов давно еще в блоге писал про такое «сито» — мол, скопируйте в свою резюме то, что видите в требованиях, причем слово в слово, так, чтобы рекрутер мог принять решение, что слова верные. Если вы пройдете первый отбор, у вас может быть шанс уже поговорить с живым человеком, которых хоть что-то понимает в теме и вашей специализации.
С другой стороны, кроме отеля и самолета, есть и другой момент — а почему не спросить у того рандомного человека, который вас собеседует, что-то более толковое? Если вас гоняют по алгоритмам, а вы — аналитик, то тут что-то не то, но у вас на то и голос есть, чтобы спросить, или нет?
Одна сторона полностью согласна, аргументируя, что это в работе все равно не потребуется, другая утверждает, что некоторый отсев алгоритмами таки нужен.
Мне неоднократно приходилось в рабочих задачах обходить деревья в ширину и в высоту (проекты довольно обыкновенные), и я думаю, что такого рода задачки на собеседованиях не так уж и бессмысленны. Просто во всем должна быть мера. Я вот с ходу не сбалансирую RB-дерево. Мне оно не нужно в повседневной работе.
А еще с одной стороны, зачем же нужно это делать на бумажке или доске? Задачки уровня fizzbuzz то еще вполне, но что-то сложное — а зачем? Какой в этом смысл? Мне придется и в дальнейшем, на работе, программировать на бумажке? Или хотя бы на доске?)
В организациях до 200 человек (примерно) собеседование кандидатов на должности с интеллектуальными задачами должен вести представитель высшего руководства. В идеале — генеральных директор, но и замы подойдут.
Встретив подобное — я удивился, но потом понял причину. Кандидата в команду (а адекватная коммерческая организация — это единая команда с одной общей целью) нужно отбирать не только по соответствию условиям и опыту/навыкам, но и по ощущениям, параметрам, находящимся вне компетенции и опыта руководителей среднего/нижнего звена. Казалось бы странные, бесполезные и ненужные для меня (неоднократно был в числе представителей организации) вопросы — помогали сформировать руководителю нужную оценку. Как реагирует кандидат, как отвечает.
Руководство на собеседовании может сдержать причуды кадровиков, например, если они всех рыжих отсеивают, или слишком умных.
Если кандидату или сотруднику не нравятся такие странности — есть другие организации с других подходом.
Руководитель/владелец организации тоже инженер, но «инженерит» он свои собственные деньги.
Хорошо, если так. Обычно руководитель ака гендир и владелец это разные люди, и у них разные цели. Гендир это наёмный работник, который хочет показать хорошую отчётность за квартал, в то время как владелец получает реальную прибыль. Это раз.
И два, редко, когда гендир инженер, намного чаще он менеджер (и не всегда хороший). И ещё реже, когда он реально разбирается в том, чем занимаются разработчики, это больше компетенция технического директора (который и должен, на мой взгляд, выбирать себе подчинённых программистов).
Это как дисскурс о высшем образовании. Оно по сути не нужно. Но если человек таки его получил то это значит что он может достигать поставленных целей. А эффективная работа в кровавом энтерпрайзе — это не только код
"Немного" это сколько?
Основные виды алгоритмов и структур?
Сложностные показатели?
Основные алгоритмы работы, в описательном виде?
Основные алгоритмы работы в деталях?
Доскональное знание всего вплоть до timsort, KD-tree и компании?
20 challenges из Cracking Code Interview на HackerRank вполне хватит
Коллеги, я это всё к чему, базовые «алгоритмы» спрашивают на собеседовании в Facebook, Google, Booking и др.
Не понимаю зачем закрывать двери перед этими компаниями если можно просто один раз переступить через себя и месяца за три (в свободное от работы время) порешать эти задачки. Это совсем не так сложно как кажется, а многие вещи очень даже интересны
https://www.hackerrank.com/domains/tutorials/cracking-the-coding-interview
То бишь — это обычные компании ничем не лучше и ничем не хуже десятков других со всеми проблемами крупных корпораций — появилась рутина, невозможность занятия интересных должностей/постов, текучка персонала, перебросы с проекта на проект и т.д.
Так ли уж нужно стремиться туда сейчас? Стоит ли это — потрёпанных нервов? Может стоит заучить какую-нить более интересную штуку, вместо набивших оскомину алгоритмов… которые всё равно окажутся не нужны?
Я позволю себе пример из личной практики — меня несколько утомили уже рекрутеры из известной компании, которые регулярно, раз в месяц-два мне пишут, и спрашивают одно и тоже: а вы не хотите поработать в такой европейской стране, как П.?
Замените у себя Facebook на П., и прикиньте, есть ли существенная разница? Казалось бы, почему бы не поработать где-нибудь в Европе, шенгенская виза же, и все такое, правда?
А теперь представьте, что вы им уже два или три раза написали письмо, что не рассматриваете П. как вариант, а хотите работать только в других конретных местах? А они никак на это не отреагировали.
На мой взгляд, это ничем не отличается от ситуации, которая тут описана. Так ли уж нужно стремиться отвечать на каждое такое предложение? Особенно если они еще и хотя что-то такое, что вовсе не является моими сильными сторонами, и что прекрасно видно из моего резюме, между прочим.
ИЛИ
Прийти в маленькую компанию, не столь известную и крутую, но где было всего 2 собеседования: первое — со специалистом, второе — по зарплате.
Что бы вы выбрали?
Т.е. понятно, что я упростил: но большая компания — большие проблемы. Очень много людей должны показать, что они что-то делают, чтобы их не уволили, отсюда — дурацкие вопросы и задачи, перекладывание ответственности и т.д. и т.п. Стоит ли это ВАШЕГО времени, если, как я уже писал выше, «мордокнига — уже не торт»?
Тем не менее – прочитать стоит, поскольку она ставит вопросы, ответы на которые могут помочь определиться со своими собственными ожиданиями от работы и жизни. И написана она автором, известным своими работами по исследованию социума, что добавляет аутентичности художественному тексту.
Если есть возможность – читайте в оригинале, так как перевод (моя версия, во всяком случае) оставляет желать лучшего.
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. Многие ли писатели алгоритмов на бумажке способны сходу почувствовать здесь возможный подвох? Я вот — наверняка не обратил бы внимания…
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-а — это достаточно грустно
ИМХО: я бы предпочёл принять на работу человека опытного (с кучей успешных и не очень проектов за плечами), но не знающего про О(Х) зависимости, чем полнейшего новичка, который про них знает. Скорость работы используемой ими обоими функции qsort от их знания/не знания — быстрее не становится.
Set — это математическое понятие. Множество. В школе проходят. Стыдно не знать, что это. И стыдно не знать, как его можно реализовать.
Я вот честно признаюсь — не знаю, как можно реализовать множество в таком языке, например, как Smalltalk. Я вообще мало знаю про язык Smalltalk кроме названия собственно и того, что там примерно С-подобный синтаксис — больше ничего не знаю. Мало того — не знаю я и того, что там может быть какая-то библиотека может имеет уже готовую реализацию, а может быть — и не имеет и надо реализовывать самому. Если же надо самому, я бы может и реализовал бы, да вот только… мне это нафиг не надо. Потому что не использую я Smalltalk, ну то бишь абсолютно. И поэтому мне позволительно не знать про нюансы реализации множества в этом языке.
Что же касается школы — я совершенно серьёзно уверен, что учителя бывают разные. Я вот например знаю одного учителя математики — ну просто отвратного. Слава всем богам, что мне она не попалась, но вот некоторые хорошо мне знакомые индивидуумы — стенали и плакали и бегали к нам домашку решать (эххх давно это было). Ибо объяснять она не умела, а ведь вполне реально, что некоторые индивидуумы из её классов таки пошли и в программисты. Я этого не могу исключить.
Вообщем я к чему: если человек чего-то не знает — это не стыдно. А вот грести всех под одну гребёнку — должно быть стыдно.
Суть же темы и моей мысли в том, что для того, чтобы нанять человека люди, со знаниями в сферах, никак не связанными со сферой применения кандидатов, предлагают потратить время для того, чтобы решить абсолютно искусственные задачи, придуманные для того, чтобы оценить качества, которые они НЕ могут оценить — потому что не обладают должной квалификацией в сфере применения. Задачи, которые не будут связаны с обязанностями потенциального кандидата ну просто вообще никак. Мало того — они не заинтересованы даже в том, чтобы выбрать реально нужного кандидата, потому что «за наём» им всё равно заплатят.
Ну а зачем вы выворачивает утверждение наизнанку?
Изначальное утверждение звучало так — "В некоторых языках понятие Set — вообще не реализовано, поэтому неудивительно, что его могут не знать. "
Нет, отвечаю я, понятие Set — множество, математическое, и нужно знать его, если ты не неандерталец.
Теперь вы говорите — вот язык, который я не знаю, и вот я не знаю, есть ли там Set, и как его реализовать там — тоже не знаю. Ну не знайте на здоровье, мне-то что с того? Вы этим ничего не доказали.
Весь ваш остальной опус оправдывает незнание элементарных школьных истин из точных наук. Я согласиться с таким не могу. Понятие множества — фундаментальное, я не смогу работать с коллегой, который его не знает. А обучаться — идите в школу. Школа как раз таки призвана дать всем некие знания, которые можно грести под одну гребенку.
Сейчас я сходу не напишу ни балансировку дерева, ни одну из nlogn сортировок. Если в гугле, фейсбуке и амазоне люди сидят и постоянно пишут эти алгоритмы… Ну не знаю, может им научиться писать библиотеки и пользоваться ими? Говорят это сильно сокращает время разработки
И зачем это вообще? Я помню асимптотики, я знаю где можно посмотреть сами алгоритмы, если вдруг для чего-то понадобятся. Почти в любом из современных ЯП они есть — зачем мне помнить все стопицот веток балансировки RB-дерева (АВЛ-дерева, или любого другого из братьев)? Я с удовольствием читаю статьи про алгоритмы на том же хабре, но опять же, запоминать детали реализации? Для чего? Применимость, подводные камни, асимптотика и сохраненная страница — подозреваю, что этого достаточно в подавляющем большинстве случаев.
Вот вы сейчас сможете сесть и написать ну например qsort? На бумажке? А на той же бумажке написать любое бинарное дерево с балансировкой? Ну или какой-нибудь тривиальный конечный автомат разбора крошечной грамматики? Если да и оно окажется полностью рабочим — я вам искренне завидую. У меня в таких ситуациях постоянно теряются какие-нибудь граничные случаи, приходится все переписывать по три раза и т.п.
Кажись, всё сводится к простой формулировке: "если спрашивающий не может сам ответить/написать/посчитать/etc то, что спрашивает, то нет у него права это спрашивать у кандидата". С такой позиции получается всё очень прозрачно: либо вам тут же поясняют зачем нужны эти "сакральные" знания RB-деревьев (да и любой другой узкоспециализированной штуки) и показывают как нужно было реализовать и почему, либо вы можете смело слать нафиг этих непонятных господ со всеми их странненькими вопросами.
Он решил => я посмотрел и оценил => его пригласили и побеседовали о его решении задачи. Кагбэ на этом все.
К чему эти нудные опросы алгоритмов? Для этого есть книжки, книжка такое собеседование пройдет идеально. Все эти беспредметные разговоры (что-бы спросить, что-бы спросить… Ага… Спрошу его про Штрассена!). Чисто проверка на эрудиции. Эрудиция это хорошо, но не главное.
Мне кажется, проблема надуманная.
Если хотите работать в Google, Яндекс, %placeholder% — просто будьте готовы вытерпеть пачку "тупых" вопросов, которые, как вам кажется, никому не нужны. Ведь они когда-то закончатся.
Другой вопрос: а надо ли оно вам? Вы уверены, что вам нужно в Google? Тогда терпите. Сомневаетесь? Тогда шлите нафиг. Хотите изменить бюрократический строй организации? Тогда напишите/позвоните руководителю, найдите его профиль в LinkedIn/whatever — и поговорите с ним лично.
Когда я был уверен в желании попасть в нужную команду, мой алгоритм был простой: нужны алгоритмы? ОК, рассказал. Нужны деревья? ОК, рассказал. Рассказал всё. Отлично, а теперь позовите пожалуйста сюда моего будущего руководителя, а лучше всю команду. И мне не отказали, потому что это было бы глупо: после полного собеседования иметь шанс потерять человаека, когда осталось его только нанять. И я задавал технические вопросы, которые интересовали меня, и меня тоже спрашивали, и всем стало куда понятнее, кто есть кто.
Требуется много времени и больше сил? Увы. Но ещё раз: просто спросите себя: вам точно нужно в Google?
Вот гипотетически, если бы я захотел сейчас сменить работу и подавал бы заявления в Гугл, Фейсбук, Твиттер, Амазон, Нетфликс и т.п. Допустим, меня пригласили бы в каждую компанию на собеседование с оплатой перелёта и гостиницей. Допустим 2 дня на каждую компанию с учётом дороги туда сюда.
5 компаний = 10 рабочих дней = 2 недели отпуска, т.е. половина моего годичного отпуска. А в реальности я бы, конечно, не ограничился 5 компаниями. А ещё надо начальству объяснять, почему ты вдруг незапланированно решил взять 2 дня отпуска посреди недели.
В общем, молодым холостым и/или бездетным, конечно, может быть прикольно попутешествовать нахаляву. А я вот даже и не знаю, успею ли я найти работу до того, как меня из дома выгонят за такие путешествия :)
Дело в людях. Над входом в комнату, где кучка программистов выполняет роль страховочного фильтра для отдела кадров, путем шаблонных вопросов, без чтения резюме соискателя, может висеть любая табличка, хоть Гугл, хоть Яндекс, хоть Веб-Пупкин Студио.
Цели, видимо, разные. Кому-то надо найти хороших соискателей, а кому-то отсеять «недостойных». И это не одно и то же.
Причем человек не оскорбляется тем, что его, Мастера (а была статья на Хабре и от такого) заставляют решать примитивные задачи. Нет, он обижен тем, что его подловили на незнании. Мил человек, проблема в тебе.
А вы пост читали?
А вы? Вы пропустили вот эту замечательную цепочку
Ясно, что я — не специалист по алгоритмам. Нет смысла задавать мне вопросы по обходу бинарных деревьев — ответов на них я не знаю, а учить интереса не будет никогда. Я пытаюсь быть хорошим специалистом в чём-то другом, например, в объектно-ориентированном проектировании.
У человека нет проблем,
У человека есть проблема — он реально или гипотетически неспособен ответить на простые вопросы и ему не нравится, что их вообще задают.
Но тут начинают писать из больших модных хипстерских компаний «вы такой классный!», а на практике спрашивают что-то оторванное от реальной работы
Это простые вопросы из стандартного курса по программированию любого ВУЗа. Это не оторванное от реальной работы. То, что ему пишут «нам понравился ваш репозиторий/резюме» не значит, что никто не захочет проверить, есть ли у человека базовые знания.
Так что нет, проблема не в нём.
Написать на доске обход бинарного дерева не может он. Проблема — у него.
Как же вы пропустили этот ключевой абзац?
Вы, либо автор, ограничиваете понятие, вкладываемое в слова «только я». Здесь речь идет о дополнительных качествах и знаниях. А не о человеке Иване Ивановиче Иванове как таковом.
Так рекрутерам нужен именно он, или тот, кто ответит на вопросы по алгоритмам?
Он, умеющий ответить на простые вопросы, доступные студентам 2-3 курса.
Простите, но «мне нужен только ты» в ограничительном значении, которое вы применяете, допустимо только в устах признающейся в любви девушки. Мол, есть некая Личность — Ты, и только этот Ты, Человек, мне нужен.
И вы всё ещё думаете, что проблема в нём? Серьёзно?
Разумеется. Если вы нанимаете, условно, водителя-дальнобойщика, который судя по его CV, имеет опыт в перевозках, человек дисциплинированный и целеустремленный, но не умеет водить грузовой автомобиль, то как бы вам ни нравилась его дисциплинированность и целеустремленность, вы его не возьмете. Умение и права категории Cчто-то там подразумеваются и даже не обсуждаются.
Он, умеющий ответить на простые вопросы, доступные студентам 2-3 курса.
Думаю, постоянную Планка, число e, число Авогадо и т.д. Вам тоже преподавали на каком-то курсе. Возможно даже в школе. Сможете назвать «с ходу»?
Это особенность работы памяти/мозга — «отбрасывать» то, что не используется постоянно. Мозг извлекает память «по тригерам» — запахи, слова, жесты. Дайте мне их использовать!
Очень часто было, когда «собеседующий» не могли ответить на мои вопросы. Тоже «элементарные», только в моих проектах это были работы последних месяцев, а у них возможно и никогда.
Если вы хотите прособеседовать адекватно — пришли плиз программу собеседования.
Если вы нанимаете, условно, водителя-дальнобойщика, который судя по его CV, имеет опыт в перевозках
Тут, скорее, про то, что как раз вызвали такого водителя-дальнобойщика, и он действительно дисциплинированный, целеустремленный и даже водительское удостоверение нужной категории у него есть. Но вот, он приходит на собеседование, а у него спрашивают про алгоритмы, деревья и т.п… :)
В моем ВУЗе не было бинарных деревьев от слова совсем.
Тут надо понимать, о чем конкретно идет речь.
Одно дело, когда спрашивают написать двоичный поиск или инвертировать двоичное дерево (вопрос, на который не смог ответить Макс Хауэлл). Это действительно, элементарная задачка на рекурсию, весь код займет 5-10 строк. И не знать как ее решать действительно странно. Тем более что в гугле предупреждают о том, что там спрашивают такие задачки. Т.е. если человек не смог инвертировать двоичное дерево, это значит что он вообще не готовился к интервью, от слова совсем.
Другой разговор — задачки вроде "напишите балансировку красно-черного дерева на доске". Это ни 2й и не 3й и не 5й курс. Если вы в университете зубрили как балансировать RB-деревья, то у вас был странный университет.
Я уверен, что ни один нормальный человек не сможет сам такие алгоритмы придумать или по памяти это воспроизвести, если он специально для интервью не зубрил это.
> это значит что он вообще не готовился к интервью, от слова совсем
Мне вот это непонятно. Какой вообще смысл готовиться к интервью? Точнее не так. Почему результат собеседования зависит от того насколько человек к нему подготовился? Цель собеседования — понять насколько соискатель подходит на данную должность, разве не так? То есть если человек перед интервью вызубрил кучу алгоритмов/особенностей языка/порешал типовых задачек, которые могут быть заданы, он внезапно стал походить на должность, а без этого — не годился, так получается?
То есть если человек перед интервью вызубрил кучу алгоритмов/особенностей языка/порешал типовых задачек, которые могут быть заданы, он внезапно стал походить на должность, а без этого — не годился, так получается?
Речь скорее, кмк, об освежении знаний, чем о зубрежке.
Зубрить — не надо. Готовиться к интервью нужно, при чем готовиться должен как работодатель, так и соискатель.
Отвечая на ваш вопрос, "почему результат собеседования зависит от того насколько человек к нему подготовился".
Лучшие интервью, которые у меня были — это были интервью из серии "рассказите о проекте X из вашего резюме, какой стэк технологий применялся, какие были трудности в этом проекте, как вы их решили, что бы вы сделали по другому если бы решали эту задачу сегодня". У меня была пара таких интервью, результатом обоих был job offer. Никто не ставил под сомнение моё умение программировать.
Но тут надо быть реалистом и понимать, что гугл не может себе позволить такие интервью без изначального просева кандидатов. Что бы попасть в гугл, люди могут написать и придумать в резюме что угодно.
В связи с этим их политика заранее предупреждать, какие задачки будут задавать на интервью, по мне звучит наиболее логичным способом. По крайней мере, все кандидаты имеют возможность подготовиться. Это гораздо лучше, чем если бы они задавали случайные задачи, и люди участвовали бы в лотерее "умею ли я решать задачу на эту тему".
Отдельная история начинается тогда, когда веб-студии из 10 человек начинают задачать вопросы по двоичным деревьям, поленившись даже прочитать твое резюме. Есть тут такие компании на Хабре.
Но тут надо быть реалистом и понимать, что гугл не может себе позволить такие интервью без изначального просева кандидатов. Что бы попасть в гугл, люди могут написать и придумать в резюме что угодно
Так здесь же рассматривается обратная ситуация. Не кандидат пытается попасть в условный «гугл», а «гугл» обращается к кандидату и зазывает его к себе работать. Если этот конкретный кандидат им интересен не более чем любой другой, то зачем вообще его зазывать?
Все равно что рекрутер, две недели уговаривающий вас прийти на собеседование, потом на собеседовании спросил бы «почему вы хотите у нас работать?»
То есть если человек перед интервью вызубрил кучу алгоритмов/особенностей языка/порешал типовых задачек, которые могут быть заданы, он внезапно стал походить на должность, а без этого — не годился, так получается?
Я видел две крайности: собеседущий «подготовился» вызубрив «хитрые» книжки, API, алгоритмы. Пофиг что в проекте не используется вообще ничего из этого. Он же не хочет выглядеть в глазах Работодателя «неучем» и начинает тебя «пресовать» на собеседовании.
или
решал какую-то проблему в проекте последние месяцы, заглянув так глубоко, как только можно в недра кода и API и потом этой проблемой пытается тебя «пресовать».
Самое грустное в этих случах, когда на таких собеседованиях обнаруживается что знаешь тему лучше «собеседника» и пытаешься с ним общаться как с «равным»… Сразу в глазах у них читается «ну нахрена я спросил...» и попытки резко сменить тему :)
Ни одно из этого не помогает ни найму ни собеседованию.
А на собеседованиях моментально можно выявить того кто «заучил» или того кто понимает и применял на практике.
И не знать как ее решать действительно странно.
О чем я и говорю. Остальное — лирика.
Если вы в университете зубрили как балансировать RB-деревья, то у вас был странный университет.
Зубрить не зубрили. Если не изменяет память, АВЛ деревья и их балансировку проходили на 4м курсе, объяснять балансировку (т.е. помнить принцип) надо было при защите лабораторной.
Я уверен, что ни один нормальный человек не сможет сам такие алгоритмы придумать или по памяти это воспроизвести, если он специально для интервью не зубрил это.
Я уверен, что если человек помнит основные принципы, то сможет набросать алгоритм, декомпозируя сверху вниз.
Я проходил собеседование в Google в Mountain View пару месяцев еазад. И как ни странно, первый человек с которым я говорил — руководитель группы. Оказался очень приятным человеком.
К сожалению я не прошел по объективным и субъективным причинам. Во-первых не мой основной профиль (а гугл очевидно может себе позволить выбрать лучших 100% подходящих людей). И потом напоролся на собеседовании на нашего соотечественникам, который вывел меня из себя.
(Подавался на разработчика железа, может с программистами иначе)
И потом напоролся на собеседовании на нашего соотечественникам, который вывел меня из себя.<
Можете раскрыть тему? Звучит довольно интересно.
Это было 5 интервью один-на-один с разными инженерами. И остальные люди были очень милые, и я насладился общением с ними. Также я понимаю насколько это запарно быть интервьювером, потому что сам участвую в этом в своей компании.
На самом деле, я был приятно удивлен, что это собеседование было чисто техническим. Без дурацких головоломок, которым очень известен Гугл. Типа сколько ангелов танцуют на конце одной иглы, или сколько шариков для гольфа помещается в школьный автобус :)
Несмотря на то, что есть ненулевая вероятность, что этот человек будет читать эту статью и комментарии, все же выскажусь.
Во-первых есть такой принцип для сваливших в имиграцию: никогда не имейте дело с соотечествинниками. Потому что пост-советские люди часто следуют одному и тому же паттерну: никогда не помогать своим же, и даже наоборот. Мексиканцы помогают всегда друг-другу, китайцы и другие азаиты — очень дружные, индусы вообще — множество примеров когда целые отделы индусские, тащут друг-друга. А наши всегда полная противоположность. В любой вообще стране.
Потом, очень тупо просить воспроизвести решение на доске, которое делалось в проекте 10 лет назад.
Также очень тупо спрашивать что-то, в чем ты сам не специалист. Сейчас цифровая электроника делается с помощью языков Verilog/VHDL, интервьювер же признался что он этими технологиями не владеет. Я нарисовал общее решение, как я его сделал, но он попросил дальше его конкретезировать, на что ушло куча времени. В результате мое время кончилось и он сам нарисовал решение, которое никуда не годится — с анти-паттернами цифрвого дизайна (асинхронный клок внутри и схема тактуемая с провода, ох лол).
Еще очень тупо придираться к терминологии, особенно если используемая мной терминология даже есть в википедии (да, я понимаю что это не авторитетный источник, но все же).
И потом, если человек перед тобой много последних лет занимается каким-то технологиями, то не стоит вспоминать что ты делал 20 лет назад в дипломе, говоря о том что это тоже круто. Это выглядит нелепо. Я занимаюсь силовой электроникой, каждый день работаю с силовыми преобразователями, 100 кВт и выше. Имею представление о современных трендах и знаю как коммутировать транзисторы на токах в сотни ампер. Не стоит отрицать core experience.
Т.е. я никого не обвиняю. Я сам был не на высоте.
Потом, не знаю что повлияло на решение Гугла не продолжать со мной. Возможно он написал хороший отзыв. А они может посмотрели историю моего поиска (они ведь могут это сделать :) ).
Просто для себя я решил, что так себя вести на собеседованиях не буду.
Во-первых есть такой принцип для сваливших в имиграцию: никогда не имейте дело с соотечествинниками. Потому что пост-советские люди часто следуют одному и тому же паттерну: никогда не помогать своим же, и даже наоборот. Мексиканцы помогают всегда друг-другу, китайцы и другие азаиты — очень дружные, индусы вообще — множество примеров когда целые отделы индусские, тащут друг-друга. А наши всегда полная противоположность. В любой вообще стране.
Есть же бородатый анекдот.
повысил в резюме размер ожидаемой зарплаты — перестали задавать глупые вопросы
Даже банальный FizzBuzz или реверс строки из-за неудобного способа написания кода может вызвать у вас затруднения. Также крайне важно сразу держать в уме и излагать в редакторе граничные случаи.
Если онсайт в серьезную американскую контору — то писать код будете на доске. Почитайте книгу Cracking The Coding Interview, там как раз об этом говорится, и о необходимости заранее потренироваться с приятелем прорешать на доске алгоритмические задачи.
просто так компания оценивает ваши знания независимо от опыта, будь ты начинающий программист или с опытом. Второй момент, ресурсов полным
полно где можно узнать примерные вопросы на интервью, и соответственно подготовится, в той же книги «Cracking the coding interview» описаны те самые
компании и примерные вопросы.
— рекрутер предпринимает усилия затащить кандидата на собеседование (отсюда все эти «мы восхищены резюме» и 5-ти звездочный отель)
— рекрутер не заинтересован в правильном собеседовании — может закрыться вакансия (обидно, да), с которой он получает премии за поиск (отсюда нестыковки между реальными знаниями кандидата и вопросами к нему)
И не только с программистами это происходит.
Из личного опыта управленца (гм, похвалил себя) 95% собеседований происходят по такому же принципу
— «Ваше резюме нас впечатлило», приходите на собеседование
— при общении выясняется, что вообще никто не читал твое резюме
— и нет никаких вопросов по резюме от слова совсем, вопросы по заранее подготовленному списку
— 50% вопросов бредовые
Вот такая вот легкая форма шизофрении…
Что это показывает? Возможно, отсутствие понимания причин успеха на рынке. Либо отсутствие связи «качества» специалиста и финансовых результатов компании как такового. Ввиду монополии или иных (политических?) причин. Крутые специалисты могут быть просто «для имиджа» или «чтобы не задавали вопросов, почему з/п в этой компании в 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: С какого
Однако отсутствие ответов типа «цитата из книжки» ранозначно проваленному интервью.
Интервьюеру не очевидно, что вы именно тот профессионал, который им требуется.
Если вы пригласили «спеца» — покажите ему задачу, обсудите возможные решения. Если спец адекватный — он скажет «Да есть опыт, можем сотрудничать/Нет опыта, надо подумать»
Зачем мозг «расчесывать и любить»?
Сейчас мода на SOLID. А чего не на TOGAF?
Два вопроса для примера:
Вы хотите, чтобы я свои догадки изложил? Ну, их есть у меня, хотя я и не знаю зачем они вам :)
1 Cборщик мусора в .Net? какой смысл этого вопроса? Ты можешь им управлять?… В общих познавательных целях — полезно. Но при собеседовании на Web разработку?
Ну, я про дотнет не знаю, а в яве в какой-то степени им можно управлять, в смысле разные стратегии выбирать и чего-то подкрутить. Да, у меня как-то спрашивали про сборщик, это было там, где требовался хайлоад. Веб-хайлоад. Вроде бы, разумно. Я честно сказал — мои проекты до сих пор не требовали тюнить сборщик, поэтому о сборщике я знаю, что он есть, что их есть разные и их можно потюнить. Сразу после этого мне отнюдь не сказали — иди нафиг, а продолжили задавать вопросы по другим темам. Я не знаю что плохого в этом вопросе, если на проекте действительно хайлоад и нужда довела до тюнинга сборщика мусора. Смысл этого вопроса тогда — очертить текущие границы знаний и опыта кандидата. А потом решить — углубляться дальше в тему или нет.
2 Поддержка транзакций в RestAPI интерфейсе?… С какого хр… перепугу интерфейс определяет реализацию?
Я бы тут попросил уточнения, что они под этим подразумевают, поскольку в таком виде вопрос непонятный. Возможно им нужно было, чтобы вы спроектировали интерфейс внешнего управления транзакциями? Ну, там, на какие rest-запросы вы бы замапили команды start transaction, commit, rollback, end… По-моему, богатая тема для обсуждений. Заодно можно пообсуждать зачем такое вообще могло понадобиться.
Однако отсутствие ответов типа «цитата из книжки» ранозначно проваленному интервью.
Впрочем, я не исключаю и случай интервьюера-идиота. :)
Если вы пригласили «спеца» — покажите ему задачу, обсудите возможные решения. Если спец адекватный — он скажет «Да есть опыт, можем сотрудничать/Нет опыта, надо подумать»
Если мои догадки верны, то вопрос номер один и был про опыт, а номер два — задача с обсуждением возможных решений. Не?
Зачем мозг «расчесывать и любить»?
Возможно вы просто не поняли друг-друга?
Сейчас мода на SOLID
На вопрос про SOLID я, отвечаю, что я читал про него, знаю, что L — это принцип Лисков, про который я помню только потому, что этот Лисков в мужском роде, хотя она и Бабра. Ещё могу рассказать про букву S. В этом месте говорят, — нет, не надо… :)
Если мои догадки верны, то вопрос номер один и был про опыт, а номер два — задача с обсуждением возможных решений. Не?
Не. Обычно порядок собеседования выглядит так:
1. Кто вы такой?
2. Что вы делали?
3. А не врешь ли ты? А дай-ка я «порасчесываю» тебе мозг! Вот тебе пачка дурных вопросов про круглые люки, алгоритмы, сбощики мусора и прочую хрень.
4. Ну, если ты еще не запарился, то, так и быть. можешь спросить про проект и, может быть, мы тебе расскажем как мы дружно и весело кушаем печеньки а в перерывах иногда «кодим» что-то, на что нету ни требований, ни криетриев приемки. У нас же SCRUM и штатный телепат пытается угадать «хотелку» клиента…
На моей памяти, только два раза было внятное объяснение какой проект и чего от кандидата ожидают в рамках проекта. Тогда можно было разговаривать с адекватными людьми в рамках одного контекста/глоссария.
Ну, вероятно, мы с вами в очень сильно разные компании на собеседования ходим :). Я, конечно, попадал и в очень странные ситуации, но, как правило, всё происходит в высшей степени адекватно. В самом начале крайне подробно рассказывают о компании-проекте, иногда настолько подробно, что не могу даже для порядка потом вопрос придумать какой-нибудь, когда спрашивают остались ли вопросы. Техническая часть тоже очень корректно происходит. Вощможно, потому, что меня не оскорбляют просьбы написать какой-нибудь двоичный поиск. Про люки, да, про люки ни разу не спросили! А ведь у меня есть ответ, как у бывшего сантехника :). Везёт же мне, как послушаю как другие страдают — оторопь берёт.
Тут у меня случался "инсайт", я замолкал, минуту чертил на бумажке и, ага, вот же оно! Тогда меня отсеяли, возможно решив, что я читерствовал и нагугливал параллельно решение (собеседование было по скайпу и даже без видео, и было не видно, что я не подглядывал, а чиркал на листочке).
Так для этого надо просто стараться помнить, что с той стороны тоже человек, и как-то минимально комментировать свои действия. Выглядит это действительно странно — человек писал код, а потом замолчал, стер всё и начал писать другой код. Я на такое натыкался.
— Ну, в основном на собеседованииях
— о_О
— Ну а Вы сами можете привести другие примеры?
— Да много где, стыдно этого не знать, например в… ээ… хмм, ладно, перейдем к следующему вопросу…
1. Такие компании как Гугл знают о вас все. Историю поиска, посещения сайтов и т.д. Почему же отбор кандидатов такой неэффективный и стрессовый в век Big Data?
2. У нас тут в деревне Силиконовке вызвать инженера-консультанта к себе в
Монстры типа гугла должны перестать быть жлобами и начать уже платить апликантам сопоставимые деньги, когда они привлекают человека на on-site interview и убивают целый день. Далеко не все сидят на зарплате, и далеко не у всех есть лишний оплачиваемый выходной.
Так глядишь они начнут думать как сделать само интервью короче и эффективнее.
Мне вот в очередной раз вспоминается, как я впервые обнаружил у Facebook страницу, где опубликованы мои предпочтения. Вернее, то что они считают таковыми. Я большего бреда, откровенно говоря, никогда не видел.
А скажем Билайн? Ну казалось бы, у них же есть детализация моих расходов на связь за много лет, они должны точно знать, что кроме мобильного интернета я практически ничем не пользуюсь? Вы что думаете, это сильно мешало им регулярно предлагать мне более дорогие тарифы с безлимитными звонками?
Иметь о вас информацию, пусть даже всю, и уметь делать из нее выводы — все же несколько разные вещи.
Если у меня мать-пенсионерка тратит на связь 15-20р в месяц (нокия чернобелая и десяток-полтора звонков в месяц исходящих), то ей предлагают «Пакет 100 минут за 50р»
Если отец тратит 100р, то ему предлагают за 190р в месяц, причем «Пакет 100 минут за 50р» из примера выше ему недоступен, так как это «персональное предложение». Хотя подключить его было бы выгодно. Очевидно, что это предложение только для тех, кто тратит МЕНЬШЕ полтоса.
У меня тариф за 800р, так ни разу не пришло предложение «подключи бла-бла всего за 390р/мес», но несколько раз были какие-то заманушки тарифом за 1200р. Хотя прекрасно по детальке видно, что у меня и минуты и смс и интернет — всего еще довольно много остается неизрасходованным. А при тарифе за 1200р будет оставаться не 30%, а половина.
Ведь и Facebook же тоже нужно мне продать рекламу. Как они собрались ее продавать, если не знают, что мне нужно, а что я терпеть не могу? Правда-правда знают все-все? А какого черта в моей рекламе недвижимость Санкт-Петербурга (а почему не Парижа, в самом деле)?
Или еще лучше — товары для молодых мамаш? Я что, похож на мамашу? А-а-а, это типа у меня среди друзей такие есть — видимо мне может быть интересно тоже самое, что интересует их? Так в этом и таится та самая проблема, о которой я и написал — что такие выводы делать нельзя, и их может сделать только дурацкий недо-ИИ, на базе анализа BigData. Нормальный живой человек никогда не сделает вывод, что мне может понравиться абстрактное «тоже самое», что и моим друзьям в соцсети — потому что человек-то как раз понимает, что нету никаких абстрактных друзей, а есть конкретные и очень разные.
У меня очень похожая история с VMware. Позвали на "собеседование" в Афины, для набора штата в Софии. Тоже всё оплатили, перелёт, гостишка. Но вот сами собеседования (их было подряд штук 5) с разными людьми, каждый следующий из которых знакомился со мной заново, были ужасны. Задаваемые вопросы никак не раскрывали меня как сениора программиста. Да куда уж там, вопросы были такие, что любой джун ответил бы.
Абстрактно я перефразировал весь день собеседований в нечто такое: "Вы хорошо знакомы с математикой? Да. Сколько будет 2+2? Хех, 4. Хорошо, а 2х2? Ответ тоже 4. Спасибо, к сожалению, Вы нам не подходите, у Вас слишком базовые знания математики."
Есть один момент, на который я хочу обратить ваше внимание со стороны интервьюера. Во время собеседования мы можем задавать на ходу придуманные вопросы или задачи, но мы не судим по результату выполнения. Наши главные задачи, это насщупать в чём кандидат силён, любит ли он делать то, что он делает и совместимы ли мы для работы в нашей команде. Если всё ок, то остальному он научится на рабочем месте очень быстро.
BTW: We are hiring. DevOps, Cloud Foundry, Tokyo, relocation.
Во время собеседования мы можем задавать на ходу придуманные вопросы или задачи
…
Наши главные задачи, это насщупать в чём кандидат силён, любит ли он делать то, что он делает и совместимы ли мы для работы в нашей команде
Вполне может быть разочарование не задачей, а тем что «не поделись тем, что курили когда придумывали задачу» :) Интонацией т.д. Как можно оценить «адаптивность» к новому в течении 2..4 часов стресс-общения?
Расскажите лучше как там в Токио работается :-)
На алгоритмы было только одно интервью. Остальное — решение гораздо более практических задач с нюансами, о которых обычно знают только опытные инженеры, либо были разговоры о технологиях/подходах, которые использует компания в своей инфраструктуре. Чем опытнее вы себя оцениваете, тем сложнее задают вопросы.
Вот пример описания такого интервью от кого-то в интернете:
http://lambda-startup.com/recruitment-process-for-a-google-job-sre-site-reliability-engineer/
У Гугл и других компаний есть вполне четкая позиция почему их интервью выглядят именно так и это можно нагуглить.
Непонятно зачем отвечать ХР-у. КМК, отвечать есть смысл только для того чтобы записаться на собеседование. В остальных случаях просто жмакаем DEL.
Ясно же что ХР это просто спам-бот + небольшая пост-обработка. Резюме он не читал и в детали не вникал. Просто пробежал по ключевым словам.
Его даже троллить бессмысленно, вы ж не будете троллить, например, кофеварку, хотя она до фига интеллектуальная.
Можно, наверное, приехать к ним и устроить чатик-кроватку ИРЛ, но для этого надо быть троллем уровня БОГ.
Тогда это фраза казалась смешной.
В свое время пришлось поработать в авиации на работе связанной с безопасностью полётов. Тогда все специалисты каждые 5 лет повторно проходили месячный курс обучения и экзамен на обслуживание техники с которой работали. Я видел специалистов которые работают по 10-15 лет знают отдельные сложные моменты гораздо глубже преподавателя и иногда не могут вспомнить элементарные данные. Это свойство человеческой памяти забывать не используемое.
Если знать, что будут спрашивать на собеседование, часто можно за полчаса обновить необходимые знания.
Но нужно ли это рекрутерам?
Взгляд изнутри (Амазон): всех честно предупреждают перед интервью что надо в памяти освежить (в основном data structures). Если ты это проигнорировал, то есть конечно вариант что на смекалке выедешь, но не факт.
Резюме все кто проводил интервью читали, но как известно писать резюме все умеют, а код нет. За 3 года я провел достаточно интервью и видел людей с 10+ годами опыта которые таки fizzbuzz не могут написать. Проверяется не конкретное знание каких то специфических алгоритмов а твое понимание как это должно работать. Заучивать без понимания как раз не стоит.
Ещё сильно зависит от твоего опыта (джунам одно, спецам другое, а архитекторов у нас нет) и места (в Сеаттле больше бардака, в региональных оффисах попроще).
- 2007: "Программистам не нужно знать математику!"
- 2017: "Программистам не нужно знать алгоритмы!"
- 2027: "..."
Никто не знает, когда вдруг понадобится балансирование BST.
«Меня только что попросили сбалансировать двоичное дерево поиска в аэропорту»
В первом интервью обстояло так: пришли пару парней-технарей, которых явно от чего-то отвлекли, и жутко болтливый HR. Я час решал какие-то посторонние задачки, парни каждый уставились в свой ноутбук, всё было гладко и позитивно. За исключением того, что в этом не было никакого смысла.
А рекрутёры Яндекса говорят прямо: после первичного интервью вы приглашаетесь к нам в офис. Интервью займёт всего 4 часа. Первичное интервью всего 4 часа… Я ни разу не ходил и не хочу. Видимо, ищут тех, кто за бренд готов пройти это (и, возможно, получать меньшую, чем на рынке, зарплату).
Почему я игнорирую рекрутёров Google