Pull to refresh

Comments 172

> «Director of Engineering»
Зачем таким должностям вообще HR-скрининг? Если только за жизнь поболтать.
Возможно, потому что Гугл платит сильно больше? А если и нет, то после Гугла — лимита зарплаты нет?
Оценка человеческих качеств, что важно.
Гугл становится майкрософтом не только в плане корпоративной политики и монопольной борьбы против своих пользователей. Он ещё и качество разработки дотягивают до уровня майкрософт.

Вот интересно, с чего вы решили, что качество разработки у Гугла плохое после прочтения одного интервью? И еще более интересно, с чего вы взяли, что качество разработки у Майкрософт плохое? Количество кода на гитхабе не является для вас критерием?

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

Этот случай единичный. Может с рекрутером не повезло. И по нему нельзя сделать вывод, что в других подразделениях гугла все так же плохо.

Попрошу майкрософт не оскорблять, многим у них еще качеству учиться и учиться
Обана! А с каких пор количество кода является критерием качества? Ну, а про качество разработки (не кода) можно у Джоэля Спольски почитать.

Среди этого большого количества достаточно много и качественного кода. Да и качество может сильно влиять от подразделения и проекта. И из этого не следует, что у Майкрософта все плохо. И о чем же писал Джоэль Спольски?

С чего вы решили, что мнение о качестве разработки у него сложилось именно после этой статьи?
Гуглопродукты далеко не лучшего качества, несмотря на бюджеты.
Скорее опускаются до майкрософт, а не дотягивают.
всякое бывает. Мне на одном собеседовании в крупной компании первым вопросом задали чем RISC от CISC отличается, при этом предполагалось что собеседование по iOS разработке (и уже были отдельные на общую грамотность, по алгоритмам и на написание кода на листочке) и ассемблера в их требованиях не было (это если не говорить про то что как бы проц ты вообще не можешь выбрать). Причем опыт разработки в этой области у компании есть (уточняю т.к. когда-то давно попадал в одну компанию где мне дали тест на проверку знаний C++, со словами «ну это же почти то же что и ObjC», но у них хотя бы опыта в этой области вроде как не было)
Изначально неправильно проводить техническое интервью рекрутерами. Нельзя полноценно оценить ответ, если вообще не понимаешь сути заданного вопроса. Правильнее обзванивать кандидатов и записывать ответ, который будет потом оцениваться специалистами.
Когда я проходил скайп-собеседование в Яндекс, то мне человек по ту сторону монитора сразу сказал (хоть сам и являлся техническим специалистом), что он не сможет мне сказать правильно ли я отвечаю на вопросы, или же нет, потому что всё собеседование будет записано, и потом мои ответы будут анализироваться сразу несколькими сотрудниками. И, соответственно, сразу же во время интервью он не сможет мне сказать его результат. Я удивлен что в гугл не так. Этого «интервьюера», с таким подходом, можно легко было заменить на обычный онлайн тест.
Все как у нас — посадят тупую девочку-HR с завышенной самооценкой, которая ничерта не знает в тех областях знаний, которые собеседует, дадут ей бумажку с «правильными» ответами и вперед, унижать и властвовать, повышать выше свою самооценку еще выше
У нас — это у нас в стране? Я встречался с таким только в одной компании — в Badoo — там действительно самое первое техническое интервью проводит HR по телефону. И, на сколько я понял, они выискивают в ответах кандидата какие-то ключевые слова, упоминание которых, автоматически делает ответ правильным. Во всяком случае, мне так показалось :)
А где это у вас? У нас в стране за пару-тройку десятков интервью ни один кадровик-кадровичка не пытались провести техническое интервью. Они все были достаточно умны, чтобы понимать, что не годятся для этого. А их наниматели тоже были достаточно умны, чтобы не требовать от них квалификации разработчиков. Максимально технический вопрос — расскажите об используемых вами технологиях, фреймворках, библиотеках, — там в процессе рассказа, они, я так понял, галочки проставляют :).
Расскажите, что за конттры такие, которые кадровичек техинтервью заставляют проводить? Пхп-уеб-студии?
Пхп-уеб-студии?


Там есть кадровички?
UFO just landed and posted this here
В крупных — да, много бюрократии. Но вот студия в квартире с кадровичкой — случай очень редкий.
У нас в компании 20 человек, но кадровички нет. И так практически у всех, у кого менее 50 программистов.
Я видел случаи когда это работало. Правда, с поправкой — девочка там была не тупая.
Не знаю, я ходил на собеседования на программиста и везде я общался либо с непосредственным будущим начальником, либо HR и IT специалист (ы).

Не обязательно быть тупой девочкой-HR с завышенной самооценкой, чтобы унижать и властвовать.


Ходил я как-то на собеседование на должность помощника сисадмина, — требования минимальные (зарплата тоже), по сути на подхвате быть, пока знания и навыки не проявишь для чего-то большего. Собеседование проводил то ли сам руководитель ИТ-отдела, то ли кто-то типа того. Это был парень на несколько лет младше меня, — видимо, данное обстоятельство и зародило в нём предубеждение: как же, соискателю уже за тридцать, а тот ещё не только не начальник отдела, но, наоборот, претендует лишь на младшую позицию. Ну, поговорили мы вроде мило, я думаю, что сейчас ударим по рукам, и вдруг интервьюер заявляет, что я показался ему настолько бесперспективным, что он не видит смысла брать меня даже в подмастерья, и вообще, что я со своим опытом работы в организациях до 50 человек никоим образом не подхожу для фирмы со штатом 500 человек. Неужели замена картриджей, протяжка и обжимка кабелей, первая линия техподдержки требуют скиллов 80-го уровня? Ладно, хозяин — барин, ему виднее, я не навязываюсь.


На прощание несостоявшийся начальник, видимо, желая наглядно продемонстрировать мне мою же безнадёжно низкую осведомлённость даже в самых фундаментальных вещах, задаёт вопрос: «Сколько килобитов в мегабайте?» (точные приставки не помню, но смысл тот же). На мою ремарку: «В общем случае, it depends, смотря какой килобит и какой мегабайт», — он лишь снисходительно улыбнулся: «Ну вот, видите, вы даже в таких элементарных понятиях плаваете». Когда я попробовал намекнуть, что приставки кратности имеют не только десятичный смысл, но и двоичный, он как будто слегка удивился и заявил, что имел в виду, конечно же, десятичную шкалу и никакую другую (это на моей памяти был первый компьютерщик, а не связист, кто открыто заявлял о своей ориентации на десятичную шкалу по умолчанию). После этого я совсем уж осторожно напомнил, что байты, в отличие от октетов, в общем случае могут иметь более или менее 8 битов, — реакцией на что было нечто среднее между «Да ладно?!» и «Ну, это какая-то экзотика / фантастика», — и тут у него очень кстати зазвонил телефон, что послужило сигналом к завершению встречи. Я пошёл домой и возрадовался, что не попал туда: гораздо хуже было бы сначала трудоустроиться, а только потом осознать, что работаешь под руководством человека (а) пугающе некомпетентного, (б) желающего показательно ткнуть подчинённых носом в их некомпетентность, (в) искренне полагающего, что существует только один правильный ответ — именно тот, который известен себе любимому, (г) когда всплывают контр-примеры, сводящего дискуссию к «Ну ты всё равно сам дурак, короче!».


Повторюсь, собеседование вёл технарь, действующий сисадмин на немаленьком предприятии, который по ключевым словам типа «CCNA» в резюме вроде бы должен представлять себе уровень кандидата. И, что примечательно, похожий опыт у меня до этого был в другой компании аналогичного толка — несколько сотен персонала, десяток админов, работа грязная, предлагаемая зарплата небольшая, — интервьюеры из числа коллег тоже воротили нос, мол, что-то я их не впечатлил. Вопросов уже не помню, но, учитывая, что речь шла о «младшем помощнике старшего дворника», мне аж до сих пор интересно, каких таких сверхъестественных ответов они ожидали, или, скорее, какие из моих ответов могли пойти вразрез с их представлениями о единственно правильном варианте.


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

Автор конечно прав. В данном случае квалификации HR явно не хватало на что-то большее чем чтение вопросов с бумажки и сравнение ответов с правильным. Но всё же похоже на легкий тролинг со стороны автора. Я думаю автор понимал что от него ждут. На большинство вопросов можно было дать вначале общий ответ а потом углубляться в детали.
Какая функция Linux берёт путь и возвращает индексный дескриптор?

Зачем заниматься буквоедством? Возвращает это не значит именно return, если функция заполняет переданную структуру — это вполне себе способ возврата. Ответил бы что-то вроде «дескриптор по пути можно узнать с помощью разных функций, например stat, fstat, etc.).
Как называется сигнал KILL

Возможно имелось ввиду какой сигнал по умолчанию посылается kill-ом? Хотя странный вопрос.
Почему Quicksort является наилучшим методом сортировки?

Мог бы просто рассказать почему quicksort один из лучших универсальных сортировок, а не спорить с HR-ом. Надо уметь определять с кем общаешься — с техническим специалистом или обычным кадровиком.
Имеется массив из 10 000 16-битных значений; как наиболее эффективно сосчитать биты?

Почему бы просто не перечислить все известные методы? Тем более что метод Кернигана является эффективным только если большая часть бит нулевые. В среднем случае lookup таблицы быстрее.
Какой тип у пакетов, которыми обмениваются для установления соединения по протоколу TCP?

Начинать ответ с бинарных кодов несколько странно. Почему бы вначале не назвать стандартные имена операций, а уже потом уточнить коды?
UFO just landed and posted this here
Умение определять технический уровень человека, с которым происходит разговор — это очень важный навык. И уж тем более если должность подразумевает управление. Нужно понимать когда кому и как что-либо объяснять. Если своему коллеге можно объяснять технические детали, то, к примеру, менеджеру или HR-у лучше рассказать всё в общих чертах.
Поэтому я и написал что больше на тролинг похоже. Автор явно понимал с кем он говорит и чего от него ждут, но, по какой-то причине не стал играть в эту игру. Возможно просто работа не нужна была.
А что за идиотизм поручить HR-у проводить техническое собеседование?
В Москве тех.собеседование проводят технические специалисты или начальники отделов всё-таки. Хотя часто встречаются вопросы про вещи, которые никому на практике не нужны, это да.
Вопрос можно поставить так — а надо ли прогибаться под HR-ра или лучше оставаться собой, если работа все-таки нужна? Как лучше — прогнуться в конкретном случае и получить конкретную вакансию или остаться самим собой и возможно получить вакансию лучшую, но пока неизвестную?
Если «опустится до уровня собеседника» — это прогнуться, тогда лучше не идти на управляющую должность, ибо «прогибаться», а точнее искать компромиссы придется часто. И если вместо того чтобы решать проблемы заниматься тролингом из за тонкого душевного устройства — ничем хорошим это не закончится.
Про тролинг, возможно, Вы правы. А вот насчет того, что прогибаться под собеседника — это плюс к квалификации руководителя, не уверен…
Здесь не идет речь о прогибании. Из приведенного фрагмента интервью вполне очевидно, что соискатель специально отвечает таким образом, как будто пытается задавить HR интеллектом. Зачем это делать, если есть желание пройти интервью мне непонятно. Другое дело, если соискатель просто хотел потешить свое ЧСВ за счет кадровика (что уже говорит о его моральных качествах), но это маловероятно, так как в тексте явно прослеживается «обидка», что его, программирующего с 11 лет, не взяли в гугл.
Робота нельзя унизить, он следует программе и не испытывает колебаний. А если на месте робота был бы человек, он был бы рад узнать что-то новое, он сам бы спросил соответствие между символьным и двоичным обозначением заголовков пакетов. Попросил бы привести примеры, когда quicksort не оптимален. И так далее.

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

Кто в вашем представлении собеседовал этого товарища? Junior developer?
HR не знает, что такое quicksort — ему это не нужно. А соискатель как будто не понимает с кем он говорит. Почему нельзя было сразу сказать «потому что хорошая оценка big-o, но вообще он не всегда оптимален»?

Утрируя стиль ответов этого товарища, можно было с тем же успехом отвечать так:
— Почему Quicksort является наилучшим методом сортировки?
— Не всегда стоит применять алгоритмы сортировки. В зависимости от решаемой проблемы может быть лучше использовать другой подход.
Да нет такого понятия, как лучшая сортировка. При определённых условиях, например, сортировка подсчётом будет асимптотически быстрее квиксорта.

Если у тебя нет квалификации выполнять работу — не выполняй её. Если от тебя требуют — увольняйся. Все здесь жалеют бедного несчастного HR. А чего его жалеть — не нравилась бы работа, уволился бы нафиг.
Да нет такого понятия, как лучшая сортировка.

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

Все здесь жалеют бедного несчастного HR

HR тут никто и не жалеет — повода нет, с квалификацией у него/нее все в порядке: он должен был отсеять этого товарища, он и отсеял.
Всё правильно. И товарищ тоже сделан правильно — опубликовал список вопросов, чтобы те, кто не смогут пройти этот хитрый тест, даже не брались. И преуспел в том, большой количество потенциальных соискателей осознали неадекватность своих знаний запросам корпорации бывшего добра.
Так автор вполне даже пытается «опуститься до уровня собеседника», объясняя, например, почему quicksort — не самый лучший метод сортировки. Только оказывается, что уровень собеседника, по-факту, ещё ниже — вместо непонимания или заблуждения обнаруживается железобетонная уверенность в своей правоте и нежелание ничего слушать. Пробовали когда-нибудь опускаться до уровня собеседника, который вас даже слушать не хочет?
Очень часто. Зачастую собеседник не готов вникать в детали, или вообще не готов слушать ваше объяснение — с этим тоже надо как-то уметь работать. Хотя уже возникает вопрос — стоит ли вообще с таким собеседником иметь дело.
Задаёт вопрос, а ответ слушать не готов? Обычно это не вопрос, а прелюдия к чему-то иному, замаскированная под вопрос. Хочет мама понудеть, потому что не в духе: «Уроки сделал?? — Сделал. — Попререкайся тут мне ещё, ах такой-сякой, вот ужо я тебе!...» Хочет начальник поорать, назначить виновного: «Петров, ты неделю назад на корпоративе до секретарши домогался? — Да я месяц в отпуске был, только вчера вернулся с Гоа! — Ааа, мы тут все работаем, как папы Карло, а он месяцами по Гоа разъезжает!...» Хочет гопник набить лицо и изъять материальные ценности: «Ээ, слыш чоа, закурить есть?» — что ни ответь, попытается набить лицо и изъять материальные ценности. Так вот на интервью подобный «вопрос» является прелюдией к чему? Как, например, вы обычно с этим «работаете»?
Объяснять человеку с гуманитарным образованием технические детали, из-за которых quicksort не всегда оптимален — это теперь называется «опуститься до уровня собеседника»?
И как hr по вашему должен был поступить?- Сказать «извините, ваш ответ звучит правильно, я, пожалуй выкину методичку, что мне дали и буду использовать ваши ответы как референсные»?
А надо было по телефону зачитать ему полный курс компьютерных наук за два первых курса профильного вуза? А собственное мнение по-поводу того, как должен был поступить hr, я, по счастью, имею полное право не иметь. А если бы всё же имел, оно было бы примерно таким:
1. В более лучшем из миров, где сферические пони в вакууме, если ты — человек с гуманитарным образованием, то ты не лезешь собеседовать тех, от кого требуется техническое образование.
2. В нашей суровой реальности, в данном конкретном случае, hr мог бы не тупить столь откровенно и попробовать переформулировать вопрос, типа «хорошо, а в каких случаях всё же квиксорт будет лучшим? а почему у него наилучшая оценка Big-O?» — да ведь и говорит жэ это же в конце, фактически, только уже с формулировкой «неправильно, вы должны были...»
3. В нашей суровой реальности, для общего случая, где не все вопросы про квиксорт, hr как угодно мог поступать, он сам тоже заложник общего идиотизма ситуации — претензии к тем, кто его ввёл в процесс интервью на данном этапе.
4. Ну и хотя бы вашисильныеслабыестороны почемувыхотитеименноунас не спросил — уже счастье.
1. Он и не собеседует. Это первичный скрининг, который занимает пару минут и отсеивает неадекватов (что, имхо, в данном случае и было успешно сделано).
2. Согласен, hr мог бы спросить в каких случаях, по мнению соискателя, quicksort все-же является лучшим.
С другой стороны, соискатель с его 40 годами опыта, если у него стояла цель пройти интервью, вполне мог бы с самого начала сказать «потому что у него наилучшая оценка big-o, но вообще говоря, он не всегда является лучшим» вместо того чтобы начинать спорить с методичкой.
Можно, в принципе, легко угадать, какой именно ответ на 8-й вопрос хочет интервьюер (ну это если хочется поесть говна в прямом эфире… прошу прощения, оговорился — имел ввиду, если хочется показать себя «адекватом»). Если бы интервью проводилось в формате дискуссии, можно было бы, наверное, угадать 10-й (если бы hr не морозился, а спросил что-то вроде «а другие названия у них есть?»). На этом всё, мне кажется. Если бы в дискуссии участвовал технический специалист, в принципе, 9-й вопрос неплох, но он требует понимания, полное безумие вписывать его в методичку кадровику. Я всё сказал, не вижу смысла продолжать дискуссию — давайте останемся каждый при своём.

P.S.: нет, не всё сказал — главное забыл. Программист с 40 годами опыта должен слепо внимать и не уметь отстаивать собственное мнение, это «адекватность»? Ну тогда не знаю. Теперь все.
Программист с 40 годами опыта, претендующий на должность технического директора должен понимать когда и перед кем уместно его отстаивать: тому, кто его собеседовал даже и невдомек, что перед нем/ней там кто-то что-то отстаивал, а у самого отстаивателя теперь вселенская обида, что его такого умеого и программирующего с 11 лет, не взяли на работу.
1. У нас был препод в ВУЗе, абсолютный неадекват. Задавал задачи из задачника, никому не давал методичку, и ставил неудовлетв. оценки только за то, что решение задачи было «не как в решебнике». Человека никак нельзя было убедить в том, что решение задачи путем программирования может иметь несколько правильных решений и совершенно невозможно было убедить в том, что угадывать «правильное» решение из множества правильных неблагодарная задача. При том, каждая задача при решении должна была выдавать определенный численный ответ, и этот ответ совпадал с тем, что был дан в учебнике.
В конечном итоге, препода сняли, когда, по жалобе студентов, устроили «открытый семинар» и препод, в присутствии других преподов (смежных предметов) продолжал гнуть свою линию и ставить неуды за «неугаданные» решения…
Вам еще повезло — наш преподаватель по системотехнике требовал помнить не только названия управляющих линий, но и их порядок в 16-битном регистре (вроде как абстрактной машины). Как оказалось, в 70е годы их коллектив придумал какую-то хитрую оптимизацию типа вычисления математической функции от регистра ввода вместо побитного анализа — которую, разумеется, нельзя повторить ни на какой другой машине — и он страшно этим гордился.
А зачем прогибаться? Тем более под Гугл?? Этот самый Гугл постепенно превращается в натуральную клоаку. Заниматься внутри скорее всего придется какой-то гугло-фигней, которую скорее всего в итоге сольют, как теперь они часто делают. Денег другие компании платят не меньше. Так что ничего особенного в этой компании нет. А еще и учитывая кто и как проводит там собеседования — это полный ахтунг.
Мне как-то самому стало интересно ради процесса пособеседоваться там (я время от времени это делаю для сохранения формы). Так вот в Гугле меня тоже собеседовал непонятно кто. Порой реально идиотские вопросы, порой вопросы для джуниора. В итоге мне стало тоскливо, и просто сказал спасибо-до свидания. Надоело время тратить, ибо не люблю беспредметные интервью — в моем понимании все должно быть по делу, по позиции. Хотя из-за этого тоже перегибы бывают.
Как-то при собеседовании в Блумберг (а меня собеседовал тимлид проекта, куда нанимали) я выразил несогласие с реализацией одного из архитектурных компонентов. Ну это было просто неправильно сдизайнено, абсолютно ошибочно (это в трейдинге, а в нем у меня огромный опыт). Так вот тот тимлид на меня явно обиделся, аж в голосе поменялся. Ну и естессно результат — кто ж возьмет более умного, чем лидер команды. :) (Вот туда у меня был интерес устроиться — там вкусные зарплаты и бонусы). Но имея в виду тот уровень, как они дизайнят приложения — уже не хочу. Денег не надо — нервы и принципы дороже.
А вообще, интересно заниматься чем-то на грани возможностей техники — как в былые времена, когда шлифовался код под 3-5МГц процы и 16-32Кб оперативы. :) И такое место есть, и населено оно лучшими из лучших — просто кайф работать день за днем с такими людьми. Гугл там явно рядом не стоял.
Автор выиграл сражение, но не получил желаемую работу.
UFO just landed and posted this here
Зачем заниматься буквоедством?

А почему бы и нет? В man 2 stat сказано:


RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

Если это сказано в мане, это ясно из реализации, то что-то не так с тестами, а не с автором?

А почему бы и нет?

Потому что это не красиво по отношению к собеседнику. Представьте ситуацию: к вам подходит джун и спрашивает «подскажи функцию которая по пути к файлу вернет дескриптор». Вы что — ответите ему «Извини, но такой функции в linux-е нет.»? Или может всё таки «посмотри на stats, она позволяет получить атрибуты и в том числе дескриптор»?
Полагаю собеседование проводилось на английсоком, и вопрос звучал как-то так:
«What unix function return file descriptor?»
Вполне можно понять вопрос буквально, что интересует именно дескриптор возвращаемый через ретурн.
В C и многих других языках без поддержки возврата нескольких значений вернуть значение можно через аргумент указатель. Это тоже самое возвращаемое значение из функции, ее результат. Это должно быть очевидно любому программисту. Очевидно, что когда тебя спрашивают, то стоит вспоминать и такие функции, а вот придирки к словам выглядят некрасиво и с такими людьми лишний раз просто не хочется иметь дело. Если уж так мозги повернуты странно, то лучше спросить, считается ли возврат через указатель в аргументах.
> Если уж так мозги повернуты странно, то лучше спросить, считается ли возврат через указатель в аргументах.

