Wednesday, October 21, 2009

Microsoft China Interview

I'm sorry, but if I don't bitch, I won't be able to go to sleep.

I knew I stepped on a Job-land-mine the moment my first interview started. After confirming that I can speak Chinese, the interviewer decided to do the entire interview in Chinese. The result? Well, he tried to ask me a question about how to find the first common ancestor of two nodes in a binary tree. I thought he was asking me how to find the node closest to a given value in a binary search tree. In either case it didn't matter - I can't think in Chinese. It was great that he didn't know what a linked list is called in English, and I didn't know what it's called in Chinese. All in all, you know your interview went awesome when you and your interviewer can't even understand each other.

The second interview was bleh as well. Actually, it was so bleh I don't even remember what happened here... probably a lot of the standard PM interviews.

The third interviewer felt like he just wanted to teach me things, which was nice if it wasn't 11 pm at night and I was le tried. The question was implementing a stack that had the methods push(), pop() and find_min() that all run in O(1) time. I got stuck because I forgot that the data structure I was working with is - duh - the stack. He was trying to teach me stuff about space vs. speed tradeoff. Well, duh I know that! I got a bit pissed off at the end because we spent so long misinterpreting each other - I guess it was my fault, since I knew English better, so I should dumb it down more...

The fourth interviewer actually asked relevant questions, and I appreciated it. I think he's the only one who actually read through my resume. Instead of open-ended questions, he gave really concrete examples relevant to my experience, and constructed concrete situations that I could work with. He really knew what questions to ask, and he knew which examples from my past experience I should choose - even better than me. The hardest question he asked me was "If you had all the money in the world, what project would you do?" I felt that he did a better job finding out the best of me better than what I would have shown him had he given me 60 min to present on myself. Incidentally, he's a Waterloo grad.

Lessons (aside from the obvious: don't do a 4 hour interview at night):
  • Everyone in PM asks the same dumb old questions. If I was really serious about getting this position, I would've researched those questions, because they are very (as Rajesh would say) game-able
  • Chinese people actually say "等等等等..." YES, FOUR TIMES! It's a friggin tongue twister!
  • I can't think when the language Chinese is on my mind... thinking about all the problems I didn't solve, I can see the solutions developing right as I look at it. I know how to approach these problems logically. Why do I draw a blank when I'm talking to someone whom I know is from China? It's like a switch turned off.
  • Learn how to say "Thanks for your time, but I'm not interested anymore" while being polite, in as many languages as you can. Perhaps I would have said that if I knew enough Chinese.
  • Well, fine, despite all that I learned something real: (1) that when you ask a person to give you an example of a time when they did X, they probably won't give you the best example. It may be worthwhile for you as the interviewer to do this. (2) abstract questions are BS - if you were in this situation X, what would you do? How would you find the minimum of a function? I'm sure that your answer is going to be very different from what you'd really do when given all the criterion. (Though I happened to know point 2 before this)

All in all, this was a terrible experience, but I'm glad I went through it... just because it's slightly outside of my comfort zone, and it made me practice asserting myself even while knowing that I'm not being thought of very highly. One more thing I can say "been there, done that" to!

End of Entry

6 comments:

Boggled said...

Chinese... wow. I think it's already pretty darn amazing that you can hold a technical conversation with people in china. That shows mad language skills =P

I guess they wanted to add the last interviewer cuz they knew everyone else was gonna suck... was that one in chinese too?

This is quite an amazing experience (the interview) nonetheless. Kudos. XD

Unknown said...

only the first one was in Chinese

Boggled said...

abstract q's are bs... they make me cry inside. =[

Steven said...

...you can do an interview in chinese eh?

i'm proud of you. =P

Steven said...

Why is it that I often see in my blog updates blog posts you don't have up? Did you delete them?

Unknown said...

oops! sorry! accidentally un-posted while fixing grammar...