Initial phone call from a recruiter who set up a phone screen with an engineer.
Invited to an onsite a week later.
I was interviewed by 4 people, and another person took me to lunch.
Received a rejection from the recruiter 3 days after my onsite.
Phone interview: Given an NxN matrix, how would you print all elements in a spiral way, starting from the middle element?
Phone interview answer: Four for loops with conditions.
Onsite:
Interviewer 1:
Q1: Find all pairs of numbers that equal a given sum in a given integer array.
My Answer: Put all elements in a HashSet and iterate over them. Check if sum - current_number is present and add that pair to the result. O(n) runtime.
Q2: Find the longest sequence of integers in a given integer array. My Answer: Maintain two lists. One holds the current sequence, and the other holds the longest sequence. If the current sequence is longer than the longest, copy the current to the longest and continue. O(n) runtime with two temporary lists for space.
Interviewer 2: Asked about ETL and its advantages/disadvantages. I mentioned that I am a Java/web developer, but they still asked me to design a system and consider things when transferring data from one database to another. I asked if I should focus on considerations within Java. They said no, but "in general." The interviewer is an ETL developer. I am unsure if my answer satisfied them.
Lunch
Interviewer 3: There's a grid (A-Z, 5 letters per line). Design a method that takes a movie name and returns a string output representing movement codes. For example, to type 'U', you might move down three times and right a couple of times, resulting in "DDD!RR!". I took longer than expected to solve this, but I managed to get 'D', 'L', and 'R' movements within the given time crunch. My answer: Involves getting the integer value of a letter, then its divisor and remainder when divided by 5, and using these to determine the movement direction and number of times.
Interviewer 4: Design a restaurant. Basics of inheritance and composition.
The following metrics were computed from 49 interview experiences for the Google Software Engineer role in Sunnyvale, California.
Google's interview process for their Software Engineer roles in Sunnyvale, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Google's Software Engineer interview process in Sunnyvale, California.