CGI Interview Experience for Software Engineer
I have 4+ Years of Experience as a Java Developer.
Total 3 rounds (2 Technical + 1 Managerial)
HR round was just formalities.
I was contacted directly by the CGI recruitment team, they shortlisted my profile from Naukri.
Round 1(Telephonic for around 1 hour): I was asked questions from Core Jave (OOPs concept in depth). I was also asked questions from Java 8 new features (Lambda expression, Functional interface, Hashmap & Garbage collection changes in Java 8), Collection, Exception Handling, Multithreading, Serialization, SQL.
- How HashMap & ConcurrentHashMap works internally and advantage of ConcurrentHashMap over HashMap.
- Explain try with resources. Why we don’t need finally block here.
- Why wait(), notify() & notifyAll() are in Object class and not in Thread class. Why?
- How to achieve thread safety apart from using synchronization? (semaphore & mutex)
- How many ways do you know to break a singleton design pattern? How will you fix them?
- Custom serialization & Externalization difference with an example.
- Detect a loop in a linked list.
- Indexing in SQL, how to write optimized query.
Round 2(Microsoft Teams for around 1 hour 15 mins): Mostly I was asked to write Java programs using notepad++ (No IDE :P))
- Create your own immutable class with mutable object like Date
- Given an Employee class having attribute id, name, salary. Write a program to sort employee object using salary, if the salary is the same sort it using the name.
- Given an Employee class having attribute id, name, salary. Write a program to store employee objects in a map so that no two duplicate employees should be stored on the map.
- Given a string find the first duplicate character from it.
- Given a string, find the longest palindrome from it. (Just approach and algorithm he was interested in)
- Explain executerService framework. submit vs execute.
Round 3(Microsoft Teams for around 40 mins):
It was a managerial round. I was asked why I am switching again to a service-based company from a product-based. Tell me about the 2 most challenging situations you have faced in your last project. How did you overcome them? Then he explained about the project, the technologies they were using. He was very polite and knowledgeable. It was a nice experience.
Round 4(Microsoft Teams for around 30 mins): HR round was just formalities.
Salary discussion and how soon I can join.
- Be confident in your answer. It’s ok if you don’t know some answer. Saying no politely is better than giving a wrong answer.
- Do practice lots of programming questions from sites like GeeksforGeeks, HackerRank, etc. Having theoretical knowledge is good but the interviewer expects practical knowledge and problem-solving ability.
- Keep a smile on your face even if they have put you in a difficult situation. They are testing your ability how you behave in a pressure situation. Try your best, your attitude is what matters to them.
- All the best, you will rock!
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon. Google and Microsoft Test Serieses.