Войти
Идеи для бизнеса. Займы. Дополнительный заработок
  • Спар чья компания. История SPAR. SPAR в России
  • Составление и оформление протоколов заседаний, собраний, конференций
  • Специальность "Зоотехния" (бакалавриат) Что делает зоотехник на практике
  • Вертикальная и горизонтальная интеграция - сущность, значение, различия Горизонтальная интеграция
  • Лёгкая промышленность России – состояние и перспективы развития
  • Жизнь трутня в пчелиной семье
  • Как проходит собеседование в Google. Ничего себе. Задача на собеседовании в Google. Сколько стрижек делают в Америке в течение года

    Как проходит собеседование в Google. Ничего себе. Задача на собеседовании в Google. Сколько стрижек делают в Америке в течение года

    Как видно из приведенной заметки, кадровая служба компании "Google" обладает изрядным чувством юмора - и проявляет его в вопросах интервью при отборе кандидатов на "высокоинтеллектуальные" позиции. Ответы на них неоднозначны и могут варьировать, не обязательно повторяя мнение редакции "Вести. Экономика". Запрос на оригинальность, продуктивность и скорость мышления понятен, если речь идет об инновационных разработках и планетарном масштабе их использования.

    Между тем, указанные вопросы обращены в основном к таким способностям, как Вычисления и Абстрактная логика (если использовать терминологию методик интеллектуальной диагностики нашей лаборатории). Реальная бизнес-среда предъявляет требования в том числе к развитию Памяти, Эрудиции, Лексики, Обработки информации и Пространственного мышления - разумеется, в разной степени, однако в нашем тесте "Бизнес-IQ" они могут быть проанализированы внутри одного профиля респондента, а его задания перекликаются с методологией "Google", являясь отражением современной организационной действительности.

    Редакция сайт

    Если в России большинство соискателей хотели бы работать в "Газпроме", то в мире несколько лет подобный рейтинг возглавляет Google. Отбор новых сотрудников в инновационную компанию довольно жесткий; к интервью готовятся за несколько месяцев, как к сложнейшему экзамену.

    Вот несколько фактов. Google предпочитает набирать работников среди выпускников восьми частных американских вузов ("Лиги плюща"): Браунского университета, Гарварда, Принстона, Пенсильванского университета, Дартмутского колледжа, Йельского университета, Колумбийского университета, Корнельского университета.

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

    Ниже приводятся 15 вопросов, которые вы могли бы услышать, придя на собеседование в офис Google.

    1. Сколько шариков для гольфа поместится в школьный автобус?

    Это один из вопросов, которые задают в компании, чтобы посмотреть, каким образом соискатель ищет решение проблемы. Один из соискателей нашел хороший ответ: "Я представил стандартный школьный автобус шириной 8 футов, высотой 6 футов и длиной 20 футов: это примерные размеры, основанные на моих наблюдениях во время долгого стояния в пробках позади школьного автобуса. Это значит 960 кубических футов, 1728 кубических дюймов в кубическом футе, а это значит около 1,6 миллиона кубических дюймов. Я подсчитал, что объем мяча для гольфа около 2,5 кубического дюйма (4/3 * pi * 0.85), так как радиус мяча - 0,85 дюйма. Разделив 1,6 миллиона на 2,5 кубического дюйма, получится 660 тыс. шаров для гольфа. Однако, учитывая сиденья в автобусе и прочие вещи, занимающие свободное место, а также сферическую форма мяча, я предположил, что между ними будет достаточно много свободного места. И я округлил значение до 500 тыс. шаров".

    2. За какую сумму денег вы помоете все окна в Сиэтле?

    Позиция: менеджер по продукции

    Это один из тех вопросов, где надо призвать на помощь смекалку и дать самый простой ответ. Мы бы ответили: "10$ за окно".

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

    Позиция: менеджер по продукции

    Ответ на этот вопрос вызвал оживленные дискуссии, в результате мы пришли к следующему решению. Представьте, что есть 10 семей, у которых 10 детей: 5 девочек, 5 мальчиков (всего – 10). Далее 5 пар, у которых девочки, родят еще пятерых детей. Половина (2,5) будут девочками, половина (2,5) - мальчиками. Добавляем 2,5 мальчика к уже рожденным 5 и 2,5 девочки к имеющимся 5 (всего детей 15, из которых 7,5 – мальчики и 7,5 – девочки). Теперь 2,5 парам, у которых девочки, надо родить 2,5 ребенка. Половина (1,25) будут мальчиками и половина (1,25) – девочками. Добавляем 1,25 мальчика к уже имеющимся 7,5 и 1,25 девочку к тем 7,5. (Всего детей 17,5, из которых мальчиков 8,75 и девочек – 8,75.) И так далее, придерживаясь принципа 50/50.

    4. Сколько настройщиков пианино во всем мире?

    Позиция: менеджер по продукции

    Мы бы ответили: "Столько, сколько требуется рынком. Предположим, что пианино надо настраивать раз в неделю и это занимает один час, а настройщик работает 8 часов в день в течение 5 дней в неделю. Тогда получается, что 40 пианино требуют еженедельной настройки. Наш ответ: один для каждых 40 пианино".

    5. Почему крышка люка круглая?

    Позиция: разработчик ПО

    Ответ. Чтобы она не могла упасть внутрь люка при ее монтаже или демонтаже (прямоугольная крышка легко входит в корпус люка по диагонали).

    6. Разработайте план эвакуации для Сан-Франциско.

    Позиция: менеджер по продукции

    Ответ. Опять здесь смотрят, как соискатель подходит к решению проблемы. Мы бы начали свой ответ с вопроса: "А какое бедствие запланировано на сегодня?"

    7. Сколько раз за сутки стрелки часов совпадают в одном положении?

    Позиция: менеджер по продукции

    Ответ. 22 раза. Из WikiAnswers: 00:00, 1:05, 2:11, 3:16, 4:22, 5:27, 6:33, 7:38, 8:44, 9:49, 10:55, 12:00, 13:05, 14:11, 15:16, 16:22, 17:27, 18:33,19:38, 20:44, 21:49, 22:55

    8. Объясните значение выражения Dead beef (дословно: мертвое мясо)

    Позиция: разработчик ПО

    Ответ. DEADBEEF - шестнадцатиричное значение, которое использовалось для дебаггинга во времена больших мейнфреймов, потому что этот маркер было очень легко найти в шестнадцатиричных дампах. Большинство людей с компьютерным образованием должны были видеть это как минимум на уроках изучения ассемблера, вот почему в Google ожидают, что разработчик ПО знает об этом. 0xDEADBEAF (dead beef) использовался системами IBM RS/6000, Mac OS на 32-битном процессоре PowerPC и Commodore Amiga в качестве волшебного значения для дебага. На Solaris от Sun Microsystem это обозначало свободную память ядра. На OpenVMS, работающей на процессорах Alpha, DEAD_BEEF можно увидеть, нажав CTRL-T.

    9. Человек направил свой автомобиль на отель, но потерпел неудачу. Что случилось?

    Позиция: разработчик ПО

    Ответ. Он застрял на бордюре. (Неприятно, правда?)

    10. Вам надо проверить, правильно ли записан и записан ли вообще ваш телефон у вашего приятеля Боба. Но вы не можете его спросить об этом прямо. Вам надо написать вопрос на бумажке и отдать Еве, которая отнесет ее Бобу, а потом принесет обратно ответ от него. Что вы должны написать на бумажке (прямой вопрос нельзя) так, чтобы Боб смог понять сообщение, а Ева не смогла бы узнать ваш номер телефона?

    Позиция: разработчик ПО

    Ответ. Поскольку вы всего лишь проверяете, попросите его позвонить в определенное время. Если он не сделает этого, значит, у него нет вашего номера. Слишком просто? Еще один вариант ответа: "В этом случае надо использовать контрольную сумму. Пусть Боб сложит все числа вашего номера и напишет на листе результат, затем передаст вам обратно".

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

    Позиция: технический менеджер

    Ответ. Надо разделить награбленное поровну между 51% всей команды.

    12. У вас есть 8 шаров одинакового размера. 7 из них одинакового веса, а один весит чуть больше остальных. Найдите мяч, который тяжелее остальных, используя весы, показывающие баланс, и только два взвешивания?

    Позиция: менеджер по продукции

    Ответ. Возьмите 6 из 8 мячей и положите по 3 на каждую сторону весов. Если тяжелый мяч не в этой группе шаров, у вас есть еще 2, которые надо положить на весы и решить задачу. Если тяжелый шар в первой группе из 6 шаров, берите 3, которые перевесили во время первого взвешивания. Из этих трех два положите на чаши весов. Если один перевесит, то вы его нашли. Если же они весят одинаково, то значит ваш мяч - тот, который вы отложили.

    13. У вас есть 2 яйца и есть доступ на 100-этажное здание. Яйца могут быть либо очень крепкими, либо очень хрупкими, а это значит, что они могут разбиться, если упадут с первого этажа, либо не разбиться, даже если их скинуть с 100-го этажа. Оба яйца абсолютно одинаковые. Вам нужно выяснить, какой этаж этого здания будет самый высокий для сохранения целости яиц при падении с него. Вопрос: сколько попыток вам надо сделать, чтобы выяснить самый высокий этаж? И при этом вы можете разбить только два яйца.

    Позиция: менеджер по продукции

    Ответ: Наибольшее количество попыток – 14 раз. Вместо того чтобы разбивать этажи по 10, надо начать с 14-го, затем подняться еще на 13 этажей, затем на 12, затем на 11, затем 10, 9, 8, 7, 6, 5, 4, до тех пор пока не дойдете до 99-го. Если бы яйцо разбилось на 100-м этаже, получилось бы 12 попыток (или 11, если вы предположите, что яйцо разобьется на 100-м этаже). Предположим, для примера, что мы выяснили, что 49-й - самый высокий этаж, где яйцо не разбилось, тогда наши попытки: 14-й, 27-й, 39-й, 50-й (яйцо разбилось на 50-м этаже) плюс 40, 41, 42, 43, 44, 45, 46, 47, 48 и 49 этаж - всего 14 попыток.

    14. Объясните, что такое база данных в трех предложениях, чтобы понял ваш 8-летний племянник

    Позиция: менеджер по продукции

    Ответ. Основная цель этого вопроса заключается в оценке способности соискателя объяснить сложную идею простыми словами. Вот наша попытка: "База данных - это машина, которая запоминает большое количество информации о разных вещах. Люди используют ее, чтобы вспомнить эту информацию, когда им нужно. Пошли поиграем".

    15. Вас уменьшили до размеров 5-центовой монеты, и ваша масса была пропорционально уменьшена в соответствии с вашей плотностью. Вас бросили в пустой стакан блендера. Ножи начнут движение через 60 секунд. Что делать?

    Позиция: менеджер по продукции

    Ответ. Этот вопрос оценивает креативность соискателя. Мы бы попробовали сломать электромотор.

    Те, кто хотел бы работать в Google должны знать, что:

    • Google предпочитает людей из «Лиги Плюща »
    • Им интересны ваши оценки (в институте), даже если вам уже за 30
    • Они ищут людей, которые хотят изменить мир

    Хуже того, если вы подходите по всем этим параметрам, вам все равно надо проходить собеседование.

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

    Позиция: Менеджер проекта

    Ответ

    Это один из вопросов, которые в Google спрашивают, чтобы посмотреть, каким образом соискатель ищет решение проблемы.

    Читатель Мэт Бьючамп (Matt Beauchamp) нашёл хороший ответ:

    Я представил стандартный школьный автобус шириной 8 футов, высотой 6 футов и длиной 20 футов - я знаю это из-за тысяч часов, проведённых в автобусе во время пробок.

    Это значит 960 кубических футов, 1728 кубических дюймов в кубическом футе, а это значит около 1.6 миллионов кубических дюймов.

    Я подсчитал, что объём мяча для гольфа около 2.5 кубических дюймов (4/3 * pi * .85), так как радиус мяча - .85 дюймов.

    Разделив 1,6 миллиона на 2,5 кубических дюйма, мы получим 660 000 шаров. Однако, поскольку там есть еще сиденья и прочая ерунда, занимающая свободное место, а также сферическая форма мяча означает, что будет достаточно много свободного места между ними. Я уменьшил значение до 500 000 шаров.

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

    Конечно, если бы мы говорили об автобусе, на котором ездил Джордж Буш в школу, это было бы половина… или 250 000 шаров.

    Позиция: Менеджер проекта

    Ответ

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

    Позиция: Менеджер проекта

    Ответ

    Ответ на этот вопрос вызвал споры, но мы пришли к следующему решению:

    • Представьте, что есть 10 семей, у которых 10 детей. 5 были бы девочками, 5 - мальчиками (всего - 10)
    • 5 пар, у которых девочки, родят ещё пятерых. Половина (2.5) будут девочками. Половина (2.5) будут мальчиками. Добавляем 2,5 мальчика к уже имеющимся в наличии 5 и 2,5 девочки к остальным 5. (всего детей: 15, из которых 7.5 - мальчики и 7.5 - девочки)
    • Теперь 2,5 парам надо родить 2,5 ребёнка. Половина (1.25) будут мальчиками и половина (1.25) - девочками. Добавляем 1.25 мальчика к уже имеющимся 7.5 и 1.25 девочку к тем 7.5. (Всего детей: 17.5, из которых мальчиков 8.75 и девочек - 8.75)
    • Ну и так далее, придерживаясь принципа 50/50

    Позиция: Менеджер проекта

    Ответ

    Мы бы ответили так: «В зависимости от количества. Если пианино надо настраивать раз в неделю, и это занимает один час, а настройщик работает 8 часов в день в течение 5 дней в неделю, то получается, что 40 пианино требуют настройки каждую неделю. Наш ответ: один для 40 пианино»

    Позиция: Разработчик ПО

    Ответ

    Чтобы она не падала внутрь люка.

    Позиция: Менеджер продукта

    Ответ

    Позиция: Менеджер продукта

    Ответ

    22 раза. Из WikiAnswers:

    00:00
    1:05
    2:11
    3:16
    4:22
    5:27
    6:33
    7:38
    8:44
    9:49
    10:55
    12:00
    13:05
    14:11
    15:16
    16:22
    17:27
    18:33
    19:38
    20:44
    21:49
    22:55

    Объясните значение выражения “dead beef”

    Позиция: Разработчик ПО

    Ответ

    Наш (неправильный) ответ: Кусок мяса (beef) уже не живой. Но это неправильно для разработчика.

    Правильный ответ от читателя:

    DEADBEEF шестнадцатиричное значение, которое использовалось для дебаггинга во времена больших мейнфреймов, потому что этот маркер было очень легко найти в шестнадцатиричных дампах. Большинство людей с компьютерным образованием должны были видеть это как минимум на уроках изучения ассемблера, вот почему в Google ожидают, что Разработчик ПО знает об этом.

    “0xDEADBEAF” (“dead beef”) использовался система IBM RS/6000, Mac OS на 32-битном процессоре PowerPC и Commodore Amiga в качестве волшебного значения для дебага. На Solaris от Sun Microsystem, это значение обозначало свободную память ядра. На OpenVMS, работающей на процессорах Alpha, DEAD_BEEF можно увидеть, нажав CTRL-T.

    Человек направил свой автомобиль на отель, но потерпел неудачу. Почему?

    Позиция: Разработчик ПО

    Ответ

    Он застрял на бордюре. (Неприятно, правда?)

    Вам надо проверить, правильно ли записан ваш телефон у Боба…

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

    Позиция: Разработчик ПО

    Ответ

    Поскольку вы всего лишь «проверяете», попросите его позвонить в определённое время. Если он не сделает этого, значит у него нет вашего номера.

    Слишком просто? Ответ от читателя: «В этом случае, надо использовать контрольную сумму. Пускай Боб сложит все числа вашего номера и напишет на листе результат, затем передаст вам обратно.»

    Вы — капитан пиратского судна…

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

    Позиция: Технический Менеджер

    Ответ

    Надо разделить добычу равномерно среди 51% от всей команды.

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

    Позиция: Менеджер продукта

    Ответ

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

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

    Позиция: Менеджер продукта

    Ответ

    Наибольшее количество попыток - 14 раз.

    Вместо того, чтобы разбивать этажи по 10, надо начать с 14-го, затем подняться на 13 этажей, затем на 12, затем на 11, затем 10, 9, 8, 7, 6, 5, 4 до тех пор, пока не дойдёте до 99-го. Если бы яйцо разбилось на 100-ом этаже, получилось бы 12 попыток (или 11, если вы предположите, что яйцо разобьётся на 100-ом этаже).

    Предположим, для примера, что мы выяснили, что 49-ый — самый верхний этаж, где яйцо не разбилось, тогда наши попытки: 14-ый, 27-ой, 39-ый, 50-ый (яйцо разбилось на 50-ом этаже), плюс 40, 41, 42, 43, 44, 45, 46. 47, 48 и 49 этаж, всего 14 попыток.

    Объясните что такое База Данных в трёх предложениях, так как это сделал бы ваш 8-летний племянник

    Позиция: Менеджер продукта

    Ответ

    Основная цель здесь оценить возможность соискателя перевести сложную идею на простой язык. Вот наша попытка: «База Данных — это машина, которая помнит большое количество информации о разных штуках. Люди используют её, что вспомнить эту информацию. Пошли поиграем в футбол.»

    …и ваша масса была пропорционально уменьшена соответственно вашей плотности. Теперь вас бросили в пустой стакан блендера. Ножи начнут движение через 60 секунд. Что делать?

    Позиция: Менеджер продукта

    Разработчик G-WAN.

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

    Сначала небольшое отступление обо мне: я программирую 37 лет (начиная с 11-летнего возраста), в 24 года был назначен R&D директором и участвовал в создании самых ответственных частей следующих проектов:

    • Global-Wan (распределенный VPN, работающий на уровне ядра и использующий наше собственное пост-квантовое шифрование);
    • G-Wan (весящий 200 КБ сервер приложений, поддерживающий 17 языков программирования - C/C++, C#, Objective-C, Java, Go, PHP и другие);
    • Remote-Anything (патентованное решение для управления сетью предприятия, было продано 280 миллионов копий).

    Представитель Google заявил, что от претендента требуются навыки и кодинга, и управления (редкое сочетание). Но опыта в 40 и 20 лет соответственно оказалось недостаточно - ведь я не сумел дать «правильные ответы». Может, Google слишком задирает планку? Или их HR не обладают навыками, необходимыми для грамотной оценки способностей претендентов? Сейчас увидите сами.

    Собеседование

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

    Какая функция в С противоположна функции malloc()?

    Мой ответ:
    free() .
    Рекрутер:
    Верно.

    Вот он - тот самый редкий момент, когда ты гордишься тем, что 35 лет программируешь на языке, существующем 40 лет.

    Какая функция в Unix позволяет сокету принимать соединения?

    Мой ответ:
    listen() .
    Рекрутер:
    Верно.

    Как много байт требуется для хранения MAC-адреса?

    Мой ответ:
    6.
    Рекрутер:
    Верно.

    У меня уже есть медаль в номинации «Ethernet»?

    Отсортируйте по требуемому времени: чтение регистра CPU, обращение к диску, переключение контекста, чтение системной памяти.

    Мой ответ:
    Чтение регистра CPU, чтение системной памяти, переключение контекста, обращение к диску.
    Рекрутер:
    Верно.

    Типичная университетская лекция по Computer Science за 1 курс.

    Что такое индексный дескриптор в Linux?

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

    «Метаданные» - это ведь куда информативнее, чем «атрибуты», правда?

    Какая функция в Linux принимает путь и возвращает файловый идентификатор?

    Мой ответ:
    Я написал свой LIBC для нашего сервера приложений, но не помню ни одного системного вызова, который бы возвращал файловый идентификатор.
    Рекрутер:
    stat() .
    Я:
    stat() , fstat() , lstat() , fstatat() - все они возвращают код ошибки, но не файловый идентификатор. Эти функции заполняют статическую структуру, содержащую обсужденные ранее атрибуты файла, а не только файловый индентификатор.
    Рекрутер:
    Это не ответ. Файловый идентификатор содержит все метаданные.

    В Google что, тайно лицензировали мерзкого бота Tay от Microsoft?

    Какое имя имеет сигнал KILL ?

    Мой ответ:
    SIGKILL , значение его #define - 9 .
    Рекрутер:
    Нет, это TERMINATE .
    Я: SIGTERM (15) и KILL (9) - это разные понятия.
    Рекрутер:
    У меня в бумагах записан не такой ответ.

    Вот что бывает, когда боты с искусственным интеллектом открывают для себя мир рекреационных наркотиков.

    Почему быстрая сортировка - лучший метод сортировки?

    Мой ответ:
    Это не всегда так, иногда он вообще не подходит.
    Рекрутер:
    У быстрой сортировки лучшее время исполнения (временная сложность, или коэффициент O).
    Я:
    Временная сложность игнорирует латентность хранения данных, топологию, объем доступной памяти и даже вычислительные затраты процессора на каждую команду - она просто подсчитывает число алгоритмических операций! Этот коэффициент - полезный показатель при разработке алгоритма, но все равно эффективность и масштабируемость решения сильно зависит от конкретных ограничений конкретной проблемы и окружающей среды.
    Рекрутер:
    Неверно, нужно было просто сказать, какой коэффициент O у быстрой сортировки.

    Когда медицинская страховка начнет покрывать ущерб, причиненный психическому здоровью? Ядро Linux (к которому так трепетно относится Google) предпочло пирамидальную сортировку быстрой ради меньшнего потребления памяти и меньшего времени на выполнение.

    Дан массив из 10000 16-битных значений, каков наиболее эффективный способ подсчитать биты?

    Мой ответ:
    Сдвинуть биты вправо по 64-битным словам - все по заветам Кернигана.
    Рекрутер:
    Нет.
    Я:
    Есть и более быстрые способы обработки 64-битных слов с применением масок, но по телефону я объяснить их не смогу, нужно писать код.
    Рекрутер:
    Верный ответ - использовать таблицу соответствий и просуммировать результаты.
    Я:
    Это на каком виде CPU? А давайте проведем бенчмарки вашего и моего кода?
    Рекрутер:
    Это не входит в задачи теста.
    Я:
    А что в них входит?
    Рекрутер:
    Проверить, насколько хорошо вы знаете правильные ответы .

    Долго еще будет продолжаться этот бред? Поиск по 8-битной таблице соответствий будет обрабатывать байты один за другим, а вот метод 64-битных масок будет обрабатывать 8-байтовые слова одновременно (а современные процессоры даже смогут обрабатывать 128-битные слова с десятикратным приростом скорости). Поиск по 64-битной таблице соответствий пока что находится за гранью способностей современных компьютеров - так что сразу понятно, что будет быстрее.

    Какой тип пакетов требуется для установления TCP-соединения?

    Я:
    В шестнадцатиричном виде - 0x02 , 0x12 , 0x10 , а словами - «синхронизация» («synchronize») и «подтверждение» («acknowledge»).
    Рекрутер:
    Неверно, это SYN , SYN-ACK и ACK . Если Google вдруг упадет, вам потребуется это знание, чтобы понять, в чем проблема. На этом мы можем закончить - очевидно, что вы не обладаете достаточными умениями, чтобы писать и поддерживать приложения для работы с сетями. Если вы хотите позже пройти собеседование еще раз - вам стоит почитать о функциях Linux, о принципах работы TCP/IP и о том, что означает коэффициент О. Всего хорошего, до свидания.

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

    Я набрал целых 4 балла из 10, это мой лучший результат у Google, вуху!

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

    О чём нужно позаботиться перед собеседованием

    • Имейте копию зачётной книжки;
    • Выберите как минимум 3 дня и время (включая часовой пояс), в течение которого вы будете доступны для технического собеседования по телефону в формате дата-время-часовой пояс, для которого вы указали время;
    • Выберите язык программирования, который вы хотели бы использовать для собеседования: Java, C++, C или Python;
    • Предоставьте актуальные контактные данные, чтобы до вас могли дозвониться в день собеседования.

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

    Планируйте заранее

    Инженеры Google, которые будут вас собеседовать, весьма ограничены во времени. Поэтому найдите время и в своём расписании тоже! Также держите под рукой ручку и лист бумаги на случай, если вам скажут что-нибудь записать.

    Чего ожидать

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

    Ваши знания Computer Science оставляют желать лучшего? Тогда загляните в , чтобы восполнить этот пробел.

    Вопросы на собеседовании

    На собеседовании может затрагиваться всё, что указано в вашем резюме (особенно если вы отметили, что вы в этом эксперт!), вайтбординг (это когда вас заставляют писать код на доске или листике), разработка сложных алгоритмов и анализ их производительности, логические задачи, системное проектирование и основы Computer Science - хеш-таблицы, стек, массивы и т.д. Из-за сложности и глобального масштаба проектов, в которых вы будете участвовать, основы Computer Science являются необходимыми для всех инженерных должностей в Google вне зависимости от вашего стажа.

    Как добиться успеха

    В Google ценят совместную работу и обмен идеями. Поэтому вам понадобится больше информации от интервьюера, чтобы проанализировать поставленный вопрос и развёрнуто на него ответить.

    • Это нормально задавать вопросы интервьюеру.
    • Когда вас просят решить задачу, сначала сформулируйте, как вы её понимаете.
    • Если вам что-то непонятно - попросите помочь или объяснить.
    • Если у вас есть какое-то предположение, проговорите его, чтобы убедиться в правильности своих суждений!
    • Опишите, как вы собираетесь решить каждую часть задачи.
    • Всегда давайте интервьюеру следить за ходом вашей мысли, так как для него это не менее важно, чем конечное решение. Кроме того, если вы вдруг зависнете, то он сможет помочь советом.
    • Наконец, слушайте - не пропустите подсказку мимо ушей, если интервьюер пытается вам помочь!

    Кто нужен Google?

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

    Интервьюерам важен подход к вопросу не меньше, чем сам ответ:

    • Слушал ли кандидат внимательно и понял ли он вопрос?
    • Задал ли он правильные вопросы, прежде чем приступить? (важно!)
    • Решил ли он задачу перебором? (нехорошо!)
    • Делаются ли какие-либо предположения без предварительной проверки? (нехорошо!)
    • Услышал ли кандидат подсказки и прислушался ли он к ним?
    • Кандидат медленно вникает/решает задачу? (нехорошо!)
    • Предпочитает ли кандидат найти несколько возможных решений, прежде чем выбрать лучшее?
    • Ищет ли он новые пути решения задачи?
    • Является ли кандидат изобретательным и гибким в своих решениях и открыт ли он для новых идей?
    • Возможен ли переход к решению более сложных задач в процессе собеседования?

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

    Задавайте больше вопросов!

    Удостоверьтесь, что вы имеете чёткое представление о Google как бизнесе - за пределами основных продуктов компании. Узнать, чем занимается Google, можно на сайте компании и в Википедии .

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

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

    Готовимся техническому собеседованию

    Основные пункты, по которым следует пройтись инженерам для успешного прохождения собеседования в Google:

    • Сложность алгоритмов . Очень важно понимать анализ сложности в нотации «О-большое» . Попробуйте разобраться с этим на практике.
    • Сортировка . Знайте, как сортировать. Не пузырьком. Следует знать в деталях как минимум один алгоритм сортировки сложности O(n log n) , желательно два, например, быструю сортировку и сортировку слиянием . Последняя может быть крайне полезна в ситуациях, когда использовать быструю сортировку нецелесообразно, поэтому обратите на неё внимание.
    • Хеш-таблицы . Пожалуй, самая важная структура данных , известная человечеству. Вы обязательно должны знать, как они работают. Будьте готовы во время собеседования предоставить свою реализацию с помощью массивов на вашем любимом языке.
    • Деревья . Имейте представление о деревьях, знайте базовые алгоритмы построения, обхода и управления деревьями. Ознакомьтесь с двоичными , n-ичнымии и префиксными деревьями. Также нужно знать хотя бы один вид сбалансированного двоичного дерева, будь то красно-чёрное , расширяющееся или АВЛ-дерево , и как его реализовать. Разберитесь в алгоритмах обхода дерева: поиске в ширину и глубину , и узнайте разницу между прямым, симметричным и обратным обходами.
    • Графы . Графы имеют большое значение в Google. Есть три основных способа представить граф в памяти: объекты и указатели, матрица и список смежности; ознакомьтесь с каждым представлением и его преимуществами и недостатками. Вы должны знать основные алгоритмы обхода графа: поиск в ширину и поиск в глубину. Знайте их вычислительную сложность, преимущества и недостатки и как их реализовать с помощью кода. По возможности попробуйте изучить более интересные экземпляры вроде алгоритма Дейкстры и .
    • Математика . Некоторые интервьюеры задают вопросы по основам дискретной математики. В Google на это обращают больше внимания, чем в других компаниях, из-за характера задач, с которыми там работают. Потратьте немного времени перед интервью на повторение (или изучение) основ комбинаторики и теории вероятностей. Вы должны знать о задачах сочетаний из n по k и ей подобных - чем больше, тем лучше.
    • Операционные системы . Ознакомьтесь с процессами, потоками и параллелизмом . Необходимо знать, что такое блокировка, мьютекс , семафор и монитор и как они работают. Узнайте, что такое взаимная блокировка и livelock и как их избежать. Имейте представление о том, какие ресурсы нужны процессам и потокам, как работает
    • Перевод

    «Диагноз - не конец, а начало дела».
    Мартин Х. Фишер.

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

    Для ясности: я начал заниматься программированием 37 лет назад (мне тогда было 11 лет) и постоянно занимаюсь этим. Кроме того, 24 года назад (мне было 24) я был назначен директором по исследованиям и развитию ; с тех пор среди многих других работ мною были проведены НИОКР по наиболее ответственным частям проектов TWD - все они поставляются, как коммерческие продукты:

    Обновление: журнал «Business Insider» опубликовал эту историю (25 000 прочтений на настоящий момент).

    Обновление: LinkedIn отцензурировал эту историю (опубликованную тремя разными людьми), и все поддерживающие комментарии были написаны техническими специалистами (я не знаю большинства из них).

    Обновление: пост в блоге сотрудника Google , успешно размещённый на LinkedIn и использующий несвязный «мусорный» лексикон (очевидно, нацеленный на ассоциации оскорбительных слов с моим именем в поисковых системах), был написан кем-то, кто выглядит как подставное лицо (оранжевым подчёркнут текст, работающий на Гугл, красным - бессвязные злобные выражения):

    Профиль в LinkedIn для Марсии Пинейро показывает, что она работает в… Гугл. Если это - реальный человек (она же имеет 3 аккаунта ), то мне грустно за неё - ей приходится поливать грязью людей, чтобы зарабатывать себе на жизнь. Если Гугл действительно нанял её (или «его», спрятанного за фальшивой личностью), то это великолепный способ оставить за собой последнее слово. Гугл придерживается проповедуемого им принципа «Не делай зла» ?

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

    Обновление: журнал «Business Insider» опубликовал (очень хорошую) статью, рассматривающую впечатляющие провалы Гугл с наймом персонала и содержащую интересное понимание проблем опытными техническими специалистами. Очень рекомендую прочитать (даже сотрудникам Гугл).

    Теги:

    • найм персонала
    • Гугл
    • собеседование
    • вопросы на собеседовании
    Добавить метки