Added a couple more videos.

This commit is contained in:
John Washam 2016-06-07 18:59:09 -07:00
parent 3032dd2eea
commit 5e4057d354

View File

@ -24,15 +24,17 @@ to use this the same way. If you search/replace, there are a couple of places to
* - (very dated) http://dondodge.typepad.com/the_next_big_thing/2010/09/how-to-get-a-job-at-google-interview-questions-hiring-process.html * - (very dated) http://dondodge.typepad.com/the_next_big_thing/2010/09/how-to-get-a-job-at-google-interview-questions-hiring-process.html
* - http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions * - http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions
Additional (not suggested by Google but I added): * - Additional (not suggested by Google but I added):
* - https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4 * - https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4
* - https://medium.com/always-be-coding/four-steps-to-google-without-a-degree-8f381aa6bd5e#.asalo1vfx * - https://medium.com/always-be-coding/four-steps-to-google-without-a-degree-8f381aa6bd5e#.asalo1vfx
* - https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1 * - https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1
* - http://www.kpcb.com/blog/lessons-learned-how-google-thinks-about-hiring-management-and-culture * - http://www.kpcb.com/blog/lessons-learned-how-google-thinks-about-hiring-management-and-culture
* - http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/ * - http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/
- Gayle L McDowell - Cracking The Coding Interview: https://www.youtube.com/watch?v=rEJzOhC5ZtQ * - Cracking The Coding Interview Set 1:
- Cracking the Coding Interview: https://www.youtube.com/watch?v=aClxtDcdpsQ * - https://www.youtube.com/watch?v=rEJzOhC5ZtQ
* - How to Get a Job at the Big 4: https://www.youtube.com/watch?v=YJZCUhxNCv8 * - https://www.youtube.com/watch?v=aClxtDcdpsQ
* - How to Get a Job at the Big 4:
* - https://www.youtube.com/watch?v=YJZCUhxNCv8
########################################################################################## ##########################################################################################
## Knowledge: ## Knowledge:
@ -77,9 +79,9 @@ There are a few books involved, see the bottom
* - functors: http://www.cprogramming.com/tutorial/functors-function-objects-in-c++.html * - functors: http://www.cprogramming.com/tutorial/functors-function-objects-in-c++.html
* - C++ at Google: https://www.youtube.com/watch?v=NOCElcMcFik * - C++ at Google: https://www.youtube.com/watch?v=NOCElcMcFik
* - Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html * - Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html
- Google uses clang-format (Google setting) * - Google uses clang-format (there is a command line "style" argument: -style=google)
- C++ Core Guidelines: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
* - Efficiency with Algorithms, Performance with Data Structures: https://youtu.be/fHNmRkzxHWs * - Efficiency with Algorithms, Performance with Data Structures: https://youtu.be/fHNmRkzxHWs
- C++ Core Guidelines: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
- review of C++ concepts: https://www.youtube.com/watch?v=Rub-JsjMhWY - review of C++ concepts: https://www.youtube.com/watch?v=Rub-JsjMhWY
* - compilers: * - compilers:
@ -98,12 +100,18 @@ Each day I take one subject from the list below, watch videos about that subject
C++ - using built-in types, like STL's std::list for a linked list C++ - using built-in types, like STL's std::list for a linked list
Python - without using built-in types Python - without using built-in types
and write tests to ensure I'm doing it right, keep it simple with just assert() statements and write tests to ensure I'm doing it right, keep it simple with just assert() statements
You may do Java or something else, this is just my thing.
Each subject does not require a whole day to be able to understand it fully. Each subject does not require a whole day to be able to understand it fully.
Why code in all of these? Why code in all of these?
Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember) Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember)
Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python)) Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python))
Make use of built-in types so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production) Make use of built-in types so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production)
You don't need to memorize the guts of every algorithm.
Write code on a whiteboard, not a computer. Test with some sample inputs.
Then test it out on a computer to make sure it's not buggy from syntax.
---------------------------------------------------------------- ----------------------------------------------------------------
arrays arrays
@ -112,7 +120,7 @@ arrays
- https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays - https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays
- https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays - https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays
- Implement: - Implement:
- Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing. * - Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing.
* - new raw data array with allocated memory (can allocate int array under the hood, just not use its features) * - new raw data array with allocated memory (can allocate int array under the hood, just not use its features)
* - size() - number of items * - size() - number of items
* - capacity() - number of items it can hold * - capacity() - number of items it can hold
@ -254,6 +262,8 @@ Other data structures:
Recursion Recursion
- when it is appropriate to use it - when it is appropriate to use it
Algorithmic complexity Algorithmic complexity
- http://discrete.gr/complexity/
- http://bigocheatsheet.com/
open-ended problems open-ended problems
- manipulate strings - manipulate strings
- manipulate patterns - manipulate patterns
@ -318,6 +328,14 @@ Testing
------------------------------------------------------------------- -------------------------------------------------------------------
Once you're closer to the interview:
- Cracking The Coding Interview Set 2:
- https://www.youtube.com/watch?v=4NIb9l3imAo
- https://www.youtube.com/watch?v=Eg5-tdAwclo
- https://www.youtube.com/watch?v=1fqxMuPmGak
-------------------------------------------------------------------
Extras that can't hurt: Extras that can't hurt:
Information theory: Information theory:
@ -338,12 +356,11 @@ C (for basis of C)
C++ (for interview answers) C++ (for interview answers)
Machine Learning: Machine Learning:
- great course: https://www.coursera.org/learn/machine-learning
- http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/ - http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/
- review videos
- intro in Goodreader on iPad
- http://www.dataschool.io/ - http://www.dataschool.io/
--- ------------------------
Be thinking of for when the interview comes: Be thinking of for when the interview comes:
@ -353,11 +370,28 @@ Have a story, not just data, about something you accomplished
Why do you want this job? Why do you want this job?
What's a tough problem you've solved? What's a tough problem you've solved?
Biggest challenges faced Biggest challenges faced?
Best/worst designs seen Best/worst designs seen?
Ideas for improving an existing Google product Ideas for improving an existing Google product.
How do you work best, as an individual and as part of a team? How do you work best, as an individual and as part of a team?
Which of your skills or experiences would be assets in the role and why? Which of your skills or experiences would be assets in the role and why?
What did you most enjoy at [job x / project y]?
What was the biggest challenge you faced at [job x / project y]?
What was the hardest bug you faced at [job x / project y]?
What did you learn at [job x / project y]?
What would you have done better at [job x / project y]?
---------------------------
Have questions for the interviewer.
Some of mine (I already may know answer to but want their opinion or team perspective):
- How large is your team?
- What is your dev cycle look like? Do you do sprints/agile?
- How are decisions made in your team?
- What are you working on?
- What do you like about it?
- What is the work life like?
########################################################################################## ##########################################################################################
## Videos: ## Videos: