After Apple didn’t respond to my inquiry about an internship a few weeks ago, I started to pursue other options. It turns out that the “contact” that I thought I had was not actually a recruiter, so I decided to just send my resume through their standard job site on the web. As I suspected, this dramatically decreased the my chances of getting a response. My next option would be to find a real technical contact at Apple through someone that I’ve worked with at IBM. I’ve put that on the back burner for now, though, in hopes of getting an internship at Google.
I did things the right way with Google from the beginning. One of my professors has a colleague who works in Google’s NYC office; I got in touch with her by email, and had a recruiter contact me to set up a phone interview within the week. I was extremely impressed by their quick turnaround time.
The phone interview is 4pm on Tuesday. I’m nervous and excited. I’m hoping the Googler on the other end doesn’t completely own me, but I also realize that this could be the gateway to a really awesome opportunity. The interview is scheduled to be 45 minutes, and the email that I received said, “In terms of what to expect in your interview, you will be asked a variety of technical questions including questions around coding, algorithms, design, problem solving, and general computer science fundamentals.” I consider myself a decent interviewer and a good under-pressure thinker, but I keep having dreams in which I am drooling in front of the phone saying “Huh” as the interviewer asks me to write a complete operating system kernel in 5 minutes.
Luckily, I believe that Google is looking for people that know how to think, not people that have memorized the solutions to all the problems they have ever come across. After all, Google is inventing new areas of computing science as they construct a massively parallel system that has to deal with a truly staggering amount of data. The people there are inventing new algorithms that have revolutionized internet search, not implementing something that every student is taught in CS101. I say “luckily” because this is the type of interview I believe I will excel at. I know my CS fundamentals, and I hope to be able to use them to come up with a solution to anything they throw at me.
That being said, I still plan to review a bit. Today I read the chapter on sorting in my data structures book. I plan to review my labs from C++ class last year, specifically the ones on templates, memory management, object-oriented topics such as polymorphism and overloading and linked lists and trees. I’ll try to remember the details of the stuff I did the past two summers, in case I get asked about that. Toss a bit of general OOP theory on top, and I’ll be good to go. Wish me luck.