Собеседования в ведущих западных IT-компаниях. Рекомендации для программистов
Проведение собеседований по приему на работу новых сотрудников в крупнейших западных международных компаниях, занимающихся информационными технологиями, уже давно стало искусством. Такие известные компании как Microsoft, IBM и другие сформировали определенную культуру проведения интервью, о которых ходят слухи уже не один десяток лет. Действительно, собеседование программиста требует неординарного подхода, чтобы за несколько часов адекватно оценить его способности. Еще большего искусства это требует, когда речь идет о собеседовании выпускников ВУЗов. Ведь задача собеседования состоит не только в определении квалификации кандидата, а и в раскрытии его будущего потенциала.
Сегодняшняя популярность необычного стиля интервьюирования кандидатов на рабочее место с использованием логических головоломок и стрессовых ситуаций приписывается влиянию одной из самых успешных, но при этом вызывающей неоднозначное отношение, американских корпораций — корпорации Microsoft. Гигантский производитель компьютерного программного обеспечения получает в месяц двенадцать тысяч резюме от людей, которые хотят работать в этой корпорации. Это удивительно, если принять во внимание, что в компании работает более пятидесяти тысяч сотрудников, а уровень текучести кадров в Microsoft в три раза ниже среди него по отрасли. У корпорации Microsoft, таким образом, есть больше, чем у кого бы то ни было, причин быть разборчивой при выборе кандидатов. Это отражается в процедуре интервьюирования, которая используется этой компанией.
«Мы ищем людей с оригинальным и творческим мышлением, — говорится на веб сайте компании Microsoft в разделе для выпускников университетов, — и процесс интервьюирования построен так, чтобы найти этих людей... Интервью может включать в себя обсуждение технических аспектов проектов, над которыми вы работали, абстрактные задачи, задачи по программированию или логические головоломки и задачи. Типы вопросов, которые вам будут задавать, зависят от того, на какой должности вы хотите работать, но все они нацелены на то, чтобы исследовать ваши способности и оценить ваш потенциал. Для нас важнее узнать, что вы можете сделать, а не то, что вы уже сделали» [1].
На первом этапе каждое резюме, полученное Microsoft, автоматически анализируется по ключевым словам и регистрируется в базе данных. На этом этапе сотрудники отдела персонала его не читают. Если резюме вызывает интерес, проводится предварительное интервью, обычно по телефону. Те, кто выдерживает это испытание, получают приглашение на очное интервью, где им предстоит целый день отвечать на вопросы, славящиеся своей сложностью.
Как правило, очное собеседование проходит по следующему плану:
- Вступление
- Общие вопросы
- Вопрос о последнем проекте, в котором участвовал кандидат
- Вопросы на сообразительность, логические задачи/головоломки
- Задача по программированию
- Обсуждение кода
- Вопрос по дизайну
- Есть ли у вас вопросы?
Вступление
Фаза вступления предназначена для того, чтобы расслабить кандидата. Обычно собеседующий тратит не нее около 30 секунд, рассказывая кандидату, кто он такой, и как он будет проводить собеседование.
Общие вопросы
Далее идут вопросы общего характера. Традиционно используются следующие.
- Почему вы выбрали именно эту профессию?
- «Что вам нравится, доставляет удовольствие?» — это один из любимых вопросов Стива Болмера.
- Чем бы вы хотели заниматься?
- Кем вы себя видите в профессиональном плане через 2, 5, 10 лет?
- Почему нам следует нанять именно Вас?
Другие традиционные вопросы:
- Если вы узнаете, что ваш коллега совершил нечестный поступок, вы об этом расскажете своему боссу?
- Что для вас важнее — сделать работу быстро или качественно?
Интервьюеры также используют и характерные для компьютерной отрасли «мягкие» гипотетические вопросы:
- Как бы вы объяснили своей бабушке, что такое электронные таблицы Excel?
- Если бы Microsoft вам сообщила, что дает вам 5 миллионов долларов, которые вы можете по своему выбору вложить в какую нибудь новую фирму, какой бизнес вы бы выбрали?
Вопрос о последнем проекте
Далее кандидата распрашивают о каком-нибудь проекте, в котором он недавно участвовал. Если кандидат только окончил ВУЗ, его могут спросить о теме диплома. Как правило, в ответе на этот вопрос собеседующего волнует одна вещь — энтузиазм. Хорошим признаком при обсуждении предыдущей работы считается, когда кандидат приходит в возбуждение, говорит быстрее и больше жестикулирует. Это показывает, что если его что-то интересует, он будет подходить к этому с энтузиазмом. Плохих кандидатов не волнует вообще ничего. Очень хорошо, если рассказывая о чем-то, кандидат вообще забудет на некоторое время, что он на собеседовании. Еще один хороший признак — хорошее понятное объяснение. Кандидат, рассказывая о предыдущем проекте, должен быть в состоянии объяснить его суть в словах, понятных простому смертному.
Далее идут вопросы, непосредственно направленные на оценку интеллекта и профессионализм кандидата. Следует отметить, что собеседующего всегда интересует, как кандидат подходит к проблеме, а не конкретные ответы.
В одной публикации компании прямо говорится: «Вам нужно преодолеть страх перед каверзными вопросами. Один или два таких вопроса вам зададут наверняка. Это может показаться вам не совсем честным приемом, но подобные вопросы задают для того, чтобы выяснить, умеете ли вы справляться со сложными ситуациями» [1].
Вопросы на сообразительность, логические задачи/головоломки
Ниже представлен список наиболее популярных задач и головоломок, используемых различными компаниями. Авторство многих из этих головоломок первоначально принадлежит Microsoft. Многие их этих задач и головоломок хорошо описаны в литературе [2]
- Как можно взвесить реактивный пассажирский самолет, если его нельзя поместить на весы?
- Почему крышки канализационных люков круглые, а не квадратные?
- В какую сторону должен поворачиваться ключ в замке, запирающем дверцу автомобиля, когда замок открывают?
- Почему, когда вы в гостинице открываете кран с горячей водой, из него сразу течет горячая вода, а в жилых домах сначала течет теплая?
- Каким образом изготавливают конфеты M&M's?
- Если вы плывете в лодке и выбросите из нее в воду чемодан, поднимется или опустится уровень воды?
- Сколько всего в мире настройщиков пианино?
- Сколько всего бензоколонок в Соединенных Штатах?
- Сколько воды проносит река Миссисипи каждый час через Новый Орлеан?
- Сколько весит весь лед на хоккейном катке?
- Если бы нужно было упразднить один из штатов США, какой из них вы бы выбрали?
- Сколько таких мест на земном шаре, где, если вы пройдете одну милю на юг, затем одну на восток, потом еще одну на север, вы вернетесь в то же место, откуда вышли?
- Сколько раз в течение дня перекрываются часовая и минутная стрелки часов?
- У Майка и Тодда на двоих — 21 доллар. У Майка на 20 долларов больше, чем у Тодда. Сколько денег у каждого из них? В ответе нельзя использовать дроби.
- Сколько раз в среднем вам понадобится открыть наугад телефонный справочник Манхэттена, чтобы найти нужный вам номер?
- Как можно разрезать прямоугольный торт на два равных куска после того, как из него уже вырезан один прямоугольный кусок? Этот кусок может быть любого размера и ориентации. Разрешается сделать только один прямой разрез.
- Какую процедуру тестирования вы предложите для солонки? Тостера? Чайника? Лифта?
- Каким образом вы сможете отыскать нужную вам книгу в большой библиотеке, если там нет систематизированного каталога и нельзя рассчитывать на помощь библиотекаря?
- Предположим, что вы поступили работать налоговым инспектором. Ваше первое задание — выяснить, не мошенничает ли при уплате налогов фирма, которая предоставляет услуги нянь для присмотра за детьми. Как вы его выполните?
- У вас есть восемь биллиардных шаров. Один из них «дефектный» — он тяжелее, чем остальные. Как можно за два взвешивания на весах без гирь определить дефектный шар?
- У вас есть пять баночек с пилюлями. В одной из баночек все пилюли «испорчены». Это можно определить только по весу. Все «нормальные» пилюли весят по 10 граммов, а «испорченные» — 9 граммов. У вас есть весы, и можно сделать только одно взвешивание. Как можно определить, в какой из баночек «испорченные» пилюли?
- В трех углах равностороннего треугольника находится по муравью. Каждый из муравьев начинает двигаться в другой случайно выбранный угол по прямой. Какова вероятность того, что ни один из муравьев не столкнется с другим муравьем?
- Четыре собаки находятся в углах большого квадрата. Каждая из собак начинает преследовать другую собаку, расположенную от нее по ходу часовой стрелки. Все собаки бегут с одинаковой скоростью, причем они постоянно меняют направление своего движения так, чтобы преследовать строго по прямой ту собаку, за которой гонятся. Сколько, времени пройдет, пока собаки поймают друг друга? Где это произойдет?
- Из Лос Анджелеса в Нью Йорк отправляется поезд с постоянной скоростью 15 миль в час. Одновременно из Нью Йорка в Лос Анджелес по тому же пути отправляется встречный поезд со скоростью 20 миль в час. В тот же самый момент из Лос Анджелеса с вокзала вылетает птица и летит строго над железнодорожной колеей по направлению к Нью Йорку со скоростью 25 миль в час. Как только она долетает до поезда, вышедшего из Нью Йорка, она немедленно разворачивается и летит в обратную сторону с той же скоростью, пока не встретится с поездом, вышедшим из Лос Анджелеса, после чего снова разворачивается и летит в обратном направлении. Так она летает туда и обратно между двумя поездами, пока они не столкнутся. Какое расстояние пролетит птица?
- У вас есть 26 констант, обозначенных буквами от А до Z. Пусть А равняется 1. Значение следующей константы будет определяться порядковым номером данной буквы в английском алфавите, возведенном в степень, соответствующую значению предыдущей константы. Это значит, что значение В (вторая буква) = 2 в степени А = 2 в степени 1 = 2. С = З в степени B = З в квадрате = 9 и т. д. Найдите точное численное значение выражения: (Х-А) х (Х-В) х (Х-С) х ... x (X-Y) х (X-Z).
- Разработайте систему счисления с основанием минус 2.
- У вас два сосуда и 100 шариков, пятьдесят из которых красные, а вторая половина — синие. В случайном порядке выбираете один из двух сосудов, из которого затем случайно выбирают и достают один шарик. Каким образом распределить шарики по сосудам так, чтобы вероятность достать красный шарик была максимальной? (Все сто шариков нужно положить в сосуды.) Какой будет вероятность случайного выбора красного шарика, если использовать вашу схему?
- У вас есть два ведра емкостью 3 литра и 5 литров и неограниченный запас воды. Как можно отмерить точно 4 литра воды?
- Один из ваших работников настаивает на том, чтобы ему платили золотом. У вас есть золотой слиток, стоимость которого соответствует семидневной зарплате этого сотрудника. Он уже размечен на семь равных кусков. Если вам разрешили сделать всего два разреза слитка, а работнику нужно платить в конце каждого дня, как можно решить эту проблему?
- У вас есть b коробок и n банкнот в один доллар. Распределите деньги по коробкам, которые затем запечатают так, чтобы, не открывая коробки, вы могли выплатить любую целую сумму долларов, начиная с нуля долларов и заканчивая n. Какими должны быть ограничения для значений b и n ?
- У вас баночка, в которой драже трех цветов: красного, зеленого и синего. Вам нужно с закрытыми глазами взять из баночки только два драже так, чтобы они оказались одного цвета. Сколько драже вам нужно достать, чтобы быть уверенным, что среди них есть два одинакового цвета?
- У вас три корзины с фруктами. В одной из них — только яблоки, в другой — только апельсины, наконец, в третьей — и яблоки, и апельсины. Вы не видите, какие фрукты внутри корзин. На каждой корзине есть хорошо заметный ярлык, но информация на нем неверна. Вам разрешено с закрытыми глазами вынуть из одной корзины один фрукт и потом рассмотреть его. Как можно определить, что в каждой из корзин?
- В деревне, где живет пятьдесят семейных пар, каждый из мужей изменял своей жене. Каждая из женщин в этой деревне, как только кто то из мужчин изменил своей жене, немедленно узнает об этом (все знают, как быстро распространяются сплетни в маленьких городках), если только это не ее собственный муж (о своих бедах каждый узнает последним). Законы этого городка требуют, чтобы женщина, получившая доказательства неверности своего мужа, убила его в тот же день. Ни одна из женщин не может ослушаться. Однажды королева, славящаяся своей непогрешимостью, приезжает в городок. Она объявляет жителям, что по крайней мере один из мужчин городка совершил супружескую измену. Что произойдет?
- Злобный демон поймал много гномов (их точное количество неизвестно). После этого во время «инструктажа при приеме на работу» в свою компанию демон прикрепил каждому из гномов на лоб красный или зеленый драгоценный камень. Демон сообщает каждому своему новому рабу гному, что теперь у того на лбу драгоценный камень, который невозможно удалить. Ни сам демон, ни другой гном не скажут, какого цвета этот камень (гномам строго запрещено разговаривать). Камни одного из двух цветов обозначают гномов, сочувствующих шпионам, засланным в компанию демона, а камни другого цвета прикреплены на лоб несчастным пленникам, которые шпионам не сочувствуют. Демон не желает говорить данному гному, камень какого цвета у него на лбу, да и вообще никогда об этом ему не скажет. На этом «инструктаж» заканчивается. Каждое утро гномы строятся. Это делается для того, чтобы демон мог их пересчитать и убедиться, что ни один из гномов не убежал. В один прекрасный день демону гномы надоели, и он решил от них избавиться. Он объявляет гномам, что отпустит их всех на свободу, если они сумеют правильно определить, какого цвета прикрепленный у каждого из них на лбу камень. Он дает им одну подсказку: есть по крайней мере один гном с зеленым камнем и один — с красным. Чтобы обрести свободу, гномы во время утреннего построения должны (им по прежнему нельзя разговаривать) подать демону правильный сигнал: все гномы с красным камнем во лбу должны выйти из строя на один шаг, а все те, у кого зеленый камень, — остаться в строю. Если они при этом не допустят ни одной ошибки — все гномы смогут отправиться домой и снова работать на своих любимых угольных шахтах. Если же они допустят ошибку — все будут казнены прямо на месте. Время, которое дается гномам для определения цвета камней, не ограничено. Они все обладают безупречной логикой и очень хотят вернуться домой. Как им нужно поступить?
- Четырем туристам нужно ночью переправиться через реку по подвесному мосту. Мост уже сильно обветшал, в настиле есть дыры, и он может выдержать одновременно не более двух человек (если на мосту окажется более двух человек, мост обрушится). Туристам нужно освещать дорогу фонариком — иначе они могут провалиться в дыру в настиле моста и погибнуть, но у них есть только один фонарик. Эти четыре человека передвигаются с разной скоростью. Адам может перейти мост за одну минуту, Лари — за две минуты, Эджу нужно пять минут, самый медлительный из всех Боно — ему потребуется десять минут, чтобы перейти мост. Ровно через семнадцать минут мост обрушится. Каким образом все четверо могут успеть через него переправиться?
Как справиться с вопросами на сообразительность
1. Прежде всего решите, какой ответ ожидается (монолог или диалог)
Самые трудные вопросы, применяющиеся в интервью, требуют, чтобы вы объяснили ваш подход к решению проблемы и потом дали правильный или подходящий ответ. Нужно решить, требует данный вопрос монолога или диалога. Логические головоломки обычно подразумевают монолог. Вам намеренно дают ограниченное количество информации и ожидают, что вы сами найдете ответ. Вам трудно в этом случае получить от интервьюера дополнительную информацию, поскольку ее намеренно вам не сообщили. Это вполне приемлемо, но затем для другого вопроса интервьюеры используют совершенно другие правила.
Личность интервьюера также важный фактор. «Жесткие интервьюеры» задают вопросы с каменным лицом и никак не реагируют на ваши ответы, но есть и такие интервьюеры, которые любят вовлечь кандидата в беседу.
2.Какая бы мысль ни пришла вам первой в голову — вы ошибаетесь
Когда речь идет о головоломках и загадках, первый потенциальный ответ, который приходит в голову разумному человеку, — это обычно неправильный ответ. Если бы это было не так, данный вопрос не стоило бы называть головоломкой.
Эти вопросы должны быть трудными. Вот почему они называются «головоломными». Подобно оптическим иллюзиям или трюкам фокусников, или уловкам мошенников, головоломки рассчитаны на то, что вас собьет с толку ваш собственный привычный повседневный опыт. Дети — это наиболее скептическая и трудная аудитория для фокусников, люди с некоторыми повреждениями мозга не подвержены оптическим иллюзиям, и мошенникам не удается обжулить абсолютно честного человека. То, что вы не можете «с ходу» решить головоломку, просто означает, что ваш мозг работает нормально, так и должно быть, когда вы их решаете.
Многие люди начинают нервничать, если ответ не приходит им в голову немедленно. Лучший способ начать диалог, который ожидается от вас, это объяснить, почему «очевидное» решение неверно. Это не только позволит прервать молчание, но и послужит отличным средством для того, чтобы понять, в чем проблема.
3. Забудьте, что вы когда-то учили интегральное исчисление
Есть такой тип задач, которые на первый взгляд требуют знания интегрального счисления, но на самом деле у них есть простое решение. Всегда старайтесь дать простой ответ. Даже если вы нашли решение при помощи высшей математики, вы можете получить невысокую оценку, так как «за деревьями не видите леса». (Вряд ли стоит долго объяснять, что, если вы проходите интервью в инвестиционном банке и вас попросили рассчитать коэффициент PDE Блэка — Шоулза, вам придется использовать для этого интегралы. То, что говорилось выше, относится только к логическим головоломкам.)
4. У пространных и сложных вопросов обычно простые ответы
Логическая головоломка — это сложная задача с простым ответом. Это особенно верно для вопросов с длинной сложной формулировкой (вроде вопросов о злобном демоне и гномах или сотне шкафчиков, двери которых захлопываются и открываются).
5. Для простых вопросов часто требуются сложные ответы
Для вопросов с простой, всего в одно предложение формулировкой, например «Почему в зеркальном отражении правое и левое меняется местами?» или «Почему пивные банки сужаются вверху и внизу?», часто требуются длинные и сложные ответы. Позаботьтесь о том, чтобы хорошо продумать эти вопросы. Вы можете получить низкую оценку, если интервьюер решит, что вы упустили что-то важное в вашем ответе. Если короткий вопрос задается о дизайне или тестировании («Разработайте дизайн туалетной комнаты для Билла Гейтса»; «Как вы стали бы тестировать лифт?»), то это часто означает, что вы должны попросить дополнительную информацию от интервьюера.
6. «Безупречно логичные существа» не похожи на вас или меня
Во многих логических головоломках речь идет о «безупречно логичных существах» (БЛС). Примером могут служить задачи о супружеских изменах в деревне или о пиратах, которым нужно поделить золотые монеты. «Безупречно логичный» — это кодовое слово, которое понятно любителям головоломок, но непонятно тем, кто не входит в их круг. Если вы слышите такую кодовую фразу, это значит, что при решении этой задачи вам нужно забыть практически обо всем, что вы знаете о людской психологии. Вам нужно придерживаться следующих предположений:
- у БЛС очень простая одномерная мотивация. БЛС озабочены только тем, чтобы получить как можно больше денег, убежать от демона, жестко следовать какому-либо глупому закону и т. д. Все остальное для них неважно. Следовательно, БЛС никогда не оказывают дружеских услуг — каждый из них сам за себя;
- БЛС думают очень быстро. Такое существо способно мгновенно оценить любые логические следствия и последствия. Оно никогда не отвлекается, никогда не делает ошибок, никогда ничего не забывает;
- БЛС понимает психологию (какой бы она ни была) других БЛС и делает точные и уверенные выводы об их действиях. Это-то, что вызывает наибольшее недоумение у тех, кто не относится к любителям головоломок. Для поступков обычных людей всегда характерна неопределенность. Это значит, что подразумеваемое решение головоломок, в которых действуют БЛС, абсолютно нереалистично. Они обычно формулируются так: А приходит к выводу, что В придет к выводу, что С придет к выводу, что D... и т.д. Такое никогда не случится в реальном мире. В реальном мире та самая неопределенность, характерная для мотивации людей, будет проявляться хаотически и непредсказуемо и сделает бесполезными рассуждения, которые мы используем, решая головоломки. Но мы сейчас говорим о именно о решении головоломок.
Вы можете использовать это как подсказку. Когда вы слышите о безупречно логичных существах, то решение почти всегда подразумевает рассуждения БЛС о других БЛС (или вы должны рассуждать так о самих себе, когда решаете задачи, в которых задается вопрос: «Что вы станете делать в такой ситуации?»).
7. Если вы зашли в тупик, перечислите все предположения, которые вы сделали. Подумайте о том, что произойдет, если вы будете последовательно одно за другим отвергать эти предположения
Как уже упоминалось выше, этот старый трюк проще обсуждать, чем применять на практике. В самых хитрых и сложных головоломках неверные предпосылки и предположения могут выглядеть так естественно, что вы даже вряд ли задумаетесь о них как о предположениях. И все же стоит попробовать. Просмотрите список и предположите для каждого из них, что верно обратное. Помогает ли это решать задачу? Если вам повезет, то вы увидите, что есть такое предположение, что, если от него отказаться, задача окажется решаемой. Даже если это вам не поможет и вы не решите задачу, мнение интервьюера о вас улучшится. Он увидит, что вы понимаете роль изменений формулировки проблемы для решения задач.
8. Если для решения задачи не хватает какой-то важной информации, продумайте различные возможные сценарии. Вы почти всегда обнаружите, что эта недостающая информация не нужна для решения проблемы
Почти всегда то, что мы называем логическими головоломками, использует один и тот же трюк, а именно: большинство людей не может найти решение, потому что считает, что им не хватает для этого информации. Если головоломка — это дизъюнкция, вам неизвестно, что выбрать, одно или другое, и вы не знаете, как найти решение, вам нужно быть готовым методично продумать все возможные варианты и следствия. Предположим, что верен вариант X — какие вы сможете сделать выводы? Допустим, что это Y — к каким заключениям можно прийти в этом случае? Вы почти всегда обнаружите, что этот способ рассуждения поможет выйти из тупика, и окажется, что вам не нужна для того, чтобы решить задачу, та самая «недостающая информация». Подумайте об этом так: если мост взорван, вам придется переплыть реку. К счастью, вам никогда не нужно будет плыть очень долго (ведь мосты обычно строятся в самых узких местах рек).
Задачи по программированию
Это задачи наподобии следующих [3]:
- Перевернуть строку без использования дополнительной памяти.
- Реализовать стэк с помощью односвязанного списка.
- Перевернуть связанный список без использования дополнительной памяти.
- Дан односвязный список. Придумать и реализовать эффективный алгоритм по нахождению m-го элемента с конца списка.
- Дан односвязный список, который может быть цикличным (n-ый элемент указывает некоторый любой из элементов 0..n-1) или ацикличным (n-ый элемент указывает на NULL). Придумать и реализовать эффективный алгоритм, который определяет, является список цикличным или ацикличным.
- Дано бинарное дерево. Написать функцию, которая распечатывает значения элементов дерева "в ширину" (т.е. слой за слоем от корня до самого последнего яруса дерева).
- Даны значения двух элементов бинарного дерева поиска. Написать функцию, которая находит общего ближайшего "родителя" этих элементов.
- Написать функцию, которая изменяет порядок слов в строке на обратный. Например, она должна преобразовывать строку "Это одна строка" в строку "строка одна Это". Использовать буфер или дополнительный массив запрещено.
- Посчитать все единичные биты в байте наиболее эффективным способом.
- Написать эффективную функцию, которая находит первый неповторяющийся символ в строке.
- Реализовать бинарный поиск.
- Реализовать быструю сортировку.
- Найти самую длинную последовательность в строке.
- Написать функцию, которая конвертирует строку в число.
- Написать функцию, которая конвертирует число в строку.
Очень важно при размышлении над решением задачи делать это вслух, чтобы собеседующий мог наблюдать ход вашего мышления.
Перед тем, как писать код, следует его планировать, особенно если используются указатели. Плохим признаком будет начинать писать код сразу.
Обсуждение кода
После того, как код написан, переходят к его обсуждению [3], [4]. Вероятнее всего в коде будут ошибки. Все программисты ошибаются, в этом нет ничего особенного, но они должны уметь находить свои ошибки. В случае строковых функций почти всегда забывают завершить новую строку нулем. Почти во всех случаях ошибаются на единицу при подсчетах. Их функции не работают корректно со строкой нулевой длины, или вызывают исключительные ситуации. Кандидату рекомендуется после написания кода сразу начать тестировать его самостоятельно, указывая на найденные ошибки.
Очень редко кандидат с первого раза не делает ни одной ошибки в своем коде. В этом случае ему могут указать на несуществующую ошибку, после чего он внимательно просматривает свой код, а собеседующий смотрит, может ли он мягко и дипломатично заявить, что его код абсолютно верен.
Вопрос по дизайну
Кандидата просят что-нибудь спроектировать, например [2]:
- Спроектируйте дом
- Спроектруйте мусорную урну будущего
- Как бы вы предложили сконструировать микроволновую печь, управляемую при помощи компьютера?
- Какую конструкцию пульта дистанционного управления видеомагнитофоном вы бы предложили?
- Предложите конструкцию дистанционного пульта управления для подъемных жалюзи.
- Предложите конструкцию полки для баночек со специями, которой будет удобно пользоваться слепому человеку.
- Спроектируйте будильник для слепых
- Спроектируйте поисковый сервер
Для вопросов о дизайне нет единственно правильного ответа. «Не слишком сообразительные кандидаты думают, что дизайн похож на рисование: вы берете чистый лист и можете делать с ним все, что пожелаете, — говорит Джоэл Сполски. — Умные кандидаты понимают, что дизайн — это трудная последовательность компромиссов». Хорошие ответы показывают, что кандидат это понимает. Кандидат должен попытаться получить как можно больше полезной информации от интервьюера.
Если возможно, найдите хороший ответ, такой, которого интервьюер раньше не слышал. Это в особенной степени важно при ответах на открытые вопросы, для которых не существует «правильных ответов». Интервьюеры много раз выслушивали обычные ответы на эти вопросы. Когда Сполски попросил одного из кандидатов на работу в Microsoft разработать дизайн полочки для специй для слепого человека, этот кандидат решил, что для слепого будет удобнее не полочка для специй, расположенная на уровне груди или лица, а выдвижной ящик для, специй на уровне пояса. Он считал, что вместо того, чтобы искать полку со специями на ощупь, а потом, подняв руку, пытаться прочесть текст, написанный шрифтом Брайля, гораздо удобнее подойти к кухонному столу, найти нужный ящик, выдвинуть его и спокойно прочесть надписи на крышках баночек со специями, скользнув по ним пальцами. Такое эргономичное решение раньше никто из кандидатов не предлагал. Также впечатляющим было и то, что кандидат эффективно переформулировал проблему. «Полочка для специй» не обязательно должна быть именно полочкой, если есть основание использовать другой дизайн». Сполски рассказывает: «На основании этого единственного ответа я принял кандидата на работу, который стал одним из лучших менеджеров в команде, разрабатывавшей Excel».
Есть ли у вас вопросы?
Последний вопрос к кандидату — есть ли у него вопросы. Эта часть собеседования не менее важна, чем остальные. По задаваемым кандидатом вопросам судят о его понимании, заинтересованности в будущей работе, энтузиазме. Уместны вопросы по уточнению организационных моментов. В некоторых случаях, к этому моменту решение относительно кандидата уже принято.
Список использованных источников
- Microsoft College Careers
- Паундстоун Уильям. Как сдвинуть гору Фудзи? Подходы ведущих мировых компаний к поиску талантов / Пер. с англ.: Альпина Бизнес Букс. — Москва, 2004
- John Mongan, Noah Suojanenand, Eric Gigure. Programming Interviews Exposed: Secrets to Landing Your Next Job, Second Edition. Wrox Press 2007
- Joel Spolsky. The Guerrilla Guide to Interviewing
Список рекомендуемых ресурсов
- John Mongan, Noah Suojanenand, Eric Gigure. Programming Interviews Exposed: Secrets to Landing Your Next Job, Second Edition. Wrox Press 2007
- http://www.microsoft.com/college/int_tips.mspx
- http://www.acetheinterview.com/
- http://www.softwareinterview.com/
- http://www.geekinterview.com/