Interview Experience
There was telephone interview
1) Write code to find the max depth of a binary tree
2)wait(), notify()
3)in public static main() call object.wait() what happens?
3) what is the complexity of binary tree max depth
4)inner class vs static inner class (this guy can ask anything, annoymous inner class etc- be careful)
then face to face
The first interviewer came into the room straight away took out some java code and a list of questions he seems to have pre-prepared in a paper, and asked me how to solve this problem.
Problem 1) Assume there is a method provided getNextperson() which gives Person objects which have comparable interface implemented, now read from a file records and sort it and give first 1000 records, write code on the paper
Ans: then i started asking more information and clarification, I said seems like the problem can be broken down into 3 sub problems (problem solving skills) first read records, part by part so tat memory is not a issue, then construct a tree data structure of some sort (already sorted binary tree) and give first 1000 records.
so basically start writing code to build a tree and sort it and write your own print method.
So i do not think i got this answer right, but more step step discussion. He said why not use TreeMap(inbuilt for Java), then he used why use a Tree data structure at all?
THIS QUESTION is very DIFFICULT
Problem 2) He had code printed off a paper which shows Singleton pattern, and asked if anything is missing in the logic
Ans- I answered correct, a return statement was missing, and explained about synchronization of singleton class (more discussion)
Problem 3) Write a sql query , 2 tables, 1 driver, 1 vehicle, "give me all ssn who do not have vehicle" is the question, gave him the answer, and little discussion to fine tune it by not using subquery
He said time's up, he took about 45 min, and he said he will send the next person
Young kid. Asked about current work, then jumped right into code on a piece of paper.
Problem 4) write code to return a sort array of int, when passed in 2 sorted array of int to the method.
Ans: the easiest way to do is put in a 3rd array and call array.sort, which he liked my approcach. Then more discussion on complexity, it is N square, so please try to optimize it. Then then i said compare each elment of 1 array to another array, then he asked to write code, more optimization etc. Then i put a loop in a loop, then he corrected it and said its N square again, so i suggested construct a loop for the size of 1 st array and 2nd array.
Then He said, he is out of time and the other guys are busy and could not make it, and they could get back to the recruiter. Then he walked me outside the door