statyacal
  • Blog

Cracking The Coding Interview Ebook

11/10/2016

0 Comments

 

Собеседование в Google — Часть 1. Первый контакт. На мой день рождения, 2.

Google и пригласила пройти собеседование в инженерную команду доступности сервисов (SRE team). Спустя несколько дней состоялось собеседование по телефону. Интервьюер попросила меня оценить мои знания по различным языкам программирования, концептам Linux и некоторым другим техническим аспектам по 1. Разумеется, я не оценил себя выше 6 баллов. Честно сказать, я не знал, как оценить себя по Java.

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

Я нашел решение, но оно было далеко от оптимального. Так или иначе, мне как- то удалось перейти к техническому телефонному интервью (подождите, разве это не было техническим?). Google имеет репутацию компании, в которой процесс собеседования очень трудный. После неуверенного phone screen собеседования, я волновался по поводу того, с чем мне еще предстоит столкнуться. Техническое собеседование по телефону. В техническом собеседовании по телефону от меня требовалось писать код онлайн в Google Doc, в котором мы с интервьюером могли видеть, что печатает каждый из нас. Мне было трудно писать программу без помощи интегрированной среды разработки (IDE).

Я не буду раскрывать точное задание, а расскажу о нем лишь в общих чертах. Интервьюер поставила передо мной задачу и сказала, что сначала я могу решить ее простым способом, а потом с помощью распределенной системы. Я сражу же решил ее с помощью распределенной системы, потому что для меня это было не сложно. На моей текущей работе, я создавал распределенные системы, так что я был знаком с различными методами и алгоритмами. В конечном итоге для решения потребовались базовые знания Hash. Map, map reduce и распределенных систем.

Интервьюер позволила использовать сокращения, например называя метод, как send. Task. To. Server (server. Id, task), и мы обсудили реализацию. Реальная сложность заключалось в разделении нагрузки и объединении результатов в правильный ответ. Я обнаружил, что эта задача очень интересная и почувствовал себя комфортно на этом этапе. Думаю, я бы не сделал лучше. Интервьюер сказала, что я выполнил задание очень хорошо.

Cracking the Coding Interview, Fourth Edition Год: 2010. Автор: Gayle Laakmann Издательство: CareerCup, LLC ISBN: 978-1-450-59320-5.

Она спросила, есть ли у меня знакомые в Google, которые могут меня порекомендовать. Это значит, что если вы знаете кого- то в Google, и он может поручиться за вас, то второй техническое телефонное собеседование можно пропустить и перейти непосредственно к собеседованию на месте (onsite interview). К сожалению, у меня не было знакомых в Google. Тем не менее, через несколько дней рекрутер сказала, что я могу пропустить второй телефонное собеседование, и она передаст меня другому рекрутеру, который будет подготавливать меня к собеседованиям на месте. Собеседования на месте.

1) Книга “ Cracking the Coding Interview ” (en, ru). Ее можно найти на торрентах. Она, кстати, была переведена на русский язык. Отправляем резюме рефером через знакомых. Книга: Карьера программиста ( Cracking the Coding Interview). Автор: Макдауэлл Лакман. Аннотация, отзывы читателей, иллюстрации.

К собеседованиям на месте я готовился в течение 2 недель. Рекрутер дала мне ссылку на Google Interview Resources. Этот ресурс можно использовать для подготовки. Также она настоятельно порекомендовала книгу: Cracking the Coding Interview: 1. Programming Questions and Solutions (в русском переводе эта книга вышла под названием «Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT- компанию»).

Если собираетесь на собеседование в Google, Amazon, Netflix, Apple или в любую другую компанию, то обязательно прочтите эту книгу. Она поможет вам подготовится. Я приобрел ее и прочитал от корки до корки. В первой главе книги рекомендуется готовиться к собеседованию как минимум месяц. У меня было 2 недели . Каждый вечер в течение 2 недель я решал задачи, изучал обход вершин дерева (tree traversal), сортировку, нотацию «большого О» .

