Ziirish's Home :: Blog

Ziirish's Pub

 
 

Hi there,

I've been quiet for a few months now. One of the main reasons is I had the chance to take part to the Google recruitment process.

Some background

For the record, I applied to Google in 2008 during my Internship in Athlone (Ireland). I had been contacted back in 2011 but failed in the very first steps of the recruitment process. This time, I went to the last step (I guess...) and here is my story. I hope it may be useful to someone.

The beginning

It all started in December when I received an Email from a recruiter from Google for a position at Saint Ghislain Belgium.

They were looking for hardware engineers . I answered the recruiter I was not qualified for this particular job but I agreed to have a chat with him.

First phone call (~45 minutes)

Here we are, sometimes in December we had our first phone call. We chatted a bit about the job and then it was my turn to introduce myself, as usual during an interview.

In the end we both agreed I would not be a good match for the hardware engineering position so the recruiter told me he will re-route my CV for another position.

Back to the start

In January, another recruiter contacted me and told me I could be a good fit for the SRE (Site Reliability Engineering) team.

We then agreed on a schedule for a phone call a few days later. In the meantime, I have been asked to evaluate myself on different topics, from Linux internals to Algorithmic. Answering this helps the recruiter focusing on what you are supposed to be good at.

Another phone call (~60 minutes)

As planned, a few days later the recruiter called me. She started to describe the job and then I told her it was exactly the kind of job I was looking for. This time I did not have to introduce myself because the previous recruiter gave her all the informations he already gathered on me. So we switched to the next part where the recruiter asks you a dozen of questions according to what you answered on your self-evaluation. There were questions related to Linux internals, Networking, Coding, and so on. At the end she looked convinced by my answers and told me about the recruitment process and the next steps I would have to face.

I also told her I was very busy at the time with a personal project and she told me to take all the time I needed and contact her back when it would be a better time for me.

Let's have a break

Yes, they give you the time you need to do whatever you are doing. In March I was ready to continue so I sent my recruiter an email saying we could go on. She answered she would arrange a phone call with an engineer for the next step and I was asked to send my availabilities for this next call.

Technical interview (~45 minutes)

For the technical interviews, you are asked to have access to a computer connected to the Internet. A Google doc is shared with you and the engineer.

The first part of the interview was focused on Linux System where you have to describe a given behavior. I don't think there is one good answer. It is more like a tech chat just like if you were talking to a colleague. The more you answer, the deeper you have to go in your explanations. After about 30 minutes I was asked to answer a situation using whatever programming language I'd like. I decided to answer in Python as it is the language I have been heavily using for the past few months. To answer, you have to write your code directly into the shared Google doc, without any compiler. In the end, the interviewer told me he had to report his feedback his side and my recruiter will contact me whether or not they'd like to continue.

He also gave me the opportunity to ask him whatever question I wanted, but I just did not know what to ask so I did not ask anything.

About a week later, my recruiter told me she had some good feedback and she would arrange another interview.

Again I was asked to send my availabilities.

Second technical interview (~45 minutes)

This second technical interview was more focused on my coding skills so I had another situation to solve with a piece of code. This time, I was asked to answer in Python as they noticed I did not look to bad using it... I solved the problem very quickly, I even impressed myself! Of course it was a quick&dirty implementation. There were a lot I could do to improve it because the code was not the most efficient, but the interviewer looked impressed too saying something like « Wow... That was fast! ». So he decided to move on with some System questions.

In the end he also gave me the opportunity to ask him a question, but I though I just failed the interview so I was not in the mood of asking anything...

Again he told me he had to report his feedback and my recruiter should contact me.

A few days later I received an email from my recruiter saying she had « very good feedback » regarding my technical interviews and she wanted to give me another phone call.

During that phone call she told me they wanted me to have on-site interviews. The job they proposed me was in Sydney (Australia) but I thought it was easiest to have the on-site interviews in Europe so we both agreed Dublin was a good choice.

On-site interviews

A few days later, I was again asked to send my availabilities. Then I received some propositions and picked-up one of them. I received my flying and the hotel booking confirmations. Yes, they take care of the whole thing!

For the on-site interviews, you are invited in the Google offices to have five interviews.

  1. Linux Systems
  2. Linux Internals
  3. Troubleshooting
  4. Coding
  5. Large scale systems design

Each interview lasts 45 minutes. I have had the first three interviews in the morning, then we had lunch and the two remaining interviews the afternoon.

The first two interviews went pretty well I think. I even had time at the end to chat a little with the engineers about their daily job, what it's like to work at Google, etc.

The troubleshooting interview went well too in my point of view. Not as well as the two others, but well enough I guessed.

The lunch was good and the engineer I eat with was really nice. We had a good chat about the Google spirit, about Dublin, etc. Then he gave me a tour at the offices.

It is definitely how they say it is: awesome. There are different ambiances at different stages of the building, so I think everyone can feel comfortable somewhere.

Then it was time to have my two remaining interviews.

The coding one went not too bad too from my point of view although I had a little confusion regarding what I was asked for. But I though I answered the question. I was also asked to answer in Python. Of course there are plenty of better answers but it is not my daily job so I though they might be comprehensive. Of course I know a few things, I know how to write code, I know in some cases you need efficient code and I take care of that when it is necessary. The thing is I am not very fluent with some algorithm principles so it might take longer that usual.

This time I did not have the time to finish writing my code, but I explained what I wanted to do. My code was already working-ish but there was a little bug I needed to fix so I just wrote some pseudo-code to address this bug. It's an interesting interview because you have to write your full code on a white-board.

The last interview was about large scale systems design. That is something I've never faced before because it is about problematics that only big companies (like Google) encounter.

The question was very interesting and although it was a bit disturbing, I finally came up with a solution I was satisfied about. We chatted about optimizations and performances.

I think my solution answered the requirements, but I had some difficulties proving it and I did a lot of (mathematics) errors.

The longest week of my life

Just after that big day, I was back to my normal life, asking myself if I did great or not.

The day after the on-site interviews, my recruiter told me the next step was over their hiring committee. They would have to review the informations they had gathered during the whole process.

The answer came fast, because a week after my trip my recruiter called me. But in this situation, a day looks like a year!

The committee decided not to hire me because my algorithms knowledges are two weak and I don't have a sufficient background in large scale systems design.

Conclusion

In the end, I'm very disappointed because the job seems to be exactly what I am looking for. It is what we call a DevOps in France, a sysadmin that knows how to code and that codes systems stuff.

Anyway, I really enjoyed being part of this experience. The Googlers I chatted with were all very kind to me. We also had some interesting discussions. I also like the way they try to understand how your brain works.