|
@@ -1,17 +1,17 @@
|
|
|
# Google Interview University
|
|
|
|
|
|
-Оригинальная версия: [Английский](../README.md)
|
|
|
+Оригинальная версия: [Английский](../README.md)
|
|
|
|
|
|
## Для кого это?
|
|
|
|
|
|
-Это мой учебный план рассчитанный на несколько месяцев для веб-разработчиков, не имеющих образования в Computer Science (CS)
|
|
|
+Это мой учебный план, рассчитанный на несколько месяцев для веб-разработчиков, не имеющих образования в Computer Science (CS)
|
|
|
и планирующих работать инженерами-программистами (software engineer) в компании Google.
|
|
|
|
|
|

|
|
|
|
|
|
За основу учебного плана я взял список вопросов **Google's coaching notes** и значительно расширил его. Тут вы найдёте
|
|
|
-много полезных вещей, которые необходимо знать. Дополнительные вопросы я добавил в конец списка, их могут задавать на
|
|
|
-интервью, так же они могут быть полезны в решении повседневных задач. Некоторые пункты я взял из поста Стива Йеги (Steve Yegge)
|
|
|
+много полезных вещей, которые необходимо знать. Дополнительные вопросы я добавил в конец списка: их могут задавать на
|
|
|
+интервью, a также они могут быть полезны в решении повседневных задач. Некоторые пункты я взял из поста Стива Йеги (Steve Yegge)
|
|
|
"[Получить работу в Google](http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html)", а некоторые слово в слово
|
|
|
соответствуют вопросам, разбираемых Google в их постах о подготовке.
|
|
|
|
|
@@ -24,8 +24,8 @@
|
|
|
Если вы обладаете многолетним опытом разработки ПО, помните, что Google разделяет понятия инженер-программист и
|
|
|
разработчик ПО/веб-разработчик. Первое требует знаний в области CS.
|
|
|
|
|
|
-Если вы хотите быть инженерами обеспечивающими надежность ПО или системными инженерами, то уделить внимание вопросом из
|
|
|
-опционального списка (разделы сеть, безопасность).
|
|
|
+Если вы хотите быть инженерами обеспечивающими надежность ПО или системными инженерами, то уделите внимание вопросам из
|
|
|
+опционального списка (разделы Сеть, Безопасность).
|
|
|
|
|
|
---
|
|
|
|
|
@@ -156,7 +156,7 @@
|
|
|
## Чем это полезно?
|
|
|
|
|
|
Я следую этому плану, готовясь к собеседованию в Google. Я разрабатываю веб-приложения, сервисы и запускаю стартапы с
|
|
|
-1997 года. У меня есть степень по экономике, но нет по CS. До сих пор у меня очень успешная карьера, но я хочу работать
|
|
|
+1997 года. У меня есть степень по экономике, но нет по CS. На данные момент у меня очень успешная карьера, но я хочу работать
|
|
|
в Google. Я хочу работать с большими системами и понять принципы их работы, изучить эффективность алгоритмов и различные
|
|
|
структуры данных, узнать, как работают низкоуровневые языки программирования. Если ты не знаешь что-то из перечисленного,
|
|
|
Google не возьмёт тебя на работу.
|
|
@@ -173,11 +173,11 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
## Как пользоваться
|
|
|
|
|
|
-Ниже описан способ использования, вы должны выпонить пункты в описаном порядке.
|
|
|
+Ниже описан способ использования, вы должны выполнить пункты в описанном порядке.
|
|
|
|
|
|
-Я использую разметку Github, включая список задач для оценки прогресса.
|
|
|
+Я использую разметку Github, включающую список задач для оценки прогресса.
|
|
|
|
|
|
-- [x] Создай новую ветку и тогда вы сможете оставлять отметки у элементов списка, просто добавляя x внутрь скобок: [x]
|
|
|
+- [x] Создай новую ветку и тогда ты сможешь оставлять отметки у элементов списка, просто добавляя x внутрь скобок: [x]
|
|
|
|
|
|
Скопируй репозиторий и выполни команды перечисленные ниже
|
|
|
|
|
@@ -215,7 +215,7 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
Моя история: [Почему я готовился в течении 8 месяцев для собеседования в Google](https://medium.com/@googleyasheck/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
|
|
|
|
|
|
-Я еще на пути к цели. Двигаемся вперед:
|
|
|
+Я ещё на пути к цели. Двигаемся вперёд:
|
|
|
|
|
|
- **Blog**: [GoogleyAsHeck.com](https://googleyasheck.com/)
|
|
|
- Twitter: [@googleyasheck](https://twitter.com/googleyasheck)
|
|
@@ -226,7 +226,7 @@ Google не возьмёт тебя на работу.
|
|
|

|
|
|
|
|
|
## Не переживайте о том, что вы не достаточно умны
|
|
|
-- Инженеры в Google умные, но многие из них переживают что недостаточно, хотя там уже работают.
|
|
|
+- Успешные инженеры умные, но многие из них переживают, что недостаточно умны.
|
|
|
- [Миф о гениальных программистах](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
|
|
- [Это опасно, идти в одиночку: Сражаться с невидимыми монстрами в технологиях](https://www.youtube.com/watch?v=1i8ylq4j_EY)
|
|
|
|
|
@@ -301,12 +301,12 @@ Google не возьмёт тебя на работу.
|
|
|
- Java
|
|
|
- Python
|
|
|
|
|
|
-Так же подойдут:
|
|
|
+Также подойдут:
|
|
|
|
|
|
- JavaScript
|
|
|
- Ruby
|
|
|
|
|
|
-Для вас должно быть комфортно писать программы на выбранном языке и вы должны его хорошо знать.
|
|
|
+Вы должны хорошо знать выбранный язык и уметь комфортно писать на нём программы.
|
|
|
|
|
|
Подробнее о выборе:
|
|
|
- http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/
|
|
@@ -319,12 +319,12 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
## Список книг
|
|
|
|
|
|
-Это краткий список, того чем я пользовался. Он сокращен, для того что-бы сэкономить ваше время.
|
|
|
+Это краткий список того, чем я пользовался. Он сокращен для того, чтобы сэкономить ваше время.
|
|
|
|
|
|
### Подготовка к собеседованию
|
|
|
|
|
|
- [ ] [Собеседование по программированию в подробнастях: Секреты получения твоей следующей работы, 2-е издание](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html)
|
|
|
- - ответы на C++ и Java
|
|
|
+ - ответы на C++ и Java
|
|
|
- рекомендации Google по обучению кандидатов
|
|
|
- это отличная разминка перед подробным разбором собеседования по программированию
|
|
|
- не так уж и сложно, некоторые задачи проще чем вам кажутся на собеседовании (из того что я прочитал)
|
|
@@ -338,7 +338,7 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
- [ ] [Элементы собеседования по программированию](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
|
|
|
- весь код написан на C++, полезна если вы планируете использовать C++ на собеседовании
|
|
|
- - хорошая книга, описывающая решения общих задач.
|
|
|
+ - хорошая книга, описывающая решения общих задач
|
|
|
|
|
|
### Архитектура компьютера
|
|
|
|
|
@@ -405,7 +405,7 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
### Опциональные книги
|
|
|
|
|
|
-**Некоторые рекомендую эти книги, но я думаю это перебор, если только вы не инженер-программист с большим опытом работы и не ожидаете более сложного собеседования.
|
|
|
+**Некоторые рекомендуют эти книги, но я думаю это перебор, если только вы не инженер-программист с большим опытом работы и не ожидаете более сложного собеседования.
|
|
|
|
|
|
- [ ] [Руководство по разработке алгоритмов](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
|
|
|
- Как обзор и описание проблем
|
|
@@ -461,7 +461,7 @@ Google не возьмёт тебя на работу.
|
|
|
### 1. Вы не сможете сразу запомнить все
|
|
|
|
|
|
Я смотрел часами видео делая заметки, но спустя несколько месяцев многое из этого я не помнил. После чего потратил
|
|
|
-3 дня разбираясь в своих заметках и делая карточки-напоминания(flashcards), для того что бы потом можно было повторить пройденный материал.
|
|
|
+3 дня разбираясь в своих заметках и делая карточки-напоминания (flashcards) для того, чтобы потом можно было повторить пройденный материал.
|
|
|
|
|
|
Прочитайте пожалуйста эту статью, что бы не совершать моих ошибок:
|
|
|
|
|
@@ -469,7 +469,7 @@ Google не возьмёт тебя на работу.
|
|
|
|
|
|
### 2. Используйте карточки-напоминания
|
|
|
|
|
|
-Для решения этой проблемы я сделал не большой сайт, на котором можно добавлять карточки двух типов: общие и с кодом.
|
|
|
+Для решения этой проблемы я сделал небольшой сайт, на котором можно добавлять карточки двух типов: общие и с кодом.
|
|
|
Каждая карта имеет разный формат.
|
|
|
|
|
|
Я сделал мобильную версию сайта и могу читать карточки на мобильном телефоне или планшете.
|
|
@@ -484,7 +484,7 @@ Google не возьмёт тебя на работу.
|
|
|
запомнить материал.
|
|
|
|
|
|
В качестве альтернативы вы можете использовать сайт [Anki](http://ankisrs.net/), который мне рекомендовали много раз. Он использует систему повторений для того что бы помочь вам запомнить.
|
|
|
-Это ресурс user-friendly, доступен на всех платформах и имеет возможность синхронизации с облаком. На платформе iOS стоит 25$ на других бесплатный.
|
|
|
+Это ресурс user-friendly, доступен на всех платформах и имеет возможность синхронизации с облаком. На платформе iOS стоит 25$, на других бесплатный.
|
|
|
|
|
|
Моя база данных в формате Anki: https://ankiweb.net/shared/info/25173560 (спасибо [@xiewenya](https://github.com/xiewenya))
|
|
|
|
|
@@ -543,7 +543,7 @@ Google не возьмёт тебя на работу.
|
|
|
- [ ] **Изучайте C**
|
|
|
- С используется везде. Вы встретите примеры в книгах, лекциях, видео, везде, пока вы будите учиться.
|
|
|
- [ ] [Язык программирования С, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
|
|
|
- - Это не большая книга, но после ее прочтения вы получите необходимые знания по С и если будите практиковать,
|
|
|
+ - Это небольшая книга, но после ее прочтения вы получите необходимые знания по С и если будите практиковать,
|
|
|
то достаточно быстро его освоите. Понимание С поможет вам понять как программы и память работают.
|
|
|
- [ответы на вопросы](https://github.com/lekkas/c-algorithms)
|
|
|
|