Tags: , , , | Posted by Admin on 4/9/2009 1:14 AM | Comments (0)
Google telephonic Interview

1. Asked about my project. Prepare well to answer any type of questions that may arise in your project.They will just ask to explain about any one of the projects listed in your resume.

2. In a plane, n points are given i.e. the input is (x1,y1), (x2,y2)… (xn,yn). Now given these n points.Find the maximum number of collinear points.

Solution:
The duality algorithm would work. Find the point of intersection with maximum no of lines incident on it in the dual plane. It works in O(n^2).
3. Write the code for finding the min of n number.

for(i=0;i{
if( a[i] {
min = a[i] —- eq(i)
}
}

Given that n numbers are from random sampling how many times (probability) does the line (i) be executed

Solution:

min=a[0];
for(i=1;i{
if( a[i]{

min = a[i]; ——-eq(i)
}

}

Once the variable min is initialized,the probability of a[i] =k)
{
count+=n/k;
k*=5;
}
return count;
}

this count is the number of o’s in n!.

Google Interview Round 3 :

1. Write C++ class for the game Connect Four. [Connect Four (also known as Plot Four, Four In A Row, and Four In A Line) is a two-player board game in which the players take turns in dropping discs into a seven column grid with the objective of getting four of one's own discs in a line.]

2. Given a stack and an input string of 1234.At any point you can do anyone of the follow

i. take the next input symbol and Enque.
ii. you can pop as many as you can. When ever you
pop an element it will be printed
(you cannot pop from an empty stack)

How many such permutations are possible on an input of size N?

Solution:
It is Nth catalan number.For a detailed solution look at question5 of Stacks and Queues

3. Give an example of one permutation that this data structure cannot generate.

For Example:

1234 is input.

First push all 1,2,3,4 on to stack and pop all.
output will be 4321.

It means that this data structure can generate 4321.

Solution:
3124
for a detailed solution please look at question7 of the post
Stacks and Queues

4. Question 2 was pretty easy right? Now do again the same question but the data structure this time around is a Deque.

Input: 12345
Data Structure: Deque ( Doubly Que )

Note: Deque is a data structure into which you can do enque
and deque from both sides.Some thing like this
__________________________________
enque —> <—-enque dequeue dequeue
__________________________________

Solution:
It is N!. Guess why?(no constraints).Convince yourself by proving that every permutation can be generated by a set of valid operations.This prove can be using the principle of strong mathematical induction.So for this specific input the answer is 120.

5. Classic Egg Puzzle Problem You are given 2 eggs.You have access to a 100-store building. Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100 th floor.Both eggs are identical.You need to figure out the highest floor of a 100-store building an egg can be dropped without breaking. Now the question is how many drops you need to make. You are allowed to break 2 eggs in the process.

Solution:
Let “d” be the number of drops required to find out the max floor.we need to get the value of d.

let’s say if we drop from height d then if it breaks then we have d-1 floors to check for the second egg . so max of “d” drops, so first we will drop it from height “d” if it doesn’t break at a height “d” then we are left with “d-1″ drops,so lets drop it from d + ‘d-2′ + 1 height suppose if it break there then you are left with ‘d-2′ drops.
and so on until that sum is less than 100, it’s like a linear search,

in equations,

(1+(d-1))+ (1+(d-2)) + …. >= 100

here we need to find out d

from the above equation

d(d + 1)/2 >= 100

from above d is 14

Google Interview Round 4 :

1. Given n non overlapping intervals and an element. Find the interval into which this element falls.

Solution:
we can extend binary search to intervals.(Assuming the intervals are sorted)
consider interval [a,b].
if (a-x)(b-x) a
element can be present only in the intervals to its right.
so select the middle interval among them to it’s right
and repeat the procedure.
else
element can be present only in the intervals to its left.
so select the middle interval among them to it’s left
and repeat the procedure.

The complexity of this problem is log(N) where N is the number of sorted non-overlapping intervals.

2. Worst case is take all intervals one at a time and see whether the element lies in the interval or not.It will take O(n). So please give a solution that will do better than O(n).

3. Now given that the n intervals are overlapping then how do you solve? The interviewer was concentrating more on the complexities (running, memory ..)

Solution:
If the above intervals are overlapping ,then they can be merged in O(N) and then the exact intervals can be resolved later.Otherwise ,we can identify one correct interval and then linear search on its left and right neighbourhood to find the other solutions.

4. Write code for Random Sort?

Algorithm is explained:

Given an input array of size n. Random sort is sampling
a new array from the given array and check whether the
sampled array is sorted or not. If sorted return else
sample again. The stress was on the
code.

Google Interview Round 5: This is Manager Round

1. Tell me an achievement that you have done in your non academics

2. Tell me about one of your project

3. Take a feature of C++ and tell me how you have implemented it in one of your project

4. By taking one of your project as example tell me how you have taken care of software engineering where you would have handled more data

5. There is a routine already written to find the subtraction of two sets ( set A - set B) . Write test cases for testing it.Tell me how do you test the test cases you have written?

6. There is a printed book. The page numbers are not printed. Now the printing of page numbers is being done separately. If the total number of digits printed is 1095 then how many pages does the book have?

Solution: Well people,this is too simple a question ..so do give it a try..(no malice,too simple).Any queries then do shoot a comment.
Comments are closed