I applied in Zappos by vising their website and applying in jobvite. They asked me some cool questions in the form and I answered them. Then there was a dead silence for 2 months.
Out of the blue, suddenly I got an email that they want me to take a test. I gave the test. There was one question. Download images from their API and save them in your system. The trick was to do so in such a manner that it is deliverable to the customer. i.e. you have to follow all the guidelines and have to follow the OOP principles. I qualified that round.
Then they said that they want to interview me. The first round was HR round. We were scheduled for an hour talk. And we did. Boy that was fun. Best interview I ever had. The HR was impressed and I was impressed with him. After that interview I so wanted to join that company. I was thrilled.
Then I was contacted for another technical round. Two people were supposed to take my interview. Easy peasy. Now believe me, if they say that its not going to be any coding, only talking, don't believe them. In my interview they asked me to share a document and write codes there. But if you have done enough programming like me, it shouldn't be a problem. In the interview the guy asked me to "reverse a sentence". Very easy. I did that. But the mistake I did was (atleast what I think) is that I just wrote the code. You have to show them your thought process. So talk as much as you can. Explain why you did what you did. Show them more than one solution (or atleast tell them how you would do it). (The irony is that as soon as I kept the phone, suddenly I had these great alternatives that I could have told them which definitely would have made an impression. But alas, it was too late).
Then the guy started asking me some SQL questions. Questions were easy, using "HAVING", "IN", "AGGREGATE FUNCTIONS", and "NESTED QUERIES". Now I know SQL, but it had been a while since I wrote anything in SQL. So I couldn't answer them. And that was a disaster. He immediately said that he now knows what he needed to know and he wants to terminate the interview.
3-4 days later, I received the saddest email, saying I was not fit. Which is true. I should have read SQL. I just didn't because I focused more on OOP and algorithms. But I am happy that atleast I was the "right cultural fit" for them (which is an accomplishment in its own).
I will definitely try Zappos again. Its one of the few companies which knows what a company should be like. Their culture and values are awesome, which for a uptight person might seem "unprofessional", but actually helps in keeping control in office and satisfying employees. I salute the CEO, which is the best (based on what I have read about him).
If an employee is seeing this, I LOVE YOU ZAPPOS. Thank you for having the best interview experience I ever had (Even though I did not get it).