Merge remote-tracking branch 'jwasham/master'
This commit is contained in:
commit
a567616a1b
@ -1,7 +1,7 @@
|
||||
# Google Interview University
|
||||
|
||||
Translations:
|
||||
- [中文版本](README-cn.md)
|
||||
- [中文版本](translations/README-cn.md)
|
||||
- translations in progress:
|
||||
- [Español](https://github.com/jwasham/google-interview-university/issues/80)
|
||||
- [हिन्दी](https://github.com/jwasham/google-interview-university/issues/81)
|
||||
@ -1330,7 +1330,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
|
||||
## Final Review
|
||||
|
||||
This section will have shorter videos that can you watch pretty quickly to review most of the important concepts.
|
||||
This section will have shorter videos that you can watch pretty quickly to review most of the important concepts.
|
||||
It's nice if you want a refresher often.
|
||||
|
||||
- [ ] Series of 2-3 minutes short subject videos (23 videos)
|
||||
|
@ -3,7 +3,9 @@
|
||||
> * 原文地址:[Google Interview University](https://github.com/jwasham/google-interview-university)
|
||||
* 原文作者:[John Washam](https://github.com/jwasham)
|
||||
* 译文出自:[掘金翻译计划](https://github.com/xitu/gold-miner)
|
||||
* 译者:[Aleen](https://github.com/aleen42),[Newton](https://github.com/Newt0n),[bobmayuze](https://github.com/bobmayuze),[Jaeger](https://github.com/laobie),[sqrthree](https://github.com/sqrthree)
|
||||
* 译者:[aleen42](https://github.com/aleen42),[Newton](https://github.com/Newt0n),[bobmayuze](https://github.com/bobmayuze),[Jaeger](https://github.com/laobie),[sqrthree](https://github.com/sqrthree)
|
||||
|
||||
[](https://github.com/xitu/gold-miner)
|
||||
|
||||
## 这是?
|
||||
|
||||
@ -22,8 +24,8 @@
|
||||
- [如何使用它](#如何使用它)
|
||||
- [拥有一名 Googler 的心态](#拥有一名-googler-的心态)
|
||||
- [我得到了工作吗?](#我得到了工作吗)
|
||||
- [跟随着我](#跟随着我)
|
||||
- [不要自以为自己不够聪明](#不要自以为自己不够聪明)
|
||||
- [跟着我的脚步](#跟着我的脚步)
|
||||
- [不要妄自菲薄](#不要妄自菲薄)
|
||||
- [关于 Google](#关于-google)
|
||||
- [相关视频资源](#相关视频资源)
|
||||
- [面试过程 & 通用的面试准备](#面试过程--通用的面试准备)
|
||||
@ -143,7 +145,7 @@
|
||||
|
||||
感谢 JP 的这次介绍。
|
||||
|
||||
## 跟随着我
|
||||
## 跟着我的脚步
|
||||
|
||||
目前我仍在该计划的执行过程中,如果你想跟随我脚步去学习的话,可以登进我在 [GoogleyAsHeck.com](https://googleyasheck.com/) 上所写的博客。
|
||||
|
||||
@ -156,9 +158,9 @@
|
||||
|
||||

|
||||
|
||||
## 不要自以为自己不够聪明
|
||||
## 不要妄自菲薄
|
||||
|
||||
- Google 的工程师都是才智过人的。但是,就算是工作在 Google 的他们,仍然会因为自己不够聪明而感到一种不安。
|
||||
- Google 的工程师都是才智过人的。但是,就算是工作在 Google 的他们,仍然会因为觉得自己不够聪明而感到一种不安。
|
||||
- [天才程序员的神话](https://www.youtube.com/watch?v=0SARbwvhupQ)
|
||||
|
||||
## 关于 Google
|
||||
@ -234,7 +236,7 @@
|
||||
- http://blog.codingforinterviews.com/best-programming-language-jobs/
|
||||
- https://www.quora.com/What-is-the-best-language-to-program-in-for-an-in-person-Google-interview
|
||||
|
||||
[在此查看相关语言的资源](programming-language-resources.md)
|
||||
[在此查看相关语言的资源](../programming-language-resources.md)
|
||||
|
||||
由于,我正在学习C、C++ 和 Python。因此,在下面你会看到部分关于它们的学习资料。相关书籍请看文章的底部。
|
||||
|
||||
@ -316,7 +318,7 @@
|
||||
|
||||
- [ ] **编译器**
|
||||
- [ ] [编译器是如何在 ~1 分钟内工作(视频)](https://www.youtube.com/watch?v=IhC7sdYe-Jg)
|
||||
- [ ] [Harvard CS50 —— 编译器(视频)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
|
||||
- [ ] [Hardvard CS50 —— 编译器(视频)](https://www.youtube.com/watch?v=CSZLNYF4Klo)
|
||||
- [ ] [C++(视频)](https://www.youtube.com/watch?v=twodd1KFfGk)
|
||||
- [ ] [掌握编译器的优化(C++)(视频)](https://www.youtube.com/watch?v=FnGCDLhaxKU)
|
||||
|
||||
@ -806,7 +808,7 @@
|
||||
- [ ] [尾递归 (video)](https://www.youtube.com/watch?v=L1jjXGfxozc)
|
||||
|
||||
- ### 动态规划(Dynamic Programming)
|
||||
- This subject can be pretty difficult, as each DP soluble problem must be defined as a recursion relation, and coming up with it can be tricky.
|
||||
- **注意** :动态规划是门极为重要的技术,尽管其并未被 Google 提供的准备手册提及,但你可能会对寻求最佳解的方式有点疑问,所以我将其列入这份表单。
|
||||
- 这一部分会有点困难,每个可以用动态规划解决的问题都必须先定义出递推关系,要推导出来可能会有点棘手。
|
||||
- 我建议先阅读和学习足够多的动态规划的例子,以便对解决 DP 问题的一般模式有个扎实的理解。
|
||||
|
@ -14,16 +14,17 @@ Original: [англійською](README.md)
|
||||
Багато пунктів взято з «[Get that job at Google](http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html)» Steve Yegge,
|
||||
вони іноді дослівно відображаються в тренувальних нотатках Google.
|
||||
|
||||
I've pared down what you need to know from what Yegge recommends. I've altered Yegge's requirements
|
||||
from information received from my contact at Google. This is meant for **new software engineers** or those switching from
|
||||
software/web development to software engineering (where computer science knowledge is required). If you have
|
||||
many years of experience and are claiming many years of software engineering experience, expect a harder interview.
|
||||
[Read more here](https://googleyasheck.com/what-you-need-to-know-for-your-google-interview-and-what-you-dont/).
|
||||
Я обрав, що вам потрібно знати, базуючись на рекомендаціях Yegge. Я вніс зміни до вимог Yegge на основі інформації,
|
||||
отриманої від мого контакту у Google. Це призначено для **нових розробників програмного забезпечення** або тих,
|
||||
що переходять з веб-розробки на розробку програмного забезпечення (де потрібне знання CS). Якщо у вас багаторічний
|
||||
досвід, і ви заявляєте про багаторічний досвід розробки програмного забезпечення, очікуйте на більш жорстке інтерв’ю.
|
||||
[Прочитайте більше](https://googleyasheck.com/what-you-need-to-know-for-your-google-interview-and-what-you-dont/).
|
||||
|
||||
If you have many years of software/web development experience, note that Google views software engineering as
|
||||
different from software/web development and they require computer science knowledge.
|
||||
Якщо у вас багато років досвіду веб-розробки, майте на увазі, що Google відрізняє розробку програмного забезпечення
|
||||
від веб-розробки, і вони потребують знання Computer Science.
|
||||
|
||||
If you want to be a reliability engineer or systems engineer, study more from the optional list (networking, security).
|
||||
Якщо ви хочете бути інженером з надійності або системним інженером, вчіть більше за опціональним списком (мережі,
|
||||
безпека).
|
||||
|
||||
---
|
||||
|
||||
@ -174,7 +175,7 @@ Everything below is an outline, and you should tackle the items in order from to
|
||||
|
||||
I'm using Github's special markdown flavor, including tasks lists to check progress.
|
||||
|
||||
- [x] Create a new branch so you can check items like this, just put an x in the brackets: [x]
|
||||
**Create a new branch so you can check items like this, just put an x in the brackets: [x]**
|
||||
|
||||
|
||||
Fork a branch and follow the commands below
|
||||
@ -472,7 +473,10 @@ I made a mobile-first website so I could review on my phone and tablet, wherever
|
||||
Make your own for free:
|
||||
|
||||
- [Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
|
||||
- [My flash cards database](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db): Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. It's way too much for what's required by Google.
|
||||
- [My flash cards database (old - 1200 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db):
|
||||
- [My flash cards database (new - 1800 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham-extreme.db):
|
||||
|
||||
Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. It's way too much for what's required by Google.
|
||||
|
||||
**Note on flashcards:** The first time you recognize you know the answer, don't mark it as known. You have to see the
|
||||
same card and answer it several times correctly before you really know it. Repetition will put that knowledge deeper in
|
||||
@ -1100,7 +1104,12 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
- replaced by Colossus in 2012
|
||||
- [ ] [2004: MapReduce: Simplified Data Processing on Large Clusters]( http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf)
|
||||
- mostly replaced by Cloud Dataflow?
|
||||
- [ ] [2006: Bigtable: A Distributed Storage System for Structured Data](https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf)
|
||||
- [An Inside Look at Google BigQuery](https://cloud.google.com/files/BigQueryTechnicalWP.pdf)
|
||||
- [ ] [2006: The Chubby Lock Service for Loosely-Coupled Distributed Systems](https://research.google.com/archive/chubby-osdi06.pdf)
|
||||
- [ ] [2007: What Every Programmer Should Know About Memory (very long, and the author encourages skipping of some sections)](https://www.akkadia.org/drepper/cpumemory.pdf)
|
||||
- [ ] [2010: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](https://research.google.com/pubs/archive/36356.pdf)
|
||||
- [ ] [2010: Dremel: Interactive Analysis of Web-Scale Datasets](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36632.pdf)
|
||||
- [ ] [2012: Google's Colossus](https://www.wired.com/2012/07/google-colossus/)
|
||||
- paper not available
|
||||
- [ ] 2012: AddressSanitizer: A Fast Address Sanity Checker:
|
||||
@ -1276,7 +1285,6 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
- [Design a random unique ID generation system](https://blog.twitter.com/2010/announcing-snowflake)
|
||||
- [Design an online multiplayer card game](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
|
||||
- [Design a key-value database](http://www.slideshare.net/dvirsky/introduction-to-redis)
|
||||
- [Design a function to return the top k requests during past time interval]( https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf)
|
||||
- [Design a picture sharing system](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)
|
||||
- [Design a recommendation system](http://ijcai13.org/files/tutorial_slides/td3.pdf)
|
||||
- [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/)
|
||||
|
Loading…
x
Reference in New Issue
Block a user