Hi,
I interviewed at Google Zurich yesterday and thought I'd share my experience, especially because I couldn't really find anything about Google Zurich on this sub.
I discovered this sub a few months ago and started reading about interviews, whiteboard-coding, $100k salaries, top (10, 20, 50) schools, Big 4, internships with ridiculously high salaries and so on and was intimidated. My only interviews consisted of talking to HR / management about strengths, projects etc. and my highest internship salary was 750€ which is not too bad here in Germany.
Some background about myself: I'm a 3rd year (senior year) CS student from Germany, my school is pretty bad, I passed algorithms with ~60%, my GPA is mediocre and the only interviews I've had before were with journalists and HR people. Not exactly the best prerequisites, right? I decided to try it anyways, bought CTCI and started re-learning my algorithms and data structures.
Fast forward to February: It was around 1 AM and I said fuck it, submitted my resume for a software engineering position, went to bed and got up early for class. While I was telling my friend that I had applied, a new mail arrived - from a Google recruiter! We scheduled a hangout where they explained the application process and asked me some questions (two were technical, probably to weed out idiots - because I can't see anyone failing these).
I passed the technical phone interview and was invited onsite, yay! I didn't even expect to make it that far. It took me some time to find a date for the interview but I eventually managed to find two consecutive days where I had time / boring classes. The booking process etc. was pretty straight-forward, the date was set and I had to start learning while somehow keeping up with my classes.
Fast forward to Wednesday: I packed my stuff and flew to Zurich, checked in at the hotel, went out for dinner and then to bed.
Thursday, interview day: I arrived on time, met my recruiter, got a goodie bag (yay!) and we headed to the room where I would spend the next hours.
The first interview was a disguised, part of the problem was to find out that it was disguised. I was able to solve the "first" question, including calculating space and time complexity and then solved the "second" question which was essentially the first one but modified (the interviewer wanted me to implement the first solution before he asked for the "real" solution, I recognized and pointed out the problem immediately). We chatted a bit about the interviewer's job afterwards.
The second interview was with a guy from Germany, yet we conducted it in English. He was pretty relaxed. He wanted me to talk through the problem without writing code at first which I did. Now he changed the requirements but I should keep the time complexity and he wanted me to write code now. It took me a few minutes to solve it because I got confused in between but the final solution worked fine. While writing it out, I noticed I was writing the almost identical code three times which I changed to writing it only once, I love C++ and references. We chatted again a bit about his job.
The third interview was with a recently hired guy who was being supervised by a more experienced interviewer. We started with a brain teaser which I incredibly enjoyed. Seriously, I loved this question. It was easy and difficult at the same time. After solving it in a few minutes, we started with the "real" question. I wrote down a (unoptimized) recursive solution, showed him the complexity and how I was going to optimize it. Made it linear and he seemed satisfied. He asked if I could improve it and I said an iterative solution could be done with O(1) memory but didn't manage to write one on the whiteboard in time. No big deal according to him since I managed to find the recursive solution.
After the first three interviews, another software engineer met me for lunch. We chose a cafeteria and I could choose whatever I wanted and everything was free. Awesome. Afterwards he gave me a tour through the building and it seems like an incredibly cool place to work. They have multiple "lounges" with different themes, free beverages everywhere and the office space looked pretty good. The office is the third largest and you could notice that, it was pretty crowded. And the people there just seemed like they enjoy what they're doing. The atmosphere was completely different in comparison to my current employer.
The fourth interview was the first question I struggled with. I would like to mention that graphs are the only basic data structure that weren't really covered in my classes which is why I taught them myself. This was the moment when I realized the difference between professional education and teaching yourself something in your spare time. The time was out before I was able to write a solution but I solved a sub-problem of it and talked my way through expanding it to a complete solution.
The fifth interview was a system design question and more like an open-ended conversation, Google is more interested in your thought process than a complete solution (that's what they told me at least).
And that's it. The interviewer brought me to the reception, I checked out and went to the airport where I could enjoy the sun (20 °C!) before departure. My recruiter told me they were on vacation next week but would call me as soon as possible.
Overall, I had a really positive experience at Google, everything was really quick and organized, my recruiter made sure to help me as much as possible and was really friendly, HR was uncomplicated to deal with and the people there were really nice. I've read the "horror stories" about interviewers that feel like they're wasting their time and make sure to demonstrate it, slow recruiters etc. and I don't know if it's because of the different continents but I would apply again in a heartbeat at any time.
Some last words:
I don't know if I was good enough to get hired. I'd say I was good but the fourth interview may have hurt my chances and I don't know how others performed. Nevertheless, I enjoyed it. Let's wait and see.
Oh, and I wrote an e-mail to my former algorithms & DS professor (who btw told us in our first lecture that only few of us were going to need most of what we were going to learn and even fewer were going to work at Google, most would be stuck in CRUD-jobs, yes, he's known for being brutally honest), thanking him for his lectures because I realized they were the most important I had.
I think I've now seen the difference between self-learning where one can skip some things they might find unimportant or irrelevant (4th interview) and learning in school where one has no choice what they want to learn.
Thanks for reading and sorry for any mistakes, I'm not a native speaker.
[–]superninjaa 13 ポイント14 ポイント15 ポイント (1子コメント)
[–]ehochx[S] 2 ポイント3 ポイント4 ポイント (0子コメント)
[–]WeeblieSoftware Engineer 10 ポイント11 ポイント12 ポイント (1子コメント)
[–]ehochx[S] 4 ポイント5 ポイント6 ポイント (0子コメント)
[–]LLJKCiceroSoftware Engineer 6 ポイント7 ポイント8 ポイント (0子コメント)
[–]LLJKCiceroSoftware Engineer 6 ポイント7 ポイント8 ポイント (0子コメント)
[–]dis_my_name 5 ポイント6 ポイント7 ポイント (1子コメント)
[–]ehochx[S] 12 ポイント13 ポイント14 ポイント (0子コメント)
[–]anonymous_1983 5 ポイント6 ポイント7 ポイント (2子コメント)
[–]ehochx[S] 5 ポイント6 ポイント7 ポイント (1子コメント)
[–]CydeWeys 4 ポイント5 ポイント6 ポイント (0子コメント)
[–]cheap-whore 3 ポイント4 ポイント5 ポイント (1子コメント)
[–]ehochx[S] 2 ポイント3 ポイント4 ポイント (0子コメント)
[–]LLJKCiceroSoftware Engineer 2 ポイント3 ポイント4 ポイント (9子コメント)
[–]ehochx[S] 2 ポイント3 ポイント4 ポイント (8子コメント)
[–]LLJKCiceroSoftware Engineer 3 ポイント4 ポイント5 ポイント (1子コメント)
[–]ehochx[S] 2 ポイント3 ポイント4 ポイント (0子コメント)
[–]QuickSkopeSophomore 0 ポイント1 ポイント2 ポイント (5子コメント)
[–]ehochx[S] 3 ポイント4 ポイント5 ポイント (2子コメント)
[–]lojicFreshman 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]QuickSkopeSophomore 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]immoralatheist 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]VaginalVirus 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]NVRLandStudent 4 ポイント5 ポイント6 ポイント (2子コメント)
[–]LLJKCiceroSoftware Engineer 4 ポイント5 ポイント6 ポイント (1子コメント)
[–]ehochx[S] 1 ポイント2 ポイント3 ポイント (0子コメント)
[–]viraj071 1 ポイント2 ポイント3 ポイント (1子コメント)
[–]ehochx[S] 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]jfayd 1 ポイント2 ポイント3 ポイント (1子コメント)
[–]ehochx[S] 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]mordrin 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]True-Creek 0 ポイント1 ポイント2 ポイント (2子コメント)
[–]ehochx[S] 6 ポイント7 ポイント8 ポイント (1子コメント)
[–]erratic3 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]jjake101Student 0 ポイント1 ポイント2 ポイント (0子コメント)
[–]feyrath 0 ポイント1 ポイント2 ポイント (2子コメント)
[–]ehochx[S] 1 ポイント2 ポイント3 ポイント (1子コメント)
[–]feyrath 1 ポイント2 ポイント3 ポイント (0子コメント)