Browse Source

Added a couple more videos.

John Washam 9 năm trước cách đây
mục cha
commit
5e4057d354
1 tập tin đã thay đổi với 47 bổ sung13 xóa
  1. 47 13
      plan.txt

+ 47 - 13
plan.txt

@@ -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
     * - 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/four-steps-to-google-without-a-degree-8f381aa6bd5e#.asalo1vfx
     * - https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1
     * - 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/
-    - Gayle L McDowell - Cracking The Coding Interview: https://www.youtube.com/watch?v=rEJzOhC5ZtQ
-    - Cracking the Coding Interview: https://www.youtube.com/watch?v=aClxtDcdpsQ
-    * - How to Get a Job at the Big 4: https://www.youtube.com/watch?v=YJZCUhxNCv8
+    * - Cracking The Coding Interview Set 1:
+        * - https://www.youtube.com/watch?v=rEJzOhC5ZtQ
+        * - https://www.youtube.com/watch?v=aClxtDcdpsQ
+    * - How to Get a Job at the Big 4:
+        * - https://www.youtube.com/watch?v=YJZCUhxNCv8
 
 ##########################################################################################
 ##  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
     * - C++ at Google: https://www.youtube.com/watch?v=NOCElcMcFik
     * - Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html
-        - Google uses clang-format (Google setting)
-    - C++ Core Guidelines: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
+        * - Google uses clang-format (there is a command line "style" argument: -style=google)
     * - 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
 
 * - 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
     Python - without using built-in types
     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.
 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)
     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)
 
+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
@@ -112,7 +120,7 @@ arrays
         - https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays
         - https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays
     - 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)
         * - size() - number of items
         * - capacity() - number of items it can hold
@@ -254,6 +262,8 @@ Other data structures:
 Recursion
     -  when it is appropriate to use it
 Algorithmic complexity
+    - http://discrete.gr/complexity/
+    - http://bigocheatsheet.com/
 open-ended problems
     - manipulate strings
     - 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:
 
 Information theory:
@@ -338,12 +356,11 @@ C (for basis of C)
 C++ (for interview answers)
 
 Machine Learning:
+    - great course: https://www.coursera.org/learn/machine-learning
     - http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/
-    - review videos
-    - intro in Goodreader on iPad
     - http://www.dataschool.io/
 
----
+------------------------
 
 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?
 What's a tough problem you've solved?
-Biggest challenges faced
-Best/worst designs seen
-Ideas for improving an existing Google product
+Biggest challenges faced?
+Best/worst designs seen?
+Ideas for improving an existing Google product.
 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?
+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: