Taro Logo

Software Engineer (Machine Learning/Data Scientist) Interview Experience

October 26, 2014
Neutral ExperienceGot Offer

Process

I heard back from Google within a couple of weeks after applying, as I had someone internally recommend me.

The hiring process starts with a call with the recruiter. They are very friendly and they briefly go over the recruitment process.

The first interview is a phone interview. It revolved around a design question. They will start with an easy problem and then keep adding complexity to it as you move on. This was more of a discussion. After about 15 minutes of the design question, the interviewer wanted me to write some code for a completely different problem. They are fine with any language (Python, Java, C, C++, etc); I used Python. The coding question was about something basic with regular expressions. I cannot reveal the exact question as I have signed an NDA.

Within a few days, the recruiter got back to me and scheduled an onsite interview. Since I wanted to prepare well for the interview, I pushed the onsite interview out a few weeks.

The onsite consisted of 5 interviews. Instead of listing out each interview, I will give a general overview and some pointers that may help. I am a machine learning scientist, not a software engineer. So, I brushed up on data structures (Arrays, Lists, Hash Tables, Graphs, and Binary Search Trees) and algorithms ((n)log(n) sorting, BFS/DFS, In-Order/Pre-Order/Post-Order Traversal, etc.). I also practiced coding questions from TopCoder. A good place for basic computer science stuff is the algorithms and data structures course on Coursera by Tim Roughgarden. One thing to keep in mind is that you must always know the time and space complexity of any code that you write. It will always be asked.

It is a good idea to go through your solution with the interviewer before you start writing code. The interviewers are friendly and they will point you in the right direction if you have any problems. Always keep the interview a two-way conversation. Ask questions if you do not understand something. In my experience, they do not care as much about the final answer as they care about your thinking process. So, think out loud; this really helped me. Practice writing code (proper syntax) on a piece of paper because during the interview, you will be asked to code on a whiteboard.

Last but not the least, don't get demotivated if you do badly in one interview; try and ace the next ones. I completely messed up one interview in which I was not able to answer the question at all. The question was on recursion for a hypothetical tree data structure. I absolutely could not get the interviewer's hints, but I never gave up and kept on trying until the interviewer was tired and moved on.

Questions

Recursion

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Google Software Engineer (Machine Learning/Data Scientist) role in United States.

Success Rate

100%
Pass Rate

Google's interview process for their Software Engineer (Machine Learning/Data Scientist) roles in the United States is incredibly easy as the vast majority of engineers get an offer after going through it.

Experience Rating

Positive0%
Neutral100%
Negative0%

Candidates reported having mixed feelings for Google's Software Engineer (Machine Learning/Data Scientist) interview process in United States.

Google Work Experiences