Amazon
I interviewed at Amazon recently. It turns out they are using Ruby here and there. I submitted my resume late on a Sunday and was contacted Monday by someone at amazon recruiting. I was setup for my first phone interview that Wednesday. I was asked What I like about rails/ruby, what do I not like about ruby/rails. I was asked an oop question that I should of had the person repeat. The phone was not the best and some things were hard to understand. The question was what is the difference between encapsulation and inheritance. I knew this but they were not the terms that I heard. Also I think they used a different term for encapsulation. Still no good excuse I should of had them repeat the question. I was asked to find the duplicate number in an array. I started with the most inefficient way. Start at the first one and look at all elements behind for its self. They asked me the big O calculation of that. Which is n!. I really need to brush up on my bigO. Although I went to a fine college, bigO was not a major part of any course. I did more bigO stuff in high school then I did in college. I then suggested sorting the array and then looking for a duplicate. If you used .sort! this is a quick sort nlogn. I did say (nlogn) n. This showed how rusty I was. Then I was asked if there was a quicker way if memory was not an issue. Of course!, a hash map and look for a collision. I think I was asked about ruby mixins. Mmmm... I love mixins. Of course like good little interviewer I am I asked questions about the job, Seattle, and amazon. I was told about the best view in Seattle from them. I asked about the team and we talked about ruby. 1 day release cycles, short stories features, DBunit, selenium, and other fun. At the end I was assigned homework. I needed to model a deck in code( anything except python). I needed to shuffle and deal the deck. So I sat at chilli's and thought of cards. I do like cards, but they are not fun unless you use them for a game. I will upload my code in to my svn.
So I submitted my homework (twice) on Thursday and was contacted the next Monday for a second phone interview
The second interview was a lot different. There was only two questions. One about my code and one about a current problem they are having. I was asked about my code. It turns out that there was a use case that made my code break. I used arrays and the zip command then the * to pass in my arguments. Yes this was me trying to show off. I could have just done 2 for loops. So if I have a deck of 2 cards and 2 suits my generation would screw up. So we talked about my code for about 30 minutes. Then we talked about a promises stock issue. I am sure there is some name for the algorithm that I would need to use but I was never faces with a problem like this. I talked it out and came up with some sudo code then I blew holes in my sudo code. The interviewer assured me it was a hard problem and he just wanted to here me talk it out, which I did. After that we bs'ed about Seattle and ruby.
Sad to say my resume went back in to the "pool". I am told by people that used to work at amazon that it means they thought I was a good cookie just not for that job. Also I was told that a second interview for my background (state college and 1+ year of real work) was good. I left out some details and I wish I wrote down more but I was nervous. It was just good to talk with peers.
Giving back
I posted about people around the world viewing my website earlier. I have just decided that I want to give back to those people who were misguided to my site for one reason or another (mostly IMDB). We can cross the good old USA off that list since I live there. I could break that down to states but why.. Also in years passed I stopped in Germany. I will be going back there shortly as well. Also from the list I have was in France, Netherlands and Belgium.
I am going to the Czech Republic later this month. I can then cross that one off the list. That leaves me with only 30 countries to visit, and yes I am counting layovers. Now I just need a job that pays me to travel..
Jobs
I am in Seattle and I have two phone interviews today. One with Trusera and the other with ActiveRain. They are both companies in Seattle. If they go well I might meet with them on Friday. That would work out well for them since I am already here.
On other good news Lucky Oliver wants to interview me in person. More traveling! This time to California!
Interviews
I had two phone interviews today. The first was with Ruben Ortega at Trusera. This started out with talking about ourselves, my current job and what Trusera is. If there was any tech questions they were simply. The main question that I was asked was to model in objects a slot machine. I was giving the details to a simple machine with 3 wheels, 5 symbols and 10 payout rules. There are other details to the machine but it was not that complex. It was a fun question. I wrote the question and my answer in one of my books because I could not find paper. At the end I was given some "what if i wanted" details. Kind of like the "what if" questions people ask for implementing atoi in c. This interview was at 11 and went a bit long.
My second interview at 12 (had to ask them to call back) was with ActiveRain. After apologizing for the delay the conference phone call began. When they first called there was 3 people and when they called back one of the developers left. I did not feel good about that. I do not remember any direct tech questions. A lot "did you do this" or "do you use this" questions. We talked a little about capistrano, linux, and postgres. Then they asked me if I had any questions and we were done. Overall I left this interview unsure how they felt about me.
We shall see what tomorrow brings us.
Moving on
Today I just quit my first job. Well, my first real post college full time job. Why would someone quit their job? I received a job offer with
Trusera in Seattle.