Short and Sweet Google Interview Process


created_at: 2021-09-29


Google Logo

I'll use this post as a progress report of the Google Internship application process. The only unique thing I did in regards with the initial application was specifying my interest in the ChromeOS team. In addition, I submitted a bug report to the ChromeOS team and mentioned my application. I don't know if this helped move me forward, but it was something different I did compared to previous applications.

Snapshot Survey

The survey autosaves, so use the answer history to indicate confidence in some and confliction in other answers.

Coding Exercise

  1. Leave comments on code

  2. Use descriptive variables names

  3. Make test cases

* I wrote a message to the Googlers in my tests

  1. Leave feedback on the form

* They say to not include identifiable information, but the Google account is associated with the form, so it can only help

Candidate Questionnaire

There isn't much room for unique answering strategies here, but the time to show your stuff in writing has finally come. For all long-answer sections, be sure to fill it out thoroughly. Use Grammarly to verify writing style and leave feedback at the end per usual.

Phone Interviews

I solved each question proposed in the interviews, but didn't have time to complete their second parts. The questions were straightforward but added a slight twist on common data structures. Once I completed the first question in the interviews, I opted to stop coding and instead talk to the interviewer. Hopefully that was the right move, and I'll find out within two weeks whether I move to hosting.

My first interview was stronger than my second, so as expected, I got scheduled for a third interview.

The hosting round, where you match with Google teams, comes quickly and is on a first-come basis. Because of this, completing your phone interviews as quickly as possible is very important. The sooner you can progress to hosting the better in terms of obtaining an internship, in my opinion.


Skills

  1. Code Analysis

  2. Construct and Traverse

  3. Implement system routines

  4. Mine data

  5. Transform datasets

Algorithms

  • Runtime + Space complexity

1. https://www.geeksforgeeks.org/time-complexity-and-space-complexity/

2. https://stackabuse.com/big-o-notation-and-algorithm-analysis-with-python-examples/

  1. https://www.baeldung.com/cs/p-np-np-complete-np-hard
  1. https://www.cs.utah.edu/~germain/PPS/Topics/recursion.html

  2. https://www.geeksforgeeks.org/recursion/

  • Memorization

1. https://www.geeksforgeeks.org/dynamic-programming/

  1. https://www.tutorialspoint.com/data_structures_algorithms/divide_and_conquer.htm
  1. https://realpython.com/sorting-algorithms-python/
  1. https://www.geeksforgeeks.org/greedy-algorithms/
  1. https://www.techiedelight.com/depth-first-search-dfs-vs-breadth-first-search-bfs/
  • Inorder, Postorder, Preorder

1. https://towardsdatascience.com/4-types-of-tree-traversal-algorithms-d56328450846

Data Structures

  1. https://www.tutorialspoint.com/data_structures_algorithms/linked_list_algorithms.htm
  1. https://www.geeksforgeeks.org/implementation-of-dynamic-array-in-python/

  2. https://codezup.com/create-own-custom-array-implementation-python/

  1. https://www.tutorialspoint.com/data_structures_algorithms/stack_algorithm.htm
  1. https://www.tutorialspoint.com/data_structures_algorithms/dsa_queue.htm

  2. https://www.geeksforgeeks.org/priority-queue-set-1-introduction/

  1. https://wikipedia.org/wiki/Set_(abstract_data_type)
  1. https://www.tutorialspoint.com/data_structures_algorithms/hash_data_structure.htm

  2. https://replit.com/@splch/Hash-Table

  • Binary, N-ary, Trie-

1. https://www.cs.cmu.edu/~clo/www/CMU/DataStructures/Lessons/lesson4_1.htm

  1. https://www.geeksforgeeks.org/difference-between-min-heap-and-max-heap/
  • Objects + Pointers, Matrix, Adjacency List

1. https://www.upgrad.com/blog/graphs-in-data-structure/

Operating Systems

  1. https://www.tutorialspoint.com/operating_system/os_processes.htm
  1. https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html

1.

  1. https://en.wikipedia.org/wiki/Lock_(computer_science)
  1. https://www.tutorialspoint.com/semaphores-in-operating-system
  1. https://www.geeksforgeeks.org/monitors-in-process-synchronization/
  1. https://www.geeksforgeeks.org/introduction-of-deadlock-in-operating-system/
  1. https://www.guru99.com/what-is-livelock-example.html
  1. https://wikipedia.org/wiki/Context_switch
  1. https://www.guru99.com/process-scheduling.html

Discrete Math

  1. https://www.tutorialspoint.com/discrete_mathematics/discrete_mathematics_counting_theory.htm
  1. https://www.tutorialspoint.com/discrete_mathematics/discrete_mathematics_probability.htm
  1. https://www.math.ucla.edu/~pak/hidden/papers/Quotes/Wilson-what.pdf
  1. https://www.cs.utexas.edu/~isil/cs311h/lecture-combinatorics2-6up.pdf

Timeline

Software Engineering Intern, Bachelors, Winter 2022

Date Event
July 31st, 2021 Applied to Google
September 29th, 2021 Passed Résumé Review
October 4th, 2021 Completed Snapshot Survey and Coding Exercise
October 5th, 2021 Passed Survey and Exercise Stage
October 6th, 2021 Scheduled Phone Interviews
October 11th, 2021 Completed Phone Interviews
October 14th, 2021 Scheduled Third Phone Interview
October 20th, 2021 Completed Third Phone Interview
October 29th, 2021 Failed Phone Interviews

More from slc.is
All posts