Этого вопроса в алгоритмах робота не заложено, отклонить!

В статье есть ссылка на…
"What Linux finction takes a path and returns inode?"


Ответ бы вполне резонный "такой функции нет".
Но и немного трольный… потому, что можно было сказать (добавить), что inode можно получить вызовом stat.


Но вообще видно, что HR совсем не в теме и все по бумажке.

Вот только у этого кадровика не было цели узнать ответ на вопрос. И именно он/она поступили по свински по отношению к собеседнику минимум в предыдущем вопросе.
Похоже, гуголь отдал hr на аутсорс каким-то отморозкам :)
UFO just landed and posted this here
>Мог бы просто рассказать почему quicksort один из лучших универсальных сортировок, а не спорить с HR-ом

А мог сказать что вопрос некорректный.

>Почему бы просто не перечислить все известные методы?

Потому что в вопросе ясно просят наиболее эффективный?

>Начинать ответ с бинарных кодов несколько странно

Для одного странно, для другого нормально. Оба варианта правильные. Тебе правильность важна или нестранность?
Мог бы просто рассказать почему quicksort один из лучших универсальных сортировок, а не спорить с HR-ом.
не получилось бы. Простой и понятный ответ: «потому что на обычной несортированной последовательность quicksort быстрее других алгоритмов, основанных на сравнении 2х элементов» не содержит термина «О-большое».
Ответ, использующий этот термин, начинался бы с «не смотря на то, что формально сложность алгоритма quicksort O(n^2), хуже чем у того же heapsort (O(n*ln(n))), при выборе для разбиения случайного элемента реальное количество сравнений и обменов приблизится к n*ln(n)....» и на этом месте интервьюер сказал бы «неправильно, сложность quicksort O(n*ln(n))»
Простой и понятный ответ — «У quicksort средняя сложность O(n*ln(n)), в отличие к примеру от bubble sort у которого средняя сложность O(n^2)». И если охота продемонстрировать большую глубину знаний — то уже в конце добавить про heapsort и худший случай, или про алгоритмы не основанные на сравнении.
Это простое и понятное утверждение, но это не ответ на заданный вопрос. Автор имел в виду как раз то, что меньшая оценка сложности алгоритма в О не является достаточным основанием, чтобы считать его лучшим.
Поначалу показалось, что статья написана (я знаю что это перевод) человеком, который оскорблен отказом. Скорее всего, так и есть. Жизненный опыт и квалификация позволило хорошо затереть этот момент. Но он не исчез полностью, даже после перевода.

Признаться, другого именно от кадровиков ждать не приходится. Они не разбирались и не будут разбираться во всех профессиях, по которым проводят процедуры найма.

Удивляет в ситуации вовсе не то, что кадровик задает эти вопросы. А тот, как подготовлен опросник для кадровика. Очевидно, что это делал специалист. Но какой и для кого? Цель таких опросников — отсеять заведомый мусор, а не провести полноценное техническое собеседование. Ясно, что автор опросника что-то напутал. А кадровик — просто попугай, которого снабдили опросником, правильными ответами и некоторыми расшифровками ответов.

Птичку жалко.
Если у тебя такой опыт в IT, а какая-то девчушка говорит тебе иди какую-нибудь книжечку по ТСP/IP и UNIXам почитай «поскольку очевидно, что у вас нет требуемых знаний для написания или анализа сетевых приложений.» butthurt вполне объясним, автор еще вообще как святой себя повел.
Скорее всего опросник был предназначен для программистов, интервьюирующих коллег — для того чтобы поставить кандидатов в равные условия. Потом процесс «оптимизировали», передав HR.
Мог бы просто рассказать почему quicksort один из лучших универсальных сортировок

Знаете, автор ответил совершенно верно — что не бывает лучших универсальных вообще. Нужно понимать условия задачи, чтобы утверждать это.


а не спорить с HR-ом.

Так об этом и речь. Не много ли кадровик на себя берет?

> Но всё же похоже на легкий тролинг со стороны автора. Я думаю автор понимал что от него ждут.

Конечно, автор мог прикинуться дурачком и пройти собеседование. На зачем ему это делать? Всё что он смог бы выиграть таким унижением — это привилегию работать в одной команде с настоящими дурачками, не прикинутыми.
Если HR не знает бинарных кодов SYN / ACK — это совершенно не значит что в команде будут работать «настоящие дурачки». Я согласен что в данном случае имеется проблема с процессом отбора кандидатов, но из этого автоматически не следует что в компании всё плохо и там работают одни идиоты.
Если команду набирал этот же HR, то критерием её формирования будет не технический профессионализм, а умение быстро оценить уровень и ожидания собеседника и повести себя так, чтобы это произвело нужное впечатление. Команда будет не из дурачков, а скорее из не очень честных «психологов».
Такое соседство тоже не всем нравится.
А в каких компаниях кадровик «набирает комаду»? Кадровик — это просто первичный фильтр. Набором занимаются другие люди. Ну и, кстати, лучше, если этот фильтр по ошибке не пропустит хорошего кандидата, чем будет пропускать плохих.
Разумеется, кадровик — только первый этап при наборе команды. Мысль в том, что через этот этап пройдут не самые сильные технические специалисты, а люди, обладающие определенными навыками коммуникаций. Специально ли так сделано или нет — я не знаю. Но если моя цель — работать с самыми лучшими техническими специалистами, то для меня это и не важно. Я туда не пойду.
Не хотите — не ходите. Желающих и так вагон. Я не знаю, что такое «лучший технический специалист» без элементарных навыков коммуникации. С автором статьи я бы очень не хотел работать в одной команде.
Причем тут унижение? Или кадровик должен жалко блеять и спрашивать и испытуемого «а как правильно, сенсей?»? Так что ли?

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

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

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

Так то с людьми. А ему пришлось общаться с роботом.

Я видел задачи ЕГЭ по информатике, и я счастлив что не застал его. Потому что мог бы и не сдать, тогда как устный экзамен сдал на отлично.

Позже мне тоже встречалась такая форма проверки знаний: преподаватель пишет учебник, а потом выдирает из него произвольное предложение и заменяет одно из слов вопросом что, чем, зачем и т.п. Задача ученика — правильно подставить нужное слово один-в-один. Иначе зачёт не принимается.

Для примера возьмём статью википедии по OSI. Получаются следующий вопрос на качество знаний:

Вопрос: Что происходит с сообщением, после того как физический уровень помещает его на физический выходной интерфейс компьютера 1?
Ответ: оно начинает своё «путешествие» по сети

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

Да, вопросы странные. Это комплименты автору самого вопросника. Что он хотел? Да кто его знает. Может он вообще ничего не хотел, а его попросил начальник. И он поступил как Вы пишете — содрал из учебника или энциклопедии.

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

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

