12.08.2019

Как пройти собеседование в гугл. «Собеседование — это бесплатный урок»: чему я научился, когда меня не взяли менеджером в Google. Какая функция в Unix позволяет сокету принимать соединения


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

Однажды осенью я сидел на работе и ничего не подозревал. Ко мне в Линкедин добавилась девушка из гугла и спросила, найдется ли у меня 15 минут 🙂 Я сказал, что конечно, и мы созвонились.

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

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

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

Однако через неделю мне написали, что этот этап я тоже прошел, и меня ждут сразу 4 интервью. Кстати, позиция была открыта в Дублине, поэтому мне были готовы оплатить билеты, проживание. Однако, не готовы были помочь с визой. К сожалению, карточки ВНЖ у меня к тому времени не было (ее и сейчас не сделали, провал полный). Т.е. пришлось проходить эти интервью по хэнгаутс, аналогу скайпа от гугла.

Дали около недели на подготовку. Заслали материалы. Я прочитал книжку «Работа рулит» от Ласло Бока, директора по кадрам в гугле. Очень интересно написано. И я лучше понимал, что такое гугл и чего ждать на собеседованиях 🙂 Пока готовился, как-то свыкся с мыслью, что я уже там.

Уже готов был прямо переезжать, изучил все об Ирландии, чуть ли ирландский язык не выучил 🙂

Кстати, в этом этапе 4 собеседования.

Первое - на так называемую гугловость. Они это объясняют так, что хотят только тех людей, которые подойдут им в культурном плане. Почитав об этом я понял, что, пожалуй, основным качеством, которое они ищут является понятие «intellectual humility», которого в русском даже нет. Это такая способность сомневаться в своих знаниях и догмах. Т.е. им совершенно не нужен человек, который знает «абсолютно лучший способ сделать котлетки», им нужен человек, который будет активно пробовать делать котлетки и совершать ошибки, пока не найдет самый подходящий способ. Говорят, на этом горят очень много народу, которые где-то в универе научились делать одну вещь хорошо и будут ее задрачивать до посинения.

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

Третье - техническая часть. Там все относительно просто - вам надо угадать (или понять), чем же занимается ваша команда и натренировать технические навыки для данной позиции. Что интересно - никто не скажет что-то типа «там нужен питон и базы данных». Скажут - нужно уметь анализировать, а дальше сам думай.

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

Итак, как это все прошло. Каждое собеседование длилось по 45 минут.

Первым было лидерство. На нем меня спрашивали вопросы типа «дайте пример того, как вы справились на работе с тем, что кто-то вам не нравился». Было достаточно просто, т.к. я отвечал честно и на реальных примерах из жизни.

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

Третье было о технической части. На нем было реально мало прямых технических вопросов. Скорее опять вопросы типа «а что бы вы сделали в такой-то ситуации». Должен отметить, что это часть была довольно скучной, а, может быть, просто начал уставать.

Последнее было как раз о том, насколько я умный. И оно началось сразу неожиданно - пошли вопросы, в основном, на тему продукт-менеджерства. Типа, представить себе продукт, который мне не нравится. Встать на место менеджера продукта и описать шаги, как сделать его лучше. Как собирать отзывы, на что тратить больше ресурсов и т.д. Короче, вопросы были совершенно неожиданны. Что странно, в книге про собеседования написано, что основной задачей интервьюера является не найти ваши слабые стороны, а помочь с сильными. Т.е. если вы «неправильно» отвечаете, он будет пытаться вас отвести в правильное направление. Однако в этом случае этого не происходило, хотя я даже сам пытался перевести тему или спросить подсказки 🙁 В общем, уже во время самого интервью понял, что вот от этого человека вряд ли будет позитивный фидбек.

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

Дальше все интервьюеры должны написать отзыв и послать их на комиссию. Комиссия - это такие опытные тридцатилетние деды и бабки, которые просматривают фидбек и решают, брать или не брать. Именно поэтому каждый интервьюер вечно что-то печатает и почти на вас не смотрит. Это, конечно, печалька. Хорошая новость - комиссия достаточно опытна, чтобы не обращать внимания на «ковырялся в носу, очень плохой кандидат». Но она так же не будет обращать внимания на «отлично знает сиплюсплюс, великолепный малый», если этот сиплюсплюс вообще на этой позиции не нужен. Вообще, в книге сказано, что все десять кругов ада созданы для того, чтобы в гугле не оказалось хоть немного «не тех» людей. Т.е. если вас берут - почти гарантированно вы не будете самым умным.

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

