The internship experience I had at Google was amazing - I had an awesome supervisor, interesting project, and overall a perfect environment. The best thing I liked about Google was the fact that pretty much always I felt like I was the stupidest person in the room: it meant I could grow so much! Well, the benefits are also sweet :)
At the same time my PhD wasn't going well: I failed a qualification exam, and I was not publishing any interesting papers. So at the end of my internship I decided to apply for a full-time conversion and see if I can get a job at Google.
Normally there are five interviews for a full-time software engineer position. But for interns it's reduced to two, and Google cares more about the internship feedback. As we've been told at the orientation week, "The internship is a 12-week interview". There is only one advice I could give about preparing for a conversion interview: do as many mock interviews as you can. Mock interviews are like sparring before a fight: it's the closest thing you can get to the real interview, so it will prepare you mentally. Otherwise, don't worry much about them - if you do well in mock interviews, chances are that you will do well in real interviews as well. My first interview question was really hard. I pretty much stared at the board with a dilemma of either being quiet (which is not a good thing to do during an interview), or saying saying something stupid. Eventually I managed to solve the problem, though not in the most optimal way, but it was good enough. My second interview question was easier, but there were a lot of details I had to watch for. The advices I got during my mock interviews definitely helped me a lot with this!
In retrospect I think the interviews didn't matter nearly as much as the internship feedback, as long as you don't mess up badly. Besides having been through a 12-week interview, interns learn the internal ecosystem of Google, and therefore have a head-start during their full-time jobs. This is quite significant for software companies, since it usually take around half a year for engineers to be productive.
Everything was ready for me to get an offer, but I stumbled upon an unexpected barrier: immigration. I believed having studied in US would give me a temporary work permit (OPT), during which Google could apply for a longer work permit (H1B) or green card. But that's not what happens when you drop out of a PhD program, and you get your masters degree as soon as it was possible. Long story short, I ended up taking an offer to work in Zurich, with the possibility to be transferred to US after a year with L1 visa. I was quite unhappy about it, since I'm 100% positive that I want to live in US. But I want to squeeze the best out of this situation, and use this year to travel around Europe. There are many places I didn't travel around Europe when I lived there, since I took it for granted. Now it's my chance to travel it all! I have also created a new blog where I will be writing about my experiences of living in Zurich: My Year in Zurich. How it happened explains in more details why I did not get the work permit in US and had to move to Europe.