I applied through a recruiter. The process took 1 day. I interviewed at Software AG in Jan 2015
Interview
It was on weekend and I attended the interview with moderate preparation. Interview processes looked very quick and fair. But may be because of the position, they expected much. Interview was kind of OK (not too difficult), but they asked some design problems, ALL RELATED TO JAVA. 1st round was taken by two senior persons, and questions asked to me were,
1. design classes and interfaces for Undo/Redo functionality (for example, we see in notepad right, undo redo feature, to simulate that). I was puzzled and using Observer pattern, I gave a probable solution, but they were not convinced.
2. Write program for printing all permutation of string
3. Sort Map based on values
4. Given a NxN matrix and three nodes in it, I need to fill all including nodes with 0
5. Garbage Collection
6. Java Reflection and its uses
Interview questions [1]
Question 1
classes and interfaces for Undo/redo functionality
Questions were mostly on core java - threads and concurrency particularly. Some algos and complexities. Was asked to write full code for every question. Make sure to cover corner cases while writing code.
Interview questions [1]
Question 1
How to implement distributed hashtable? Challenges and solution for that.
I applied through a recruiter. The process took 2 days. I interviewed at Software AG (Bengaluru)
Interview
Initial contact was through the recruiter.
The job requirements were communicated clearly and helped a lot in interview preparations.
The interview process was a one day affair of F2F interviews. 2 technical rounds followed by 1 Managerial then 1 HR and final interview with the Director.
The technical interview question were relevant to my work experience
Some data structure related questions, mostly on Lists and Trees. Java concepts like interfaces and abstract classes, thread life cycle etc.
Interview questions [1]
Question 1
How to manage asset dependencies and which data structures are useful for managing different types of dependencies [e.g. one-to-one, one-to-many, many-to-many].