I applied through a recruiter. The process took 2 days. I interviewed at Google in Apr 2014
Interview
I was initially sent an email by a recruiter asking if I am interested in a role at Google. If so, I should provide contact details for him to call and discuss the type of role he had in mind. I showed interest and was duly contacted. I was explained what kind of a role they were looking to hire people for. I have always been in the academic field studying away for my degrees so the chance at my very first interview (esp. at Google) got me to say yes. Next I was allowed to choose a time that suited me for a technical interview (via phone and google docs) for which I was prepared in terms of knowledge but very unprepared in terms of the process of the interview.
Initially emailed by HR to set up an initial screening. Phone screening was just background questions and questions about my education. Technical interview came about a week later. It was a bit strange because the person who originally contacted me (HR) ended up either moving to another position or got left for some reason, so I got passed around a lot and had 3 HR people throughout the process.
Interview questions [1]
Question 1
Write a function with integer input which returns an integer having been flipped around in the binary sense. Example:
Given 3, it should be turned into 0000 0011, then flipped 1100 0000, then return 64+128 = 192. I commented that this was easily done via bitwise manipulations, but I have not done those in a while so I wrote a program out in C to do it manually.
I applied online. The process took 4 months. I interviewed at Google (Taipei) in Jul 2014
Interview
For now I'm waiting for the result of the phone interview.
*The hiring process in Google Taipei ( in my experience)
1. hand in the resume to the job opening in Google's website
2. HR will contact you (if your resume is attractive enough), but it may take very long time
3. phone interview (45min, about 2 technical questions)
if you pass the phone interview↓↓↓
4. five on-site interviews in a day ( I haven't got it yet)
*preparation
1. book to read: "Programming Pearl", "Cracking the Coding Interview"
2. website: leetcode, career cup
3. review basic data structures and algorithms
*detail (The process from applying to having the opportunity of phone interview)
1. The first call :
I applied online when I saw the position opening of software engineer in Taipei on Mar 2014. After about 1 month, I received a call from a Google recruiter. He asked me about mt preference of working location since there are some other openings in Hong Kong and China. I told him I preferred working in Taiwan and then he told me he would transfer my resume to Google Taipei but I need to wait since they were very busy.
2. The email from Google Taipei :
On May 21, when I was about to give up, I got an email from Google HR and then we discussed the time that she could call me through email. On May 27, she called me and asked some questions about my resume, including my experience, why did I want to work for Google, was there any other competing offer, and lastly did I have any question. Also she explained the whole hiring process to me. It was easy and relaxed. The HR was very nice and no difficult questions once your resume only includes the fact. At the end, I asked her if I could postpone the phone interview until I finished my master oral defense which is around the end of June. She said it was totally fine and she would contact me in another two weeks.
3.An email about how to prepare the interview :
Right after we ended the conversation, I got an email from the HR. The email includes a lot of information, such as how to prepare for Google technical interview, which books are recommended to read, some preparation tips, videos. I borrowed the book "Programming Pearl" and "Cracking the Coding Interview" to read. Also I constantly practiced coding on the website "leetcode". I kept practicing and had waited for a long time. On July 7, I sent her an email to make sure that I still had the chance to interview. And then she arranged a phone interview on July 16.
4.The phone interview : (in Chinese mandarin)
Refer to the "Most Difficult or Unexpected Question" part
Interview questions [1]
Question 1
4.The phone interview : (in Chinese mandarin)
The interviewer called and first started with my past works and asked me to introduce my projects that is special. I talked about around 2 projects and he would ask some questions according to what I said. I think he cares does the project relate to internet or cloud application, but unfortunately I did not involve too much.
After that he asked me two technical questions. I'm not allowed to expose the detail about the technical questions as the HR mentioned in the email. The first question is to write a code on a Google Doc that we shared. It was not too difficult. I think everyone can do it well as long as he(she) has practiced to write codes and review basic algorithms and data structures. Though I was too nervous and made some mistake and said a lot of nonsense. After I finished most part, he asked me could I further optimize it. I didn't figure out any but just during the time I guessed around he pointed out the way he thought.
The second question was an open question. I told him my approach and he asked for more detail. And he pointed out the disadvantage about my approach. And after that he asked is there any other approach in my mind. I tried hard to think about another and he also discussed with me the trade off of. During the whole process, the interviewer was silent and made me thought that the phone was disconnect(my cell phone does that many times). I think maybe he was waiting for me to say more, discuss more or some better answers. Too bad I was really nervous and couldn't think too much.