3) Расширить тематику. За основу я предлагаю взять книгу “ Cracking the Coding Interview ” (она же есть на русском). Free Download IT eBooks : http:// ebooks.info/ — хотя я не уверен в том, что. На эту обратите внимание " Cracking the Coding Interview &quot. Также она настоятельно порекомендовала книгу: Cracking the Coding Interview : 150 Programming Questions and Solutions (в русском.

Cracking The Coding Interview Ebook

Я все это знал, просто не использовал годами. Я вылетел из Денвера в Маунтин- Вью вместе со своей женой в качестве моральной поддержки. Мы решили после завершения собеседования отправится в отпуск. В зависимости от результатов собеседования — это будет поощрением или утешением. Собеседование было назначено на следующие утро.

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

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

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

Дрожащим голосом я ответил: “Невероятно нервничаю”.“Хорошо”, – ответил он, – Если вы бы не нервничали, то нервничал бы я”. Про себя я подумал: “Куда я влип. Взять бы вот этот Google велосипед и уехать отсюда далеко и никогда не возвращаться!”В соседнем здании рекрутер провел меня в комнату для собеседований и подарил пакет с подарками и дал график собеседований.

В пакете находилась кружка с логотипом Google. Я нервно рассмеялся: “Ну, думаю, по крайней мере, возьму хоть кружку”. Рекрутер объяснил: “В общей сложности будет 6 собеседований. Два до ланча, одно во время и три после. Каждый интервьюер поставит свою оценку, которую комитет по найму персонала использует, когда будет решать брать меня на работу или нет. Исключение составит лишь собеседование во время ланча, оно оцениваться не будет, так как оно более неформальное, и о нём лишь оставят отзывы”.

Вскоре пришел мой первый интервьюер. Мой рекрутер попрощался и больше я его не видел. Он спросил, как разработать программу, которая проверяет корректность движения и предугадывает следующие движения и т. Это было одно из самых сложных собеседований. Большую часть собеседования мы говорили об алгоритмах на основе mock- объектах. Около 1. 5 минут я писал код на белой доске.

Думаю, справился. Второй интервьюер спросил меня о Java параллелизме. Как создать Singleton (шаблон проектирования) потоко- безопасным способом.

Его редко кто применяет правильно. Я часто говорю, что одна из самых полезных структур данных из когда- либо изобретенных – это Hash. Map. Каждый должен знать, как Hash. Map работает и понимать, что это ключ к решению подобных задач на собеседовании. Я справился и был очень доволен результатом. Знаю, знаю, я не рассказываю вам о точных задачах, которые поставили передо мной. К сожалению я подписал Соглашение о неразглашении конфиденциальной информации .

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

По дороге к кафе мы поговорили о разных вещах: опыте за плечами, технологии Google, моих предыдущих проектах и откуда я родом. Это была дружеская беседа. Главное кафе Google огромное. Внутри закусочная, как в большом торговом центре, с разнообразной едой.

К сожалению, нервы убили мой аппетит, поэтому я просто размазывал салат по тарелке. Интервьюер спросил о работе по построению распределенных систем, и о реализации определенных задач. После ланча меня сопроводили в другое здание – Google Maps. Здесь состоялись заключительные собеседования. Первое было связано с алгоритмом обхода дерева, а второе с Hash. Maps. Я справился хорошо с обоими собеседованиями.

Исключение составила задача анализа времени прогона программы. Я не силен в этом. Финальный этап собеседования по архитектуре системы был самым интересным.

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

Возможно, я прошел через самое строгое технического собеседование и считаю, что успешно с ним справился. Не знаю, хочу ли я получить предложение о работе, но я сделал все, что мог – и этого мне достаточно. Собеседование в Google — Часть 2.

Неделя нуглера в Нью- Йорке. Источник: www. jasonclawson.

Автор: Джейсон Клоусон Перевод выполнен abv.

0 Comments



Leave a Reply.

    Author

    Write something about yourself. No need to be fancy, just an overview.

    Archives

    November 2016

    Categories

    All

    RSS Feed

Powered by
  • Blog
✕