I applied by contacting a recruiter on LinkedIn. I quickly set up the phone screen after a brief chat over the phone.
One round of phone interview involved coding on a blank Google Doc for the question: "Given two int arrays A and B, and an int c, return the total number of pairs (a, b) where a is from A and b is from B, and a + b <= c."
The on-site consisted of 5 interviews.
Given a node in a BST where each node has a pointer to its parent, find the next largest node.
Implement String encode and decode.
Given an int array A, return an int array B such that A[i + B[i]] is the first element in A after A[i] that is greater than or equal to A[i].
Design Twitter trending topics.
Given a list of files, each of which contains some "require METHOD_NAME" lines and "provide METHOD_NAME" lines. Return a working order of files to be processed.
Implement a telephone number management system that assigns randomly, recycles, and checks availability of 10-digit numbers.
The following metrics were computed from 344 interview experiences for the Google Software Engineer role in New York, New York.
Google's interview process for their Software Engineer roles in New York, New York is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Google's Software Engineer interview process in New York, New York.