С другой стороны, может они и не хотят никого принимать на работу? Но сказать публично об этом нельзя (котировки акций пойдут вниз, раз компания не развивается).
Тут выше говорили уже, что можно не давать оценку правильно/неправильно, а просто записывать всё что не прошло по методичке. А затем после собеседования давать записанное на проверку сотрудникам, которые действительно во всём разбираются. В отличии от собеседования, проверить 10-20 подобных ответов для знающего человека — дело пару минут (к тому же не требуются навыки общения с людьми и т. п.). И уже после этого перезванивать тем людям, которые прошли тест.
Если после кадровика ответы кто-то будет проверять, то нафига вообще кадровик нужен? Его задача — отсеять неадекват. Если при этом и несколько полезных отсеется, то небелика потеря — поток желающих слишком большой и так.
Такими вопросами можно невзначай отсеять самых полезных. Они могу решить, что не заинтересованы иметь коллегами тех, кто пройдет такой тест в таком виде.
Как вариант в телефонном тестировании проверяли не только технические знания, но и «стрессоустойчивость» кандидата — если человек спорит до хрипоты доказывая свое мнение, то он точно также будет работать в команде, продавливая свое мнение вместо того, чтобы прийти к компромиссу. Кто знает, может если бы в середине собеседования кандидат предложил сказанное вами (я понимаю, что тут есть несколько вариантов в зависимости от ситуации, не могли бы вы после тестирования отправить мои ответы одному из ваших техспецалистов?) — он бы прошел собеседование.
> В статье говориться о беседе с живым кадровиком, а не роботом.
С помощью кнута и пряника из живого человек можно сделать хреновенького робота. Чем гугл и занимается. Во славу Роботов!
UFO just landed and posted this here
С другой стороны, может они и не хотят никого принимать на работу? Но сказать публично об этом нельзя (котировки акций пойдут вниз, раз компания не развивается).

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

А кадровичка что не должна?
Её вообще-то нанимали не для того чтобы эта сука показывала гонор и мешала их с грязью!
О кадровике ничего такого в статье нет. Это уже впечатления читателей и проекция личного опыта. Он или она действовал четко по инструкции. Сказать, что ответ не верен (читай «не соответствует моей методичке») — это не перемешивание с грязью и не унижения. Это просто констатация факта.
Это просто констатация того факта, что кадровик или кадровичка туп(а) как пробка и вместо выполнения своей работы (общение с людьми) занималось унижением кандидатов. Видимо, потому, что понимала свою тупость и от злости отрывалась на других. Синдров вахтёра как он есть.
Речь о том, что в компании поручили собеседовать технического специалиста совершенно неквалифицированному в области задаваемых вопросов кадровику, у которого ответ в «единственно правильной» формулировке написан на бумажке, и который считает «если я не понимаю, что ответили, значит ответили неправильно». Сравнение с ЕГЭ очень даже уместно, только здесь вместо «выберите правильный ответ» по всем пунктам «угадайте, как сформулировал ответ автор теста».
Вообще странные вопросы…
Особенно в начале.
Я 15 лет занимаюсь графикой на низком уровне. Писал софтверное графическое api с поддержкой шейдеров.
Количество проектов на OpenGL уже даже не десятками измеряется. От мелких утилит, до больших игр и CAD.
Но я не смогу без документации даже инициализацию OpenGL под виндой провести. Я просто не помню наизусть все аргументы заполнения контекста. И никогда не ставил целью запомнить.

Я считаюсь неплохим специалистом по написанию драйверов для некоторых специфичных устройств работающих на uart. Естественно я постоянно сталкиваюсь в логах с кодами NAK и ACK. Но я не помню их значение в цифрах. Когда я анализирую лог — на втором мониторе открыта документация по протоколу к конкретному устройству. И читаю я данные по документации. Зачем мне это всё учить?

Доходит до смешного. Моя основная ОС — Linux. Я много программирую под Linux. У меня полно конфигов на Линуксе. И в отличии от винды — EOL здесь не 0x0D, а 0x0A 0x0D.
Но я постоянно забывают последовательно 0A0D или 0D0A. Каждый раз вспоминаю только по записи \r\n, помню что \n — это 13, а значит правильная последовательность это 0A0D.

По факту — я вообще очень мало помню справочного материала и в основном сосредоточен на принципах, а не деталях реализации…

Естественно, я завалю собеседование, где меня попросят написать код на листочке без документации.
К счастью, никто не просит…
Так никто и не просил бы проводить инициализацию OpenGL на листочке или вспоминать значения констант на доске. Дали бы задачу уровня школьной олимпиады по программированию и следили бы за ходом мысли и способностью написать пару циклов.
Попросят алгоритм Дейкстры, поиск кратчайшего пути в графе. )) Вы готовы?
UFO just landed and posted this here
Так об этом и речь.
И это противоречит описанному в переводе.
Наоборот: "\r" = CR = 0D и "\n" = LF = 0A, соответственно CRLF = 0D0A.
Запоминал следующим образом: буква r позже n. Соответственно, \r — 0x0D, \n — 0x0A.
Мне проще было по клавише запомнить Return
Зачем мне что-то запоминать, когда я могу легко посмотреть это в книге. — Альберт Эйнштейн
Мне однажды рекрутеры дали домашнее задание написать Page Rank на C++ (это то, чем в Гугле ранжируют страницы, типа назначают вес какой-то там, в зависимости от количества входящих и исходящих ссылок, само интервью было не в Гугл). Я был еще достаточно юн, чтобы не знать, что тех, кто выдаёт домашние задания надо сразу слать в пешее эротическое. Но при этом уже недостаточно юн, чтобы помнить что-то про графы, кроме того, что они есть (ну просто не приходилось с ними на практике работать вообще никогда, а в универе-то когда они были!). С++ тоже практически забыл, за ближайшую пару лет на нём ни строчки не написал. Сказали, на два-три вечера, ну а вообще на неделю, потому что понятно, что все занятые, не сразу время найдут. Если понравится, как написал задание — позовут на интервью. Написал. Звонит рекрутер: «Ой, они щас звонили, им так понравилось, прямо вообще, так хорошо написал — обычно, говорят, у них это задание никто хорошо не пишет!» Задание, вроде, несложное — не сказать что тривиальное, но и не rocket science, но ладно. Прихожу на интервью: «Напиши регексп, который выбирает из текста то-то и то-то. — Регексп. По-памяти. На доске. Вы там 2.7банулись, или как? (в резюме ни слова про регекспы и про задачи, которые требуют активного использования регекспов) — Ну хорошо, напиши SQL-запрос, который выбирает из набора таблиц то-то и то-то. — Нет. (в резюме ни слова про SQL и про задачи, требующие активного использования SQL) — Ну хорошо, назови команды Линукса, делающие то-то и то-то. — Не помню. — Ладно, давай на этом закончим интервью. Хотя нам так понравилось, как ты Page Rank написал. Но ты ни хрена ж не знаешь!!»

О… я такой же. Я 27 лет говорил на русском и украинском. Свободно мог переводить — как сурдопереводчик. За пять лет не использования — я понимаю частично и не могу говорить.
Я писал на с++, ассемблере и сейчас помню 0. Школьную программу — думаю 0. Недавно перечитал биологию все классы и это печально.
С другой стороны:
Есть проблемы и их не могут решить матёрые чуваки с многолетним опытом. Которые помнят на изучит и то и се.


З.Ы:
И пока я пишу на Го или Python — я их знаю. Но пауза в 3-5 лет стирает все. С другой стороны я могу начать делать любые штуки, а принципы часто одни и те же. Примерно как из уравнений Максвелла можно много чего получить и наоборот. Просто это медленно.

