|
@@ -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,
|
|
Багато пунктів взято з «[Get that job at Google](http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html)» Steve Yegge,
|
|
вони іноді дослівно відображаються в тренувальних нотатках Google.
|
|
вони іноді дослівно відображаються в тренувальних нотатках 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.
|
|
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
|
|
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:
|
|
Make your own for free:
|
|
|
|
|
|
- [Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
|
|
- [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
|
|
**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
|
|
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
|
|
- 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)
|
|
- [ ] [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?
|
|
- 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)
|
|
- [ ] [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/)
|
|
- [ ] [2012: Google's Colossus](https://www.wired.com/2012/07/google-colossus/)
|
|
- paper not available
|
|
- paper not available
|
|
- [ ] 2012: AddressSanitizer: A Fast Address Sanity Checker:
|
|
- [ ] 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 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 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 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 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 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/)
|
|
- [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/)
|