In view of impending job interviews, I have delayed the Ubuntu installation (although from past experience, it only takes less than one hour) in favour of preparing for job interviews. I've sat through a lot of interviews in my 15 years or so work experience and can definitely say that the questions and interview process are much more difficult now in light of the economy. Also, the methodologies between the companies is not as consistent. One company might have you sit in front of a computer, some will have you write on the board while they fire questions, others just want to hear you talk . Some require online psychometric, verbal and numeric tests, while others prefer face to face evaluation.
The most difficult questions I've ever faced were last year at a start-up company in the silicon valley. I was not adequately prepared for the questions they were going to ask, otherwise I would have spent the previous week working on coding algorithms instead of scouring books like Effective Java.
Some questions do come up time and again. Here is a list of interview questions I've heard asked frequently:
i) Describe the difference between an Interface and Abstract class.
ii) Difference between Vector and ArrayList. Difference between a Hashtable and HashMap.
Skillful interviewers will drill down and ask why one is synchronized and the other is not.
iii) What is polymorphism?
iv) What is the difference between Proxy, Adapter and Facade design patterns?
v) When should you use inheritance over composition. (answer: for polymorphic reasons). Give an example of where it's used in the Java packages.
vi) Name some of the new features of Java 1.5. Generics, Boxing, Enum. What does Enum solve and provide an example.
Open-ended questions:
i) What is the most difficult problem you've faced and how did you overcome it?
ii) Describe one of the projects you have worked on.
Getting harder:
i) What is a race condition, deadlock? How do they differ? How do you fix/debug a race condition?
ii) What is synchronized?
Problems:
i) Given two stacks, how do you implement a queue?
ii) If A extends B, is "List<a> list = new ArrayList<b>();" valid?
Programming and SQL questions:
i) Given the following functions, f(0)=0 f(1)=1, f(n) = f(n-2) + f(n-1), construct a method that produces the result for f(n).
ii) Give two columns: col1 = sales figures, col2 = name of salesman, produce a SQL statement that provides total sales figure for those salesman who have made more than five sales.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment