Monday, October 13, 2014

Some interview Preparation Guide



http://www.quora.com/What-should-I-do-in-the-next-6-months-to-get-into-a-company-like-Amazon-Google
http://www.quora.com/Career-Cup-or-GeeksforGeeks


http://www.quora.com/What-types-of-technical-questions-are-asked-in-developer-interviews/answer/Sachin-Gupta-6

Technical Interviews generally occur at 3 different levels.
  1. When you are just out of college (Under grad), at that time its very rare that you are selected for any particular team. Sometimes even the role is not specified while you are being interviewed. However that can be negotiated after you have been selected in the interviews. In such interviews the focus is mostly on generic algorithmic questions. The aim is to test your problem solving aptitude
  2. When you have some year work or you are passing out of masters then you are generally recruited for a particular team/role in the organization. In these interviews there is a mix of algorithmic and your expertise specific questions.
  3. The third level is when you have worked in the industry for the last 8-9 years. There your experience and your resume speaks more than any technical interview that you give. There the questions generally asked for to find out how well you would gel in with the company's work culture.
As I am just out of college and have been selected in Google through my campus interviews I am best suited to discuss about the first category.

Most of the selection process has two levels. A written round and a set of one-to-one interviews.

Written round also has two further parts. One is objective questions and the other is programming questions. The objective questions may be as 
  1. Give the programming paradigm used to solve the Travelling Salesman Problem.
  2. Give the worst case complexity of Kruskal's Minimum Spanning Tree.
  3. Which protocol would you use for Live Video Streaming.
The programming questions asked in the written test are generally on the tougher side because while attempting them you have both sufficient time and working space to iterate over the solution. Questions asked maybe of type
  1. A list of strings is given. Find the number of non-anagramic strings in the list i.e. the number of strings which do not have any anagram int the list.
  2. Consider that you have 2 strings S1 and S2. You have to implement {S1 minus S2} operation, that is remove the characters present in S2 from S1. Eg S1="abcdB" and S2="b" and result would be S1="acdB". the operation has to be in-place, that is within S1 only
  3. You are given a binary tree. A term diameter is defined as the length of the longest path between  leaf nodes. Also diameter of a node is greater than/equal to:
     
    1) Diameter of left sub tree
    2) Diameter of right sub tree
    3) Length of longest path passing through the node.

    Write a program to find the diameter of the binary tree

The second is the multiple sets of personal interviews. The questions asked in them may vary over a large range of topics. One type of categorization that can be done is
  1. Programming Questions
  2. Testing Questions
  3. Design Questions

Example of Programming questions are
  • Number of occurrences of a number in a sorted array.
  • Find the intervals from a set of intervals in which a given point lies
  • Convert a doubly linked list to a Binary Search Tree

Some examples of Testing questions are 
  • Test cases for overlap of rectangles
  • Write test cases to test the functioning of a code that reverses singly linked lists.
  • How to test a program that outputs factorial of a number?

Examples of Design questions are

After this broad level of categorization you can further divide the questions into categories depending on their topics. It can be 

There are two types of problems. Generic ones and algorithm dependent.

The former consists of problems based on string manipulation, arrays, linked list etc. In such problems the focus is on covering all the cases that may occur. For example you are asked to reverse a portion of an array beginning from a particular index and ending at a particular index, then you must be thorough in covering all the cases that may occur. Solving these kinds of problems is easier if you have done sufficient practice. 

The other kind of questions are dependent on a particular algorithm or coding trick and sometimes it becomes very difficult to solve them if you have not read about them earlier. For example 
Also I have shared my experience of sitting in the campus interviews, and I would strongly suggest you to read it http://www.mycareerstack.com/blo...

Please note that in no way what I am have written above is an exhaustive description of technical interviews. Each company has its own pattern of interview questions and it may vary significantly. 

Note: All the questions posted above have occurred in some or the other technical interviews of companies like Google, Microsoft, Amazon

http://randomrants.quora.com/Hacking-the-Programming-Interview-1

http://www.quora.com/What-are-the-ways-to-utilize-6-months-to-build-skill-set-to-get-hired-at-Facebook-or-Google

http://www.quora.com/How-can-I-prepare-for-interviews-in-any-big-software-company-like-Google-Facebook-Amazon-Microsoft-DE-Shaw-Salesforce-Flipkart-Expedia-Morgan-Stanley-Goldman-Sachs-Adobe-eBay-Walmart-LinkedIn-etc/answer/Ayush-Jain-62?srid=Xymv&share=1

http://learn.hackerearth.com/questions/?type=Trees+and+Graphs


No comments:

Post a Comment