The interviewers are nice and friendly. There were a lot of rounds of phone interview, which could be a little frightening because sometimes the accents and not being able to see the faces make it difficult.
The recruiter contacted me through linkedIn and I responded. Took a while to schedule the interview and for the second time I had a lousy interviewer. The interviewer gave me a problem and then when I re-stated the problem and the solution she went with it and once I coded it said there were additional constraints to the problem that she had not quoted before and kept modifying the problem statement even up until calculating the time complexity of the problem. How do you solve a problem that you don't define until the end of the interview time? She seemed very inexperienced and also lacked language / communication skills. The previous time the interviewer seemed still groggy at 10 am.
Please vet your interviewers!
Interview questions [1]
Question 1
Given a chessboard determine if a given black or white piece in a cell is alive / dead. An item is defined alive if it has at least one non-opposite colored or blank neighbor. That was the original question. This is how it morphed over the interview:
* The diagonal neighbors don't matter to determine if a piece is alive or dead.
* There need not be just 16 pieces of black or white. There can be an arbitrary number of black or white pieces.
* If a piece is surrounded by the opposite color in 3 sides, but the 4th side of the same color but is again surrounded by opposite color, then that's still considered dead. (why did you not say this to begin with?!) But it is alive if one of them is blank.
* And while calculating the time complexity - she adds, the board can be filled with all black and say one white in the middle or vice versa. How is that a chessboard?! and why are you telling that at minute 45. If we had continued the interview wonder what other additional missing conditions about the problem she would have added that she forgot.
I applied in-person. The process took 5 weeks. I interviewed at Google
Interview
Recruiter was very compassionate and professional through the overall process all the way until conveying that reject decision.(Got some specific feedback on nitpicked issues on mistakes made and some complements). Overall the experience feels like a big machinery(It is GOOGLE come on! ) churning through the huge number of candidates to prove themselves they believe they can hire only who are star software engineers (who can code like a machine as if coding is the singular aspect of software engineering and makes no mistakes in the first attempt). A mix of some friendly and some intimidating jerkish engineers. One interviewer used some intimidating words ('Be careful') whenever he thought there was a mistake in an interface I was asked to define, a guy who said 'we have already done this', pulled of shaking hands with me in a rude way (I accidentally had done the gesture apparently already once), couple of cases the English language of the engineers who interviewed were bad enough that I could not understand their question or not sure if they understood my analysis when he/she gave feedback. Overall, the process felt the engineers want to prove why those engineers are in Google( and why they are convinced that these interviews ) and why most others coming into interview should not be. In one case, another employee was annoyed that my interviewer was staying in the conference room too long when he was banging the door. So, when we came out of the interview the other guy started yelling that he had to wait so long and could not get into his meeting. At the end of the interview came out with the feeling this place has more baggage of bad personalities and churn of the mill imperfect humans instead of 'I want to work at the places where all modern complex distributed systems problems where solved impacting average person in the world.'