26 Aug 2016

e-Khaliyan

How to prepare for Interviews of Product Based IT companies Like Amazon, Adobe, Google etc.

Once you have joined a company, then you can switch to any product company, however it depend on your current role, technology/language you are working on and more importantly thorough data structure and algorithm concept. One of my batch-mate switched from well known service company like TCS to a product base company, he had 3 years of experience. He struggled a lot in learning Java, learnt basic DS ( not deeper) and easily cracked the interview, moreover he was from normal engineering college as many people are mentioning that you should be from tier -1 college - I would say it is not needed for you to belong to tier-1 college. The only thing you need is strong will to learn, to do hard-work for a month or two and a goal in mind and strong determination to get into product based company.

Now a days standard procedure for selection is - Online Coding Test ( usually taken on hackerrank and other similar websites, one or two rounds of online skype interview, followed by 2–3 rounds of face to face interview. In all the interview rounds you would be asked to write code for any algorithmic questions and basic computer science concepts. Most of the time your approach to hit a problem is evaluated, If you are on correct approach then interviewer will give you hint and ultimately you would be able to crack the problem.
To start your preparation you need just practice, practice and practice of following things -
  • 1.Strong Knowledge of any one language C/C++, Java, Python, C# along with sharp OOPS concepts. You can always prepare or learn any of the above language newly as well - complete reference of C++/ Java is what I referenced many a time. Plenty of Online resources available to get excel. You should be comfortable in writing code in any language.
  • 2.Data Structure and Algorithm - This is most important part of interview. You should have very crystal clear understanding of ds where you should be able to write code for any given problem. Most of the time following data structures are asked -
    • -Linked List
    • -Stacks
    • -Queues
    • -Binay Trees - Most Important.
    • -Sorting Algorithms
    • -Graphs - only DFS., BFS
    • -recursion
    • -bit manipulation
    • -dynamic programming
    • -For all DS questions you can refer GeeksforGeeks | A computer science portal for geeks . This has all the required resources.
    • -You should have crystal clear understanding of time complexities and space complexities - This is very very important as you would always be asked to optimize your solution.
  • 3. A vary basic level of design questions if you have above 3–4 years of experience or else design questions are not asked at entry level.
  • 4. Basic Concepts of Operating System More specific - IPC methods, Mutex, Semaphore etc.
  • 5. Basic Puzzles questions - very simple puzzles like - Top 25 tech Interview puzzles with answers | Puzzle Fry
  • 6. Now Most Important Resourse Materials -
you need a quick problem solving aptitude which can be easily acquired with practice and solving 100s of ds questions. It is just a matter of 2–3 month hard core preparations and you will be through.