Round 1: It was an offline test which consisted of 2 papers, 1st paper has around 20 MCQ’s in Java based on Interfaces, java classes, Garbage collection, some output questions. etc, difficulty was normal level. The other paper had 3 coding questions Simple Ones-
Reverse a given number, Find LCA of 2 given nodes, Find if a number is Magic Number (Magic if xy= x^n + y^n, where n is given)
This was a technical Round mostly based on answers I wrote for coding questions. He asked questions like:
- Why did you use StringBuilder instead of String.
- What is String pool.
- Difference between String StringBuilder and StringBuffer.
- When is an object immutable, write your own immutable class.
- Difference between primary datatype and Wrapper Classes.
- Singleton class and how do you invoke this singleton class.
- Functional Interfaces.
- Abstract Classes.
- lambda Expressions in Java8.
- Access modifiers, final keyword, static keyword,
- Exceptions, Define your own Exception class, Checked and Unchecked Expressions, Overloading and Overriding, Collection framework.
He also asked about design patterns but I said I had no idea about it. This round lasted for about 45 mins, the interviewer was very friendly and I had not covered few cases in my code so he gave hints and asked to explain how I would implement those.
This round was also technical round and the interviewer gave many output based questions – A class implementing 2 interfaces both having same member defined, then what will be the error while printing that data member in a class which implements both interfaces and how would you rectify it. Questions related to inner classes in Java as to how you would invoke a private method defied in Inner class, use of super keyword.
Given two classes X(data members i, j and static block refers Y.i and Y.j) and Y(data members i, j and static block refers X.i and X.j), order in which they will be initialized and what will be the output, you need to know how class loading happens in Java. Then he asked some questions on Threads, synchronized keyword and how locks are acquired and released. Some questions on inheritance, method overloading and overriding.
Then he asked to write few SQL Queries and a Coding Question based on recursion.Then we had a long discussion about my current project, problems faced and some questions based on that. Expected CTC. This interview lasted for about 1 hr 30 mins.
Result came in positive for me 🙂