Педиатр-программист: Как я попал в Майкрософт | "Интервью", часть 5 из 7 (пост 2)

Это окончание 5-й части, начало в предыдущем посте, предудыщие части у меня в ленте.
====
Третье интервью стало же полным провалом.

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

Задача 3: «Допустим, у нас есть веб-приложение, которое поддерживает компоненты, называемые виджеты. Каким образом можно реализовать синхронизацию времени в двух разных виджетах?»

Первый раз я не понял условие совсем. Что требовалось от меня? Разработка API для протокола синхронизации? Два произвольных виджета должны быть синхронизованы просто между собой, или все виджеты должны иметь одно и то же время? Мои вопросы остались без ответов, индус лишь добавил, что мне нужно предложить «концепты». К такому я был несколько не готов, и из-за волнения у меня ряд названий заело на немецком (я учил всю информатику на немецком). Сначала я рассказал о Verbraucher-Konsumer-Pattern, который я в последний момент таки сумел перевести как publisher-subscriber architecture. Потом рассказал про merge replication, как оно реализовано в SQL Server. Оттуда мы перешли к high availability models, на примере кворума баз данных и распределенных транзакций. Неожиданно интервьюер повернул разговор на тему многозадачности, и я еще успел рассказать о критическом пути и семафорах на последних минутах интервью. На мой вопрос, удовлетворен ли он моим ответом, он сказал «я услышал все, что хотел услышать».

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

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

Здесь не было даже whiteboard и я был вынужден писать все на листочке бумаги, что мне дали. Задача была понята мной следующим образом:

Задача 4: «В численных кроссвордах вместо слов и букв используются числа и цифры. В любом «численном слове» цифры не могут повторяться, и все цифры идут либо в возрастающем, либо в убывающем порядке. При этом отдельные цифры можно пропускать. Например, 1245 и 9832 являются допустимыми, а 1223 (две одинаковых цифры) и 9835 (смешанный порядок) недопустимыми. Также никакое число не может начинаться на 0, но может содержать 0 в себе. Для данного слова, в котором известны несколько цифр, например, хх5хх9 или 87хх21 надо найти возможные комбинации допустимых слов.»

Здесь с самого начала я пошел не в ту сторону. Я попытался анализировать известные цифры и исходя из них для каждого неизвестного числа генерировать список возможных цифр (учитывая правила), и потом генерировать все возможные варианты. Для того, чтобы правильно учесть ограничения мне приходилось для каждого неизвестного числа сначала искать число слева, потом число справа, учитывая при этом края. После этого во время генерации возможных вариантов мне надо было учитывать то, что цифры не могли повторяться и должны были идти в определенном порядке. К концу получаса у меня так и не было решения даже близко.

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

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

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

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

Началась лекция, в которой лектор рассказывал об SLA облачных технологий и как эта SLA достигается. Неожиданно выяснилось, что кроме меня никто не знал, что такое SLA (или не хотел этого показать?). Также выяснилось, что из порядка 17 кандидатов только двое было не из университетов США: я из Германии и еще один поляк из Англии. Было много индусов, была даже девочка из Казахстана, которая училась в MIT у Barbara Liskov.

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

Первым назвали моё имя. Я не особо удивился. Рекрутер ждал меня в конце длинного коридора около стола, больше напоминавшего барную стойку. Когда я подошел, он сразу начал «Знаешь, Александр, с твоей практикой есть проблемы…». Да что там, мне было и так всё понятно, я собственно, внутренне уже подготовился и совсем не расстроился…
3
Автор поста оценил этот комментарий

(окончание части "Интервью")


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


Я помню, что я около минуты пытался осознать эту фразу. Когда до меня дошел, наконец, ее смысл, я даже не смог обрадоваться. Я как в тумане помню, как сначала 15 минут мне один индус рассказывал о проекте переписать интерфейс платформы для размещения рекламы с Silverlight на HTML5, как я что-то спрашивал его. Второй менеджер, тоже из Индии, начал так «у меня есть одно место для практиканта, но оно, к сожалению, в Сан Франциско». Почему это было «к сожалению» я не понял, но один тот факт, что это была группа, разрабатывающая алгоритмы и подразделение core search (базовые группы поиска) сыграло свою роль – и я тут же дал сделал выбор в пользу Сан Франциско и этой группы.


И только когда я вышел, с 5 другими счастливчиками, которые уже ждали меня в фойе, на прохладный воздух, наконец-то меня накрыло чувство эйфории. Это чувство было написано на лица каждого из нас. Мы взяли такси (нам раздали ваучеры на такси) до центра, гуляли вдоль набережной, мимо pike market и space needle, разговаривали, общались. Мы уже не были друг другу конкурентами, мы все уже были без пяти минут бизнес интернами Майкрософт.


После прогулки мы зашли в какой-то ресторан с морскими деликатесами, чтобы отметить получение практики. Прочитав несколько раз меню, я практически ничего не понял, кроме того, что что-то готовится как-то. Ни названия рыб (и других морских гадов), ни способы приготовления мне не были знакомы, поэтому я просто выбрал что-то наугад. Надо было видеть моё лицо, когда всем принесли суп, а мне – специальные щипцы для того, чтобы есть то блюдо, что я заказал. Пока я изучал этот странный инструмент, вызывавший у меня ассоциации с кабинетом стоматолога. Когда же мне принесли, наконец, этого несчастного краба, выяснилось, что щипцы требуют определенного навыка, потому что каждый раз, когда я пытался ими раскусить клешню или конечность меня обдавало небольшим фонтанчиком бульона, который находился в них. Таким вот небольшим позором и закончилась моя поездка в Сиэтл на собеседование.

раскрыть ветку
4
DELETED
Автор поста оценил этот комментарий

10/10 

С каждой частью все интереснее и интереснее!

раскрыть ветку
1
Автор поста оценил этот комментарий

Мое мнение абсолютно субъективно, но считаю, что это лучшие посты за последние года 2!

раскрыть ветку
4
Автор поста оценил этот комментарий

Александр, мне кажется у вас просто нереальный уровень IQ. Лично для меня, да и для многих других, я уверен, все ваши успехи-достижения - это просто нереальная планка. Уехать учиться в заграницу по медицине, одновременно любительски занимаясь программированием, знать несколько языков, практиковаться в майкрософт! Уффф...Завидуешь конечно, но белой завистью. Судя по комментам, вы порядочный человек. Я желаю вам дальнейших успехов и роста!

раскрыть ветку
1
Автор поста оценил этот комментарий

А девочка из Казахстана прошла?

раскрыть ветку