Какие выводы?

  1. Подготовка решает. Я проделал большую домашнюю работу и это помогло. Провалился я там, где или не угадал, или не мог угадать, к чему готовиться.
  2. Когда пытаешься пройти в такие компании, сильно привязываешься. Как я сказал, в голове я уже в Дублин переехал. Не знаю, плохо это или хорошо. Мне не мешало, но будьте готовы.
  3. Сильно повышается самооценка. Когда прошел даже 60-70% пути, чувствуешь силу своих возможностей. Многим даже не ответят на резюме.
  4. Я понял, что мне все еще хочется пожить в англоговорящей стране. Это сильно меня мотивировало.
  5. По возможности собеседоваться стоит лично, на месте. Я уверен, что мог бы перевести последнее собеседование в русло, которое было бы удобно мне, если бы сидел с реальным человеком, а не экраном.
  6. Чем сложнее процесс выбора, тем больше гарантия того, что вокруг вас на работе будет мало идиотов. Поэтому если видите сложный корпоративный процесс собеседований - это к лучшему.
  7. Такие собеседования заставляют пересмотреть ваше сегодняшнее положение дел. Вы устраиваете гугл в плане лидерства, а на вашей работе вам хер че доверят? Стоит задуматься. Вас пытаются заполучить большие компании, а сейчас вам платят мало со словами «больше не можем»? Опять же, задумайтесь почему.
  8. Отдельная история, это, конечно, как себя ведут эйчары. Когда у вас хорошие шансы пройти (читай «когда эйчар имеет большую возможность получить за вас комиссию») - вам быстро отвечают, готовы со всем помочь. Когда вы где-то провалились - все резко меняется. Отвечают медленно, не вдаются в подробности, все нужно вытягивать. Ну а что самое интересное - вот уже прошло месяца 3, а мне больше никто ни разу не написал. Неужели нет более подходящей позиции судя по фидбеку? Им же виднее то, в чем я хорош, тем более можно сэкономить кучу времени. Хз.

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

Когда устраиваешься в компанию таких масштабов, как 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» опубликовал (очень хорошую) статью, рассматривающую впечатляющие провалы Гугл с наймом персонала и содержащую интересное понимание проблем опытными техническими специалистами. Очень рекомендую прочитать (даже сотрудникам Гугл).

Теги:

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

Разработчик 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, вуху!

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

Прежде чем смотреть ответы и способы решения под картинками, попробуйте испытать свои силы – может быть, вы удивите сами себя?

Позиция 1: инженер-программист в Google

Задача

У вас 8 шаров: 7 весят одинаково, а 1 чуть тяжелее остальных. Как определить с помощью весов, какой шар тяжелее, если у вас только 2 попытки?

Решение

Шаг 1. Берем 6 любых шаров из 8

Шаг 2. Кладем по 3 шара на две чаши весов (тем самым используем 1-ю попытку):

A) если чаши сравнялись, то более тяжелый шар нужно искать среди двух оставшихся

B) если одна чаша перевесила, то нужный шар находится среди этой тройки

Шаг 3. Используем 2-ю и последнюю попытку.

При варианте

A) все просто: нужно взвесить два оставшихся шара, чтобы выявить более тяжелый. При варианте

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

Позиция 2: менеджер в Amazon

Задача

В спортивном турнире заявлено 5.623 участника. Сколько нужно состязаний, чтобы выявить победителя?

Самые популярные ответы

A) одно состязание – именно оно определит чемпиона в финале

B) 5.622 состязания: если из всех участников должен быть только один победитель, то из 5.623 нужно просто вычесть 1.

Альтернативное решение

Здесь важен не «правильный ответ» (если вы заметили, условие задачи туманно, так что решений может быть несколько), а логический подход. Поэтому сначала хорошо бы уточнить, что это за участники – команды или отдельные спортсмены? Потом, в зависимости от ответа, задать следующий логический вопрос и так далее. Так вы проявите свою способность мыслить, рассуждать, принимать решения.

Позиция 3: разработчик программного обеспечения в Webtrends

Задача

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

Варианты ответов

A) 3 носка – либо 2 из них окажутся одного вида, 1 – другого, либо все 3 будут одного вида. В любом случае у вас будет пара.

B) ни одного, так как в условии сказано: «20 разных носков двух видов», то есть среди них нет двух одинаковых.

Позиция 4: инженер-программист / веб-разработчик в Microsoft

Задача

Перед вами 3 коробки: в одной яблоки, в другой бананы, в третьей – смесь тех и других. Все коробки помечены неправильно. Вы можете доставать по одному фрукту из одной коробки, не заглядывая внутрь. Сколько раз как минимум нужно достать фрукт, чтобы определить содержимое всех корзин?

Ответ

Решение

Ключ в том, что коробки помечены неправильно, а значит, в каждой лежит не то, что написано. То есть, в коробке с пометкой С (смесь) могут быть либо только яблоки (Я), либо только бананы (Б). Достаем оттуда фрукт – попалось яблоко? Значит, это коробка с яблоками.

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

Позиция 5: инженер-программист в Raytheon

Задача

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

Решение

Включить любой из трех выключателей и подождать 5-10 минут, чтобы лампочка (если она зажглась) успела нагреться. Затем выключить первый и включить второй выключатель, а самому спуститься вниз на проверку. Если лампочка не горит, но теплая, значит за нее отвечает первый выключатель. Если горит сейчас, то второй. А если не горит и холодная, то третий.


© 2024
reaestate.ru - Недвижимость - юридический справочник