Где-то три года назад меня пригласили на интервью в одну очень перспективную Калифорнийскую компанию - Ask.com. Для тех, кто не в курсе, есть такой поисковик в США, который находится где-то на 4-м месте в рейтинге. Может кто не знает (да наверно точно мало кто знает), но компанией руководят два молодых человека. Не напоминает ли это вам компанию Google? Но еще более интересное, что один из них эмигрант из России. Оооо. Ассоциации становятся еще круче. Он уехал отсюда очень давно, поэтому, во время интервью он говорил с хорошим акцентом и чувствовалось, что с трудом. Вот так вот я лично общался с одним из руководителей Ask.com.
Компания Ask.com набирала штат в России и я их заинтересовал не столько, как программист, а как писатель. Мне сразу же пришлось разочаровать их тем, что английский я знаю не на столько, чтобы писать книги или быть редактором сайта (я так понял, они планировали взять меня редактором сайта), а мои работы переводил профессиональный переводчик. Я английский знал тогда только на уровне понимания базовых вещей, и только после того интервью занялся изучением, потому что понял, что читаю мануалы без проблем, но сам связать два слова не могу, чтобы выразить свою мысль.
Я не знаю, что больше огорчило парня (забыл, как его зовут) - то, что я не смогу писать или то, что я не знаю английский, но дальше он говорил со мной без особого энтузиазма. Было дано два задания с поиском слов в громадном массиве. Я точно задания не помню, но в одном массиве данных было не сильно много, поэтому я предложил отсортировать массив и искать бинарным поиском, а во втором случае данных было очень много, ну очень много и я логично подумал, что удобно будет построить дерево (B-Tree), и как минимум пальму, потому что данных много :). Дерево отличается быстрым поиском и относительной простотой поддержки, индексации и т. д.
С точки зрения корректности решения задачи, я считаю, что решил нормально. Я рассуждая логически нашел вполне приемлемое решение, которое не заставляет компьютер просматривать абсолютно все данные. Но меня послали :(. Придя домой я нашел в интернете идентичную задачу слово в слово в какой-то книге по алгоритмам и ее решение, и там для поиска использовался хеш. Да, не спорю, что он вернет данные моментально, но его поддержка в оооочень большом массиве... Поэтому я и не подумал о таком варианте, хотя знал.
Ну ладно, не взяли меня, ну и фиг с ними, но возникает вопрос - они уверены, что найдут таким отбором правильного специалиста? Ведь тут нужно банально знать правильный ответ или прочитать ту же книгу и не пытаться думать логически о дальнейшей поддержке данных. Хотя с другой стороны, если программист прочитал ту же книгу по алгоритмам, то он уже не глупый и достоин работать в Ask.com. Я все же думаю, что мне могли дать какой-то шанс, а я с удовольствием бы получил опыт работы в такой компании. Они могли бы просто спросить меня, а что ты думаешь, про решение этой задачи, через Хеш? И я бы рассказал им свое мнение и такой вопрос мог бы выявить, понимаю ли я хеши и их преимущества или нет. Ну не получил опыт работы в Ask.com, так и не нужно, что сопли пускать. Продолжаем жить!!!
Это не какая-то заметка для размышления, это просто история одного интервью, поэтому давайте не будем спорить о том, кто прав, а кто виноват. Это просто история.
У меня резюме уже давно весит на монстре и ко мне звонили и писали из разных компаний, в том числе и из Microsoft и Google. Я в любой из этих компаний с удовольствием поработал бы, но видимо не судьба, потому что даже нормально интервью небыло. Я люблю и уважаю успешные компании, а Google и Microsoft являются успешными и очень хорошими компаниями. Я не понимаю некоторые шаги, но в целом, и Micsosoft и Google - очень уважаемые компании, которым я бы с удовольствием отдал бы свой труд.
Однажды у меня было короткое телефонное интервью в Microsoft, я так понял это была предвариловка. C/C++ не являются моими основными языками, а там нужны были программисты именно с такими знаниями. Раньше я больше программировал на Delphi, а сейчас больше на С#. С/С++ знаю, но программирую мало, просто небыло особой необходимости. Мы пообщались пять минут и там тоже сразу ко мне угас интерес, когда я сказал, что мой основной язык Delphi. Не говорили по алгоритмам, не говорили об опыте, ничего, был только общий опрос. Так что можно идти стреляться :).
С одной стороны, хороший программист способен писать на любом языке. Я могу писать на С/С++ без проблем, но первое время могу делать это медленнее того программиста, который пишет постоянно на С/С++. Год назад, я еще не знал что такое JDEdwards, а через месяц я уже программировал под него. Просто чтобы выйти на максимальную производительность, нужно время, а такие компании, а компании за бугром не любят ждать этот месяц. Они готовы платить большие деньги, но хотят за это получить отдачу и быстро. Я же не могу программировать на С/С++, потому что мой работодатель требует от меня последний год JDEdwards, а дома приходится использовать C#/PHP и сейчас вот изучаю ASP.NET.
Однажды мне звонили и из Ирландского офиса Гугла. Там интервью тоже было очень коротким. Меня спросили, есть ли у меня образование в Computer Scientist. У меня такого нет, поэтому разговор тут же закончился. Никаких больше вопросов не было.
Так что если ты хочешь попасть одну из описанных компаний, ты можешь примерно прикинуть, какие там требования. Да, я знаю мало, потому что полноценное интервью было только с Ask.com, но то, что знаю, я рассказал.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Интересная история. Подвел кое-какие выводы для себя.
Михаил, компания Ask не корпорация MicroSoft, поэтому не стоит расстраиваться. Вот если бы Вас пригласили на собеседование в MicroSoft и вы его успешно завалили, то тогда можно было спокойно пойти и застрелиться :)
Почему вдруг вспомнил?
2мальчик из MicroSoft
Может лучше даже не пытаться идти в Microsoft, а то вдруг откажут и придется идти стреляться. :)
2Мария
Встретил алгоритм работы с поиском и вспомнил, что он чем-то похож на то задание, которое мне давали. Точно задание не смог вспомнить, но что-то похожее.
Думаю, что вам Михаил вполне можно устроиться в корпорацию MicroSoft, с таким багажом знаний как у вас, думаю они будут рады вас видеть...
P.S. каким языком программирования вы владете на текущий момент лучше всего??? Если это чистый "СИ", то думаю вы сможете устроиться в данную компанию на 90%...
2мальчик из MicroSoft
Прочитай последние пять абзацев заметки, я их только что написал. А я пошел пока стреляться, как ты и советовал :).
Никогда не понимал, почему программисты на Си ценятся больше чем на Делфи. К тому же, если почитать объявления о приеме на работу, то все требуют диплома о высшем техническом. Потом, когда приходишь, то диплом откладывают в сторону и спрашивают, а что ты реально знаешь. Вот такой вот замкнутый круг... Поэтому сейчас большинство идет в вузы исключительно ради корочки(
Вот тут очень хорошо поступали в Ask.com. Им повиг был язык программирования. Можно было знать С++ или Java, но главное, понимать алгоритмы. Они понимают, что программиста можно научить программировать на другом языке за месяц, а вот научить думать уже сложнее. Поэтому они в основном давили на алгоритмы работы с поиском и со строками.
Михаил: но главное, понимать алгоритмы...
Михаил, это золотейшие слова, алгоритмы - самое основополагающее требование от компаний к соискателю, которые действительно хотят заполучить Программиста, а не кодировщика...У меня есть знакомые, составляющие алгоритм к задаче за 15 минут, который я могу разрабатывать неделями(и в итоге не разработать, т к имею слабую алгоритмическую базу, очень слабую, примерно на 4% от того, что в своих томах описывает величайший алгоритмист всех поколений сэр Эрвин Дональд Кнут)...поэтому самое главное, уметь и учиться разрабатывать алгоритмы, причем наиэффективнейшие...Думаю, что если вы никогда не писали на ЯП Forth, то выучить синтаксис - максимум 2 недели, а вот писать на нем распределенные инфомационные системы, под силу только гуру - программистам, владеющих самыми современными алгоритмами...Также считаю, что кроме алгоритмов, должна быть сильнейшая математическая база, вот тогда, такому соискателю будет рада любая корпорация и готовы будут платить сумму, о которой можно только мечтать..Резюме: АЛГОРТИМЫ - ГЛАВНОЕ В ПРОГРАММИРОВАНИИ...все имхо...
Математическая база...
Математика - она, ИМХО, лишь развивает мозг. И развивает его неслабо. А для программистов сущестувуют специальные разделы математики.
А если ты вышку не учил, но имеешь математический склад ума - то программером можешь стать без проблем. По крайней мере такие примеры приводились на форуме programmersclub.ru
мальчик опять всё исказил, не так важно знать кучу алгоритмов, гораздо важнее понимать их, именно алгоритмическое мышление ценно, а зубрить конкретные алгоритмы смысла нет...
>Никогда не понимал, почему программисты на Си ценятся больше чем на Делфи.<
Microsoft не занимается Delphi по историческим причинам.
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.