Я уверен, что к им на собеседование приходят тонны мусора. Чтобы не тратить время инженеров на собеседования с ними, должен быть способ отсеивания этого мусора рекрутерами. Мне кажется, что этот тест будет правильно работать в 99% случаев. И я сомневаюсь, что человек с указанным опытом и должностью этого не понимал.
Следовательно, у него и в мыслях не было проходить это интервью с хорошим результатом, и он старался дать максимально неожидаемые и формально корректные ответы (что особенно видно в ответе про stat() и про TCP).

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

Тут тонкий момент в том, что инициатива исходила от рекрутеров, а не он ломился к ним по всем контактам. По себе могу сказать, что во многих конторах порядок работы с соискателем принципиально отличается в зависимости от того кто начал процесс.
Тут еще тонкий момент, что инженеры, составлявшие вопросник и ответник для кадровика, вероятно, ожидают увидеть человека плюс-минус своего уровня. Брать внешнего человека с компетенциями на порядок выше — может быть шоком для команды и может стоить должности конкретному автору вопросов. А HR — он тут конечный автомат, imho.
разве нанимать человека, обладающего большим скиллом, чем твой — это неправильно?
Я и не говорю, что это — не правильно. Это может быть невыгодно. Некоторым людям, в некоторых обстоятельствах. И да, наличие таких обстоятельств — mismanagement.
Ну тут спорно, так как знание значения констант — как правило избыточно. «Хороший инженер не тот, кто все знает, а тот, кто знает где это найти» (с) инженер-конструктор
ИМХО, на собеседовании нужно узнать ход мышления соискателя и набор базовых знаний, но никак не значение констант.

Они присылают после скрининга письмо-приглашение на интервью в котором ссылка на видео о том, как готовиться. И там миллионы просмотров за год. Даже то, что это общее для инженеринга- это впечатляет. Ведь на скрининге в разы больше должно быть.

Вот только это — очень грубый предварительный фильтр.
Я после подобного опросника в начале остался в состоянии глубокого недоумения «что это было?».
После следуют 2 реальных собеседования по телефону и 5 реальных собеседований с реальными людьми в офисе — именно они оценивают качество.

Если держать в голове остановку вопроса «лучше отказать хорошему, чем нанять плохого» — становится понятно.

И да, именно нежелание наняться и вызвало такую реакцию на, в общем-то простой опросник. Который всего лишь требует ответа в самой очевидной форме.
UFO just landed and posted this here
гении вообще сложный случай — их вообще нельзя в компанию садить как правило.
UFO just landed and posted this here
Простите, «садить»? Садить лучше нет.
если мне однажды и позвонят из Google, я предложу им перезвонить мне попозже, ибо буду сильно занят…
В целом, у мужика всё хорошо, и Гугл в качестве работодателя вообще не сдался ему. Вот он и решил потроллить, и, надо сказать, у него отлично получилось.
Автор явно overqualificated для предлагавшейся вакансии. Но вообще — безумие проводить интервью по таким неочевидным вопросам таким способом.
1) Вопросы просто какой-то трешняк, прям сразу вспомнились экзамены в шараге в которой я учился, где лишь бы спросить какую-то фигню для зазубривания.

2) Техническое интервью по телефону, да еще и с роботом-рекрутером? Что? Я вообще удивлен что он все ответил, ибо ему видимо стало весело и он решил до конца потроллить. Я бы наверное после 1 вопроса сказал бы им идти лесом с таким отношением к людям, ведь он же не с мороза прям звонок получил, высылал людям резюме и так далее. Это просто банальное неуважение, когда к людям с вполне видимым послужным списком (и набором реальных ачивок) относятся как к каким-то студентам, которые наугад понаписали баззвордов в резюме и отправили его, авось прокатит. Его должны были сразу заинвайтить на реальное интервью с каким-нибудь адекватным спецом, который с радостью бы с ним пообщался. Чую там в HR отделе цирк творится.

3) Все что касается продолжения с 3 аккаунтами чего-то там и постами в линкедине — тушите свет. Не знаю как дела обстоят в мире C и подобных языков, но если бы такая тема произошла во фронтенде, то там бы в первую неделю уже сгорел бы весь твиттер и сразу бы подключились люди уровня Paul Irish/Addy Osmani и так далее.
> Это просто банальное неуважение

Много вы знаете о «банальном неуважении»! :) Знаю одного профессора компьютерных наук — его бывшего студента гугл долго интервьюировал и вроде бы даже решил брать. После чего рекрутеры позвонили этому профессору в 3 часа ночи (три часа ночи, Карл!) и стали упорно расспрашивать, дескать, а вот вы этого студента помните, а каковы его сильные и слабые стороны, а перечислите-ка нам. Вот это я понимаю — неуважение. Человек им там чего-то наотвечал спросонок, хотя надо было бы послать их гуглить часовые пояса.
>Имеется массив из 10 000 16-битных значений; как наиболее эффективно сосчитать биты?
Какие ещё словари и методы Кернигана? 10 000 * 16 = 160 000 бит :)
А если без шуток, я так и не понял смысл задачи — какие биты считать? Кол-во нулей и кол-во единиц? При чём здесь таблицы?
Ну как причём таблицы… Делаем например массив из 256 байт, в i-м элементе записываем количество единиц в числе i. Это нужно сделать один раз, потом просто для каждого байта b можно брать arr[b] — это и будет количество единиц. Для 16 бит можно либо сделать таблицу размера 64к, либо просто сложить arr[b1] + arr[b2].
Спасибо за объяснение! Пришлось несколько минут думать даже над вашим ответом, пока понял, зачем вообще всё это (я бы просто считал единички побитовым сдвигом, особо не заморачиваясь :) ). В Google мне явно рано пробоваться — нужен ещё десяток лет опыта :)
Боюсь, что Ваш юмор несколько неуместен, поскольку вопрос про наиболее эффективный способ, а это именно таблицы, а никак не побитовый сдвиг.
Ну я бы в таком случае ответил, что наиболее эффективный метод — это использовать готовую инструкцию POPCNT, а если у вас процессор её не умеет — дешевле его заменить :) Формально и для enterprise подхода — это было бы ещё правильнее (но не для попугая на входе).
Linekdin, упомянутый в тексте, наверное, пример еще большего треша, чем приведенное собеседование.

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

А так… Удачи с наймом. Я уже давно не удивляюсь. Помните шутку, что, мол, Гугл закроет однажды все свои непрофильные направления, и оставит самое важное, самое любимое — DNS-сервер 8.8.8.8? С таким HR-подходом это уже даже не шуткой выглядит.
«мне необходимо выяснить, знаете ли вы правильные ответы»

То есть кадровик прямым текстом говорит, что для прохождения собеседования нужно просто составить методичку с вопросами и правильными ответами, вызубрить её и блестяще пройти собеседование.
Это всего лишь первое собеседование — тупой фильтр, чтобы не загружать технических специалистов собеседованиями с заведомо неподходящими людьми.
И все равно, на следующем же этапе 90% отсеятся. Пройти 7 технических собеседований просто выучив методичку не получится (зато натренировавшись на типовые алгоритмически задачки — вполне, но это уже другой вопрос).

Рекомендую прочесть заметку по другую сторону баррикад, от сотрудника Google: https://www.reddit.com/r/cscareerquestions/comments/1z97rx/from_a_googler_the_google_interview_process/
About 1/10 candidates pass this step, because most candidates (even with master’s degrees and claimed multi-year experience) are completely incompetent.
So be prepared to talk to an engineer who expects you to fail, and would rather be doing something else.


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

