Feb 7, 2015

Interview at Informatica Hyderabad- Senior software engineer

The interview process took one day and comprised of 4 technical round and 1 HR, just casual talk.
All interview rounds were mainly revolving around Data structure (DS) and algorithm/Java related stuff/ puzzles / problem solving.First round (F2F):  Data structure and algorithm related questions
 1.It started with as usual first Question Can you introduce yourself and your work in previous  companies ?
2. Can your explain different traversal we can have in tree DS ? Just as follow up question was asked  to write the sequence of node visit for Inorder and Postorder, for a given tree.
3. Can you write sample code for iterative level order traversal for a binary tree ?
4. Consider a stack full of elements. Can you write a sample code to reverse the elements in-place  (No extra space being used) ?
5.A famous puzzle question :  8 ball (7 with equal weight and 1 unequal) are placed a bag.In many  weighing we can find odd ball ?
6. Some questions related to fundamentals of Heap DS.Second round (F2F) :  Core java and its related technologies stack, SQL query related questions.
1. How do you rate your-self in java?  (Please give a convincing answer which you can justify)
2. He gave a sample code and asked what will be output. The fundamental concept behind this  question was String immutability.
3. Have you used Interface and abstract class ? And on what basis did you decide to use it ? As a followup, there was a discussion on Importance of Interface in software development.Discussion on one of the SOLID principle, Always code to interface.
4. What is overloading and over-ridding, was asked to write some valid sample code.What happens in compile time binding and run time ? Fundamental differences. As a followup, many other questions related to over-ridding (Considering inheritance perspective).
5. Do you thered in java and can you explain its life cycle ? what are different ways we can  create thread ? (Runnable and Thread class)When we will use Runnable and Thread ? Important point need to be mentioned for this question is that: when we use Thread we have full control over thread. I did not recall this point however 
reached at that point after getting some hint from him.
6. What are design patterns have you used?I mentioned few of them(factory, abstract factory, Front controller, MVC, signleton etc) .As a followup : Where I used it in my project ?  (Trick: Just mention only those you have really used and understands well)
7. How can we make it possible to generate only one object of a class per JVM?Indirect way of asking write a sample code for singleton class.As a followup , some questions related to synchronization and  volatile keyword.Fundamental of Java memory model (JMM) is important to know to answer very clearly.
8. One question from SQL query : write a query to find all employee who are also manager ?I did not do well here, I made it work with some help from interviewer, Answer to this question was related to self-join.Third round (F2F) : Question from each of the technologies item mentioned in my resume, and where I used. And Data structure related stuff.
1. How we write Junit code ?   Sample code for a working junit.What are the annotations we have in Junit?As a followup : how these annotation works ?
2. Dependency injection ? How it is helpful ?How annotation are good or bad with respect to Dependency injection.
3. Abstract data structure ?Implement stack using linkedlist ? A working sample code? As a followup discussed coding standard? Why this , why not this?
How it will affect , if we change the visibility and how performance will improve ?
4. Where did I use Hibernate ? (Hibernate was mentioned in my resume)
How it makes life of developer easy? Some fundamental questions from hibernate.
And many more questions from my projects mentioned my resume.
Moral of the story : Do not lies with resume , it reflects what you are. :)
Fourth round (F2F)Java related stuff / Puzzle    
1. Some fundamental questions from exception handling?Sample code for the same.
2. equls()/hashCode() contract ?  How they are important ?
3. How hashMap internally works ? And followup questions how it is diff from other collections ?
4. A sample code was given to predict output :
 What will happen when we put two return statement : one in try and other in finally ?
  As a followup : why finally value is returned ? What happens to try return statement ?
  I answered it , but not convincing.
5.Puzzle: In wine bottle, we find big apple inside, with very small opening at top. How apple can be 
  placed inside?Fifth round (F2F): HR discussion
Normal HR questions .
Most difficult question , why I want to change. Its just 1.5 years at Oracle.

Finally, shows over with good news!!

Location: Hyderabad, Telangana, India