Imagine this feeling. You have this very shiny crystal ball on your hands, and you can’t wait to put it safely on a shelf, so you can show it off to everyone. However, it’s reaaally heavy, and it took a lot of effort and carefulness to place it safely on the shelf. Just when you think you’re really close, you somehow let it go. You stumbled, or your hands just gave up because it’s too heavy. It then fell and broke into pieces.
That’s exactly what I felt last weekend.
When someone from Google contacted me, asking whether I will be interested to do a summer internship there next year, working with him, I was ecstatic. I met this guy in a conference, and luckily he was quite interested with my research. I’ve been trying to get an internship position there *well, actually anywhere, big companies are preferable though ;)* since last year, but without knowing anyone that could recommend me, it’s hardly possible to even get an interview.
Reading the email, I was jumping around like crazy. It was my boyfriend who brought me back to the ground, saying this doesn’t mean that I will go for an internship there. He’s right. The guy confirmed it. I still have to go through the regular protocol, including passing the dreadful technical interview. So this is like my ticket, not for the internship itself, but for a chance to get one.
I got two phone interviews scheduled three weeks after that, 45 minutes each. The first one was purely technical, live coding on a Google Doc. The second one was more focused on the research I am doing. The first interview was more terrifying than the second one. Talking about my own research was easier than solving a random coding problem, no matter how basic it is :p. Before the interviews I was studying like crazy, recalling all the basics about data structures and algorithms, practicing on Topcoder, reading all the tips and tricks. On the day of the first interview, I thought I was ready, or maybe more like I was trying to convince myself that I was ready. It turned out no, I was certainly not.
So yeah, the shiny crystal ball slipped away from my hands.
The first feeling that came was of course the miserable feeling, “Why? Why am I so stupid??”. Then I was overwhelmed with regrets, “Akh, I should’ve said that”, “Why didn’t I do that?”, or “I should’ve studied more about that”. Gradually, some positive thinking kicked in, reading this, watching that. After all, failing at Google interviews doesn’t mean the end of the world :).
Now that there are pieces of the shattered crystal ball on the floor, what should I do? Some pieces are still beautiful enough to be admired for a while, before I clean everything up. Then maybe I could wait and hope for another shiny things to fall down on my lap.
I am still thinking about it, but without bitter feelings now. Up until last night I am still dreaming about coding problems though, mostly about recursion, my weakest subject :(. I contemplated, a lot, about things that went wrong, things that I should’ve done.
The first one to be evaluated is actually my motivation, to be able to show a shiny crystal ball off doesn’t sound to be a very noble motive, does it? Although, what else could be the reason to work at Google other than having something ‘shiny’ in your CV? :p
Then, the things that went wrong:
- I was so nervous that at some point I stopped talking, and started thinking “Why can’t I solve this problem?” instead of “How to solve this problem?”. Talking all the time is important during a phone interview because the interviewer cannot see you. Tell the interviewer that you are thinking, and what you are thinking about. Yeah, that’s the theory, I carved it deeply in my brain. In practice, the pressure beats them all.
- Somehow during the problem solving process, I created my own assumptions, without confirming them with the interviewer, making the problem much more complex. Yeah, the assumptions made should be the ones that simplify the problem, I know. What can I do? I tend to complexify and overthink things :p.
- I didn’t thoroughly review my own code, looking for mistakes. It seemed that the interviewer couldn’t fully grasp my approach because of the mistakes. Then, instead of carefully looking what’s wrong with the current approach, I came up with a completely different one (guided by the interviewer), and made me look less competent.
Next, some things that I will do the next time I get such opportunity again:
- During the coding practice, try to put more pressure, so that I will get used to code under pressure. For example, forcing a certain time limit to solve a problem. Or, doing mock interviews much more often. Solving a problem when someone is waiting for you is completely different than doing it by yourself.
- I couldn’t write the complete solution of a problem in a given time, but in the end of the interview, I immediately closed the Google Doc because I felt terribly stupid. I should’ve put more effort in completing the code in the Google Doc, who knows, the interviewer might still open it and saw my persistence. Or, I could’ve asked the interviewer whether I could send the complete solution later via email. After all, without the pressure I could complete the code in 15 minutes.
- Smile while talking, even though the interviewer cannot see me, but I will sound more friendly.
- Before writing any code, I will first try to fully understand the problem, then think for a while. Asking a lot of questions, even the trivial ones, will give me some time to think.
- I will thoroughly review my code!
- I will stand by my approach to solve a problem. If the interviewer questions it, I will try my best to explain it, and improve it. I won’t blindly follow the interviewer’s suggestions without questioning or criticizing them. We all have different approaches to solve problems. Being able to point out the advantages and disadvantages of each approach, is what they’re after I guess.
Experiencing the interviews is already a good enough lesson, to measure my capacity, to be better the next time. Besides, it’s definitely a great topic for a blog post :D. A failure story usually offers more lessons than a success story, right? 😉