i
CGI
Group
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
Marker interfaces are used to indicate a specific property or behavior of a class without defining any methods.
Marker interfaces do not contain any methods or fields.
They are used to provide metadata about a class.
Common examples include Serializable and Cloneable in Java.
They help in implementing design patterns like Singleton.
Time complexity of hashmap operations is O(1) on average, but can be O(n) in worst case.
HashMap operations like get, put, remove have constant time complexity O(1) on average due to hashing
In worst case scenario, all keys hash to the same bucket resulting in linear search O(n)
Rehashing occurs when load factor exceeds a threshold, increasing time complexity temporarily
Two common design patterns used in projects are Singleton and Observer patterns.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Observer pattern defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Spring beans can have different scopes like singleton, prototype, request, session, and application.
Singleton scope: Bean is created only once per Spring IoC container
Prototype scope: Bean is created each time it is requested
Request scope: Bean is created once per HTTP request
Session scope: Bean is created once per HTTP session
Application scope: Bean is created once per ServletContext
To improve performance of a Spring Boot application, consider optimizing database queries, caching, using asynchronous processing, and monitoring performance metrics.
Optimize database queries by using indexes, avoiding N+1 queries, and limiting the amount of data fetched.
Implement caching to store frequently accessed data in memory, reducing the need to fetch data from the database repeatedly.
Use asynchronous proc...
Implemented logging in Spring Boot application using SLF4J and Logback
Added dependencies for SLF4J and Logback in pom.xml
Configured logback.xml for logging levels and appenders
Injected Logger instances using @Autowired annotation in classes
Used logger.debug(), logger.info(), logger.error() methods for logging
Sort the list of car models in reverse order
Use a sorting algorithm like bubble sort or quicksort to rearrange the array in reverse order
Alternatively, use built-in functions like sort() with a custom comparator function to achieve the same result
To prevent Singleton from being broken by cloning, we can override the clone method and throw an exception.
Override the clone method in the Singleton class and throw an exception to prevent cloning.
Alternatively, you can return the same instance in the clone method instead of creating a new instance.
Use serialization and deserialization to create a new instance of the Singleton class.
Use streams to remove repeating letters in a string
Convert the string to a character array
Use a stream to filter out repeating characters
Collect the characters back into a string
To reverse a number, convert it to a string, reverse the string, and convert it back to a number.
Convert the number to a string
Reverse the string
Convert the reversed string back to a number
I appeared for an interview in May 2024.
I appeared for an interview in Mar 2025, where I was asked the following questions.
I applied via Campus Placement
Sort the list of car models in reverse order
Use a sorting algorithm like bubble sort or quicksort to rearrange the array in reverse order
Alternatively, use built-in functions like sort() with a custom comparator function to achieve the same result
I applied via Naukri.com and was interviewed in Jul 2024. There was 1 interview round.
To prevent Singleton from being broken by cloning, we can override the clone method and throw an exception.
Override the clone method in the Singleton class and throw an exception to prevent cloning.
Alternatively, you can return the same instance in the clone method instead of creating a new instance.
Use serialization and deserialization to create a new instance of the Singleton class.
Visual Studio project creation involves several steps to set up a new project.
Open Visual Studio IDE
Click on 'File' > 'New' > 'Project'
Select the project type (e.g. Console Application, Web Application)
Choose the programming language (e.g. C#, VB.NET)
Specify project name, location, and solution name
Click 'Create' to generate the project files
Creating a new project in Visual Studio involves navigating to File > New > Project and providing a name for the project.
Navigate to File menu in Visual Studio
Select New option
Choose Project option
Enter a name for the project
Faced a challenge in optimizing a legacy system, requiring innovative solutions and collaboration with cross-functional teams.
Identified performance bottlenecks in the legacy system, which caused slow response times.
Collaborated with the team to refactor critical components, improving efficiency by 30%.
Implemented automated testing to ensure new changes did not introduce bugs.
Conducted regular code reviews to maintain ...
Top trending discussions
Some of the top questions asked at the CGI Group Software Engineer interview -
The duration of CGI Group Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 72 interview experiences
Difficulty level
Duration
based on 1k reviews
Rating in categories
Software Engineer
8.4k
salaries
| ₹5 L/yr - ₹12 L/yr |
Senior Software Engineer
7.6k
salaries
| ₹7.8 L/yr - ₹18.6 L/yr |
Lead Analyst
3.3k
salaries
| ₹15.1 L/yr - ₹26.2 L/yr |
Associate Software Engineer
1.9k
salaries
| ₹2.5 L/yr - ₹7 L/yr |
Senior Test Engineer
1.3k
salaries
| ₹9.4 L/yr - ₹17.5 L/yr |
Accenture
Wipro
Cognizant
Capgemini