Introduction
I am currently working at Yahoo one of the top Internet companies in the world. I also had the chance to work at PayPal the dominant company in online payments. When I lost my job in 2008 I had more than 30 phone interviews and several onsite interviews. Just to mention few names, I interviewed with Microsoft, Amazon, Google, Apple, Symantec, nVidia, Linkedin and few more. As long as you are applying to a technical software position whether it is QA or development then forget about the silly most asked interview questions such as tell me about your strengths and weaknesses. In this short article I will only mention few basic points that a software engineer should be aware of before interviewing at companies like Google, Yahoo, Facebook, etc. Not only I interviewed at many computer software companies but also I participated in interviewing candidates who applied to our team so the advice is from the heart:
Academic Strength
This is one of the most important points if not the most important point. A company like Google or Microsoft test candidates in data structures and algorithms over the phone. When I interviewed with Google they shared a Google Doc with me and requested me to write code and debug it. They ask about key topics in data structures and algorithms such as hash tables and running time. Moral of the story, If you want to increase your chance to pass those interviews then you need to be very strong in coding, debugging and testing from an academic point of view. I doubt that work experience itself can save you if the interviewer asks you about some tricks in algorithm design. This needs allot of practice to master.
Communication skills
Software development is team based so you need to have the appropriate written and verbal communication skills. Moral of the story, if you are a nerd that is not enough, you need to interact with people.
Personality
If you have everything discussed earlier but hard to deal with people or fail to work within a team or have an attitude then good luck.
Conclusion
As you can see do not worry too much about what you should dress on the interview day. Those folks look for smart, hardworking and problem solvers. Believe me