Archive for the 'Google' Category

Page 2 of 3

Switching to Gmail

Gmail LogoRecently I’ve been thinking about my need for a permanent email address. Currently I use my mail.rochester.edu account for virtually all of my online communication, but I won’t be able to retain that account after I graduate. In anticipation of that day, even though it’s at least 2 years off, I’ve started moving a lot of correspondence to a Gmail account that I just signed up for. Don’t make fun of me, I know that all the cool people signed up for Gmail years ago, when invites were a hot commodity, but I only felt the need recently.

Being a big fan of a hierarchically organized folder system, I was initially put off by the complete lack of folders in Gmail. I have at least 20 folders in Mail.app, and 10 or so rules so that most of my mail gets sorted as it comes in. Then I realized that Gmail has tags, which might be better than folders because messages can have more than one tag. In addition, they won’t immediately disappear into a folder where I’ll forget about them; they’ll stay in my inbox until I choose to archive them. Also, Gmail’s conversation feature, which groups messages by thread, is really, really nice.

I’m about to pull the plug on Mail.app by forwarding all my Rochester email to Gmail. The only thing that is holding me back is that if I do that, my mail will be split between residing on my hard drive and on Gmail. So I think I’ll open Mail.app every once in a while and download my Gmail messages, so I have a copy on my hard drive. This would also save me the problem of having no access to my mail if I did not have an internet connection. I haven’t completely decided what to do yet; hopefully I’ll figure it out in the next week or so.

Good News From Google

This pleasant surprise was waiting for me in my inbox when I came back from class earlier tonight:

Tyler:

Your first interview went well! We will now begin the process of matching your experience and preferences with groups within Google who are looking for interns this summer. Once we find a match, we’ll set up your second phone interview.

Google CampusI’m looking forward to it. Now that I’ve gotten past the initial screening, I feel like I can relax a little bit. Hopefully the second interview will be less of a quiz and more of a way for my potential coworkers to determine if I would be a good fit on their project.

The first interview went really well. I got asked about my previous internships, then I was grilled on data structures and Big-O analysis. The culminating task was solving a design problem based on the one of the data structures we had just discussed in detail. My first solution was inefficient, but after a bit of prodding I had a stroke of genius and came up with one of the two optimal solutions.

My advice to anyone who has a phone interview with Google is to know your data structures. Know them well. If it has been a while since you took a data structures class, review them. I was really lucky that the stuff I reviewed was exactly what I was asked about. The questions aren’t simple, but having a good core understanding of data structures and other computer science fundamentals will help immensely.

And now I will cross my fingers while I wait for next week to arrive!

A Slightly Important Phone Interview

Google LogoAfter 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.