Другой вопрос, что такой подход оправдан только к тем, кто активно шлет резюме в Google. А если наоборот, рекрутер из Google постучался, то такой первичный фильтр устраивать уже глупо конечно.
Это странно для ситуации если рекрутер постучался. У меня не было никакого такого скрининга — только телефонное собеседование, а потом онсайт.
И все таки, вы уверены, что существует более эффективный способ, нежели таблицы именно для 16 разряднызх чисел? Может быть, в данном конкретном вопросе рекрутер имел правильный ответ, а не Вы?
Тут похоже автора уже понесло. Если на то пошло можно еще понапридумывать случаи: ограничение на использование памяти или заранее известно что между двумя единицами не менее N-сот нулей… Но просто по предыдущим вопросам было понятно — ничего выдумывать не нужно, нужны простые ответы. Возможно автор просто ненавидит глупость,* и он взъелся.

P.S. Это перевод. Собеседуемый нас не прочитает.
Да, достаточно было ответить «use lookup tables», даже не думая о том, сколько в таблице будет элементов — 256 или 65536 и что эти элементы нужно сначала предвычислить.
Боже мой хорошо что мне не приходится искать работу, я вообще ничего не помню, и ничего не держу в памяти, когда мне требуется что то, что бы достичь очередной цели, я просто забиваю это в поиск. Какие то совершенно глупые вопросы про названия функций и т.п. Зато я умею реализовывать любые алго, любые структуры данных, и даже синтезировать новые алго и структуры, я умею неблокирующие структуры и высокий нагруз, на кой черт мне помнить все эту мелочевку? Программирование это не игра в что-где-когда.
простите всякий раз когда вам надо вывести в юниксе список файлов вы гуглите в поисках команды ls? Может быть вы преувеличиваете и все таки держите в памяти кое что хотя бы даже элементарное?
ls наверняка помнит, но вот все её опции в мельчайших деталях — вряд ли.
Человек, к счастью, забывает всё, чем не пользуется в настоящее время и регулярно.
Иначе голова просто распухла бы от гор информационного мусора.
Предыдущий оратор открытым текстом утверждает что он ничего не помнит. Вообще. Значит ваше предположение что он помнит ls без мельчайших подробностей противоречит утверждению изначального оратора
Ну что то часто используемое кешируется в памяти. Я вот уже пару лет не делал SQL, юзаем nosql. Я вот щас по памяти юнионы не вспомню как делать )). Да и названия функций я не помню во фреймворках. Каждый раз лезу на стаковерфлоу когда речь заходит о Array.slice (js) и т.д. По вашему человек энциклопедия лучше? У меня есть разумная гипотеза, что мозг не резиновый, или данные или алгоритмы достижения целей.
Я видел не мало зубрильщиков книг с большим стажем, которые не знали что им делать и спрашивали совет, я не прочитал ни одной книги, и доки не штудировал, только то что необходимо для данной задачи. Считаю это идеальным положением дел, для сильных программистов, которые умеют больше чем просто трелевать данные по свойствам объектов.
вранье что вы не прочитали ни одной кгиги

Так же как код от машины или двери — он на уровне мышечной памяти:)
Я так в сервисе неправильный написал. На машине 5 лет каждый день. Если бы первичный тест на водителя был таким:
Рекрутер записывает код от машины, вводит его — машина не разблокирована. Правильный ответ:1…
Вы не имеете отношения к этой машине, хоть она записана на вас. Вы не водитель.

Чад&угар кутежа… Ходил несколько лет назад на интервью в Гугл (не взяли), по моим впечатлениям — наверное, самое вменяемое интервью из всех, что доводилось проходить. При том, что у меня на порядок меньше и опыта, и пафоса, телефонного интервью не было, сразу позвали на очное. Дебильных вопросов по списку с единственным правильным вариантом тоже не было. Всё происходило в формате «А вот, допустим, есть такая-то задача или проблема, как бы вы начали решать?.. Ага… А почему именно так?.. Угу… Ну вот вам доска и маркер, напишите код… Теперь найдите в написанном вами коде баг… Ок. Какая сложность Big-O у вашего решения?.. Можно ли сделать быстрее?.. Как-как?.. Берите маркер, пишите код. Теперь какая сложность? Можно ли ещё быстрее? Хмм, да, я тоже думаю, что быстрее, в общем случае, нельзя...» (В одном случае интервьюер ошибся вместе со мной, сказав, что быстрее нельзя — позже я нашёл вполне очевидное более быстрое решение). Интервьюер записывает за тобой на бумажку — не знаю точно, зачем, возможно, решать, насколько хорошо ты ответил, будет вообще не он, что тоже весьма разумно. В один день три таких интервью подряд, каждое по часу где-то. Через неделю после этого позвали опять, снова три интервью по часу. После этого прислали е-мэйл, что «огромное спасибо, что нашли время пройти наши интервью, мы были очень впечатлены вашими знаниями, прямо щас у нас, к сожалению, нет вакансии, соответствующей вашим скиллам, но мы вас будем иметь ввиду.» В общем, нормально было, с интересом провёл время.
Плох тот технический директор, который малопонимающей HR пытается начать объяснять протокол TCP с шестнадцатиричных кодов полей пакета. Человек такой должности и опыта уже почти не пишет код, а общается с людьми. И тут нужно уметь искать компромиссы, уметь говорить понятным языком.
Например:
>Почему Quicksort является наилучшим методом сортировки?
Лучший в чем, скорости или памяти? Если в скорости, то да, по оценке big-O в среднем он самый быстрый, O (n log n), но иногда он может работать медленнее других алгоритмов. И далее можно начинать говорить про ядро линукса и прочее.
Мне кажется тут чувак или гонит или не понял что его спрашивают (или реально рукрутер странный попался, который умеет переформульрововать вопросы) потому что вопросы действительно такие задают, только формулировка несколько другая, которая убирает двусмысленность в ответе, например, вопрос про сигнал на самом деле звучит как то так: «Какой сигнал по умолчанию посылает утилита kill в linux?».
«Умные» вопросы рекрутеров :)

— с какой IDE вы работаете?
— вы работаете с фреймворком *?
— вы работали с СУБД *?
— вы работали с ЯП *?

На КАЖДЫЙ из вопросов отвечаю честно: «их было несколько десятков, вам какой завернуть?».

Обижаются.

Ответы на собеседовании очень напоминают ответ Нильс Бора на вопрос "как измерить высоту здания".


Видимо человека достали HR с вопросниками.


Кстати, я бы то же не сразу вспомнил про методы подсчета битов. Кроме как "в лоб" сдвигом или табличным.
Да еще вообще не упомянуто в вопросе про конкретные условия (ЦПУ, требования к памяти и пр.).


Что, у многих в повседневной жизни программера требуется считать биты?


А уж вопрос про KILL просто убивает. Поди догадайся что это за kill. Unix команда? или "-s KILL" опция ее?
Если имя сигнала в команде kill, то ответ совершенно верный (-9)
А ответ HR просто поразительный "that's not the answer I have on my sheet of paper". как признание своей полной некомпетентности в теме…
А особенно пожелание в конце идти учится.


А уже хамство Marcia Pinheiro вообще за гранью добра и зла. Особенно с ее разглагольствованиями не в тему
"I am here, facing extreme violation of human rights in First World Democracy because of a last world Country..."
"It is all very interesting, like what moves human kind these days."


