These days a lot of folks are curious about interview/ hiring process of top technology companies like Google, Facebook and Amazon etc. Sometimes understanding the hiring process in advance helps a lot but there are couple of very simple fundamentals that all aspirants should understand: (A) Getting selected in an interview shows that you are capable of passing but at the same time it doesn't determine and show you your self worth. (B) For every skill there are really very few folks who are at the top, rest everyone else has someone for other who is more capable than them. This is a fact that the interviewing companies are also aware of and they know what to expect from most of the candidates. So all you need to do is believe in yourself and don't ever think that you are inferior to someone because negative thinking will lead to self destruction.
How to prepare for a technical interview?
When you prepare for a technical job interview, what matters most is your real life experience and confidence. How much experience do you have and how confident are you to answer the queries with clarity of thought is what differentiates you from the others.
- Be Organized
Plan and prepare in an organized way. Do a lot of white boarding and problem solving. Your focus should be on demonstrating that you can (A) Understand a problem (b) Divide the problem into logical units (c) Attach or arrive at the solution in a logical way.
Make sure you understand the basics and fundamentals of Computer Applications, S/W Engineering Processes and Programming. Expect few theoretical questions which will test your very basic knowledge of What is a data structure? How is are various data structures, like linked lists used? What are the various types of Network protocols? What is multi-threading? Concepts like Polymorphism, functional overloading etc.
- Second, Be Prepared To Write Algorithms
Most technical interviews test your ability to code or write programs/ algorithms. Make sure that you have clarity of thought and understand the logic. Syntax errors don't matter much.
Very basic programs such as Swapping numbers, Fibonacci series, Sorting. Operations with Data Structures etc should be known.
- Third, Be Prepared with Front-end Concepts and Programming
Based on your skills, you may be asked advanced questions on Microsoft or Java or any other front end technology. Make sure you have done a lot of study using experience of other folks which is available online.
- Fourth, Be Prepared With Back-end Concepts and Programming
Concepts of Database should be crystal clear. Even if you are a front-end developer you should know the basics of Database. You should be able to write Sql statements and simple PL/ Sql blocks.
If you are appearing for a Back-end Programmer job then expect drill down questions on triggers, procedures, functions, packages, performance tuning.