"We do usually call that set of tokens of information metadata"
Мы… это они имеет в виду Google или себя лично!? А лично мне кажется, что "attributes" как то более подходит. Или как минимум синоним (в данном случае) свойств файла.


Мне то же очень интересно… это она по жизни такая или работа на Googl обязывает.

Хочу вступиться за рекрутёра. На самом деле, ошибка не в нём. Ошибка была совершена намного раньше, когда Гугл приложил кучу усилий для того, чтобы спозиционировать себя как лучшего работодателя в отрасли. Насколько я помню, по всему интернету была куча статей о том, что у них там в офисе есть всё — и парикмахерская, и зубной кабинет, и чуть ли не детский садик. Я уж не говорю о том, что офис почти полностью обставлен мягкой мебелью, на которой можно полежать в рабочее время, и пинг-понг столами для тех, кто предпочитает активный отдых. Месседж, который Гугл посылал таким образом в массы, состоял в следующем: «Приходите к нам на работу те, кто хочет хорошенько отдохнуть!» Ну, они и начали приходить. Любой, кто научился нажимать кнопки на клавиатуре и чувствовал, что он способен хорошо отдыхать, захотел работать в Гугле. Это закономерным образом породило необходимость производить первичный отбор при помощи роботов-рекрутёров. Иначе в таких обстоятельствах Гугл поступить не мог. То, что он сам себе такие обстоятельства создал, — это другой вопрос. Но когда они уже созданы, использование таких рекрутёров — это наилучшее решение. Правда не совсем понятно, почему те же самые рекрутёры делают «холодные» звонки тем, кто даже не просился к ним на работу. Но это, видимо, просто технический сбор бюрократической системы. Естественная реакция на то, что входящий поток желающих слегка ослаб, и поэтому встал вопрос о том, а нужно ли по-прежнему столько рекрутёров, сколько было нужно раньше.

Потому что пул кандидатов привлечённый даже такой рекламой — не заполняет рабочие места.

Думаю, что тысячи людей, которые собеседовались в Гугл (но необязательно прошли) сейчас удивились :)

Просуммирую. Первая половина статьи:

Не очень умный кадровик + скрипт по бумажке = хреновая система найма.

Вторая половина статьи:

Теории заговора.
Проходил аналогичное собеседование в гугл по телефону, и вопросы на процентов на 80 были те же. Я, наоборот остался доволен, опросник короткий, занимает мало времени и позволяет отсеять совсем неподходящих людей. Нет, ну правда, про TCP-соединение у меня мысли не возникло в шестнадцатиричных кодах отвечать. Девушка-интервьювер была мила, было одно-два места, в которых я называл ответ, а она говорила, мол простите, я в этом не разбираюсь, у меня другой ответ написан. Я перефразировал ответ – и вуа-ля! он оказывался правильным.

В общем, сдаётся мне, автор приукрашает.

Просто HR, если не является специалистом в области, не должен никогда участвовать в оценке профессиональных навыков кандидата. Никаких ответов на подготовленные вопросы, никакого сопоставления ключевых слов. HR должен убедиться, что человек понимает куда он идет и проверить его soft skills: знание языка, коммуникабельность, общую адекватность.

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

Буквально с первых вопросов стало понятно что это обычный HR скриннинг и что рекрутер не в теме. Поэтому, оставалось два варианта:
1. Отвечать то, что рекрутер хотел услышать и не выпендриваться;
2. Бросить трубку со словами «Вы ошиблись кандидатом», ибо работников с таким опытом на такие должности так не нанимают, ихняя репутация идет впереди них и как таковых собеседований не проводится, максимум обсуждение условий сотрудничества.

Учитывая опыт кандидата, я бы выбрал второй вариант
Мой любимый вопрос на интервью:
— Скажите, вы хорошо знаете SQL, в частности, хранимые процедуры?
— Вообще-то, я из SQL знаю только SELECT ALL FROM TABLE…
— О, а что это? Хранимая процедура?
В этой ситуации ничего особо интересного нет, кроме одного маленького факта: это происходило в Гугле. Может, это такой звоночек — количество таки перешло в качество, и Гугл начинает из необыкновенного места превращаться в самую обычную компанию.
К сожалению, сам бы я завалился на первом же вопросе) Но это и не моя работа, да и коммент не об этом.
Знаете, я согласен с NIKOSV — если вы действительно понимаете все эти вопросы и можете даже поспорить о правильности «заготовленных» правильных ответов — вы точно должны были понять (судя по вашим комментам между вопросами — вы и понимали) — что именно хочет слышать рекрутер. И могли ему это дать, а потом, уже после всех ответов, добавить, что в некоторых вопросах у вас есть сомнения. Или обсудить это уже при встрече с более понимающим человеком. С детства ведь учат — иногда лучше держать свое мнение при себе, а собеседнику дать услышать то, чего он хочет.

В статье — извечная борьба теоретика и практика. Правда, рекрутер и не теоретик, но все его ответы ему кто-то дал, исходя из какой-то теории.

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

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

> вы точно должны были понять (судя по вашим комментам между вопросами — вы и понимали) — что именно хочет слышать рекрутер

Нет. Там он отвечает правильно, интервьюер сразу же отвергает ответ как неверный просто потому, что в ответе использован другой термин, чем у него в методичке. Не неправильный, а просто другой. Можно иметь сколь угодно огромный опыт и желание успешно пройти интервью, это никак не поможет с первого раза угадать слово целиком.
Какая-то мутная история. Во-первых, сам факт интервью с HR весьма странный. У меня вот спрашивали только вопросы общего характера не связанные непосредственно с наймом. Во-вторых, с какой радости ему задавали вопросы про C и Linux? Может ваканасия была не та? Не знаю как там с HR, но на нормальных интервью такие вопросы не приветствуются.
а это было не нормальное интервью
вы статью читали или нет? внимательно читали?
Тут упускаеться важная деталь, зачем вообще нужен HR с уровнем вовлеченности телеграмного бота?
> 5. Что такое индексный дескриптор Linux?
> Я: уникальный идентификатор файла для любой данной файловой системы.
> Кадровик: неправильно, это — метаданные файла.
> Я: индексный дескриптор является индексом, однозначно идентифицирующим файл

В информатике inode (произносится а́йнод или ино́д), индексный дескриптор — это структура данных в традиционных для ОС UNIX файловых системах (ФС), таких как UFS. В этой структуре хранится метаинформация о стандартных файлах, каталогах или других объектах файловой системы, кроме непосредственно данных и имени.
Представляю аналогичную ситуацию, и что пришлось вытерпеть бедному Гвидо ван Россуму, на собеседовании с эйчарами Гугла.
Лет эдак 10-12 назад по интернет ходила история, в которой один наш аспирант, учившийся в Токио в течение 2ч лет пытался устроиться в Google. Статья в блоге написана с долей иронического юмора, как он прошел два или три собеседования… но и к тому времени не получил результата. Это очень похоже на болезнь всех больших холдингов.

Мой знакомый проходил три собеседования, пока его не взяли в Яндекс, но взяли в другой отдел…

Что по моему опыту, то мне однажды по почте пришло предложение поработать в проекте по разработке распределенного хранилища данных Гугла. Я имел вполне вменяемый по теме разговор по скайпу, но меня подкачал мой инглиш. Как говориться: знал бы прикуп инглиш жил бы в Сочи Лосс Анжелесе.

А с другой стороны, надо помнить, что хорошо там, где нас нет…
Sign up to leave a comment.

Articles