i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed before Jul 2023. There were 3 interview rounds.
I applied via Referral and was interviewed before Jan 2023. There were 3 interview rounds.
I applied via Naukri.com and was interviewed before Sep 2022. There were 6 interview rounds.
Asked me to develop a banking related website with home page, edit page and transactions page.
What people are saying about CGI Group
I applied via Approached by Company and was interviewed before Apr 2023. There were 3 interview rounds.
Regarding technical McQ questions
CGI Group interview questions for designations
I applied via Naukri.com and was interviewed before Oct 2022. There were 3 interview rounds.
Get interview-ready with Top CGI Group Interview Questions
Same like elitmis
General topics
I was interviewed in Jun 2021.
Round duration - 60 Minutes
Round difficulty - Medium
This round started with some basic questions from Java followed by some questions from Multithreading in Java and Java Design Patterns.
Packages in Java help organize code, prevent naming conflicts, and provide access control.
Organize code into logical groups for easier maintenance and readability
Prevent naming conflicts by using unique package names
Provide access control by using package-private, protected, public modifiers
Facilitate reusability by allowing classes in the same package to access each other's members
Java is platform independent because it compiles code into bytecode that can run on any platform, while the JVM is platform dependent because it interprets bytecode into machine code specific to the underlying system.
Java code is compiled into bytecode, which is a platform-independent intermediate representation of the code.
The JVM interprets this bytecode and translates it into machine code that is specific to the und...
A thread pool is a collection of worker threads that are managed by the system to efficiently execute tasks.
Thread pools help improve performance by reusing threads instead of creating new ones for each task.
They limit the number of concurrent threads to prevent resource exhaustion.
Thread pools can be used in applications like web servers to handle multiple client requests efficiently.
interrupted() checks if the current thread has been interrupted, while isInterrupted() checks if a thread has been interrupted.
interrupted() is a static method in the Thread class, while isInterrupted() is an instance method.
interrupted() clears the interrupted status of the current thread, while isInterrupted() does not.
Example: boolean interrupted = Thread.interrupted(); // clears interrupted status and returns true
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Used to restrict the instantiation of a class to one object
Commonly used in scenarios where only one instance of a class is needed, such as database connections or configuration settings
Implemented by creating a static method that returns the same instance of the class every time it is called
Round duration - 60 Minutes
Round difficulty - Medium
This round primarily focused on some major concepts in Spring Boot and Hibernate and had questions revolving around that.
Spring Boot offers basic annotations like @SpringBootApplication, @RestController, @Autowired, @RequestMapping, @ComponentScan, @Service, @Repository, @Configuration, @Bean.
@SpringBootApplication - Used to mark the main class of a Spring Boot application.
@RestController - Used to define a RESTful controller.
@Autowired - Used for automatic dependency injection.
@RequestMapping - Used to map web requests to specific handl...
The @RestController annotation in Spring Boot is used to define a class as a RESTful controller.
Used to create RESTful web services in Spring Boot
Combines @Controller and @ResponseBody annotations
Automatically serializes return objects to JSON/XML
Maps HTTP requests to handler methods based on @RequestMapping annotations
Dependency injection is a design pattern where components are provided with their dependencies rather than creating them internally.
Allows for easier testing by providing mock dependencies
Promotes loose coupling between components
Improves code reusability and maintainability
Examples: Constructor injection, Setter injection, Interface injection
Hibernate caching is a mechanism used to improve the performance of Hibernate applications by reducing the number of database queries.
Hibernate caching stores frequently accessed data in memory to reduce the need for repeated database queries.
There are different levels of caching in Hibernate, such as first-level cache and second-level cache.
First-level cache is associated with the Session object and is enabled by defa...
setMaxResults() limits the number of results returned by a query, while setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is used to limit the number of results returned by a query.
setFetchSize() determines the number of rows fetched at a time from the database.
setMaxResults() is typically used for pagination purposes, while setFetchSize() can improve performance by reduci...
N+1 SELECT problem in Hibernate occurs when a query results in N+1 database queries being executed instead of just one.
Occurs when a query fetches a collection of entities and then for each entity, another query is executed to fetch related entities individually
Can be resolved by using fetch joins or batch fetching to fetch all related entities in a single query
Example: Fetching a list of orders and then for each order
Hibernate provides several concurrency strategies like optimistic locking, pessimistic locking, and versioning.
Optimistic locking: Allows multiple transactions to read and write to the database without locking the data. Conflicts are resolved during transaction commit.
Pessimistic locking: Locks the data when it is read, preventing other transactions from modifying it until the lock is released.
Versioning: Uses a versio...
Round duration - 30 Minutes
Round difficulty - Easy
This is a cultural fitment testing round .HR was very frank and asked standard questions. Then we discussed about my
role.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed in Apr 2021.
Round duration - 50 Minutes
Round difficulty - Medium
This round mainly revolved around concepts from Data Warehouse and Big Data.
A degenerate dimension is a dimension that consists of attributes that are stored in the fact table instead of a separate dimension table.
Degenerate dimensions are typically used for attributes that are not easily categorized or do not have enough distinct values to warrant a separate dimension table.
Examples of degenerate dimensions include order numbers, invoice numbers, and transaction IDs.
These attributes are often...
ETL process involves extracting data from various sources, transforming it to fit the data warehouse schema, and loading it into the warehouse.
Extract: Data is extracted from different sources such as databases, files, APIs, etc.
Transform: Data is cleaned, filtered, aggregated, and transformed to match the data warehouse schema.
Load: Transformed data is loaded into the data warehouse for analysis and reporting.
Example:...
Data marts are subsets of data warehouses that focus on specific business areas or departments.
Types include dependent data marts, independent data marts, and hybrid data marts.
Dependent data marts rely on the data warehouse for data, while independent data marts do not.
Hybrid data marts combine elements of both dependent and independent data marts.
Examples include sales data mart, marketing data mart, and finance data
Fact Table contains quantitative data and measures, while Dimension Table contains descriptive attributes.
Fact Table typically contains numerical data that can be aggregated (e.g. sales revenue, quantity sold)
Dimension Table contains descriptive attributes for the data in the Fact Table (e.g. product name, customer details)
Fact Table is usually normalized for efficient data storage and retrieval, while Dimension Table ...
Deploying a Big Data model involves several key steps to ensure successful implementation.
Prepare the data for deployment by cleaning and transforming it as needed
Choose the appropriate deployment environment such as on-premises or cloud
Implement the model using tools like Apache Spark or Hadoop
Monitor the performance of the deployed model and make necessary adjustments
Scale the deployment as needed to handle increasin...
Round duration - 60 Minutes
Round difficulty - Medium
This round was primarily focused towards some core concepts in Database Management System and Hadoop. Towards the end of the interview, I was also asked some questions around ETL (Extract, Transform, and Load) and Data Warehouse.
OLAP is used for complex analytical queries, while OLTP is used for transactional processing.
OLAP stands for Online Analytical Processing, while OLTP stands for Online Transactional Processing.
OLAP is designed for complex queries and data analysis, while OLTP is designed for fast and efficient transaction processing.
OLAP databases are optimized for read-heavy workloads, while OLTP databases are optimized for write-heav...
Use a common method like using CTE with ROW_NUMBER() function to delete duplicates from a table in SQL Server.
Use a common table expression (CTE) with ROW_NUMBER() function to assign a unique row number to each duplicate record.
Delete the duplicate records by filtering out rows with row number greater than 1.
Example: WITH CTE AS (SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2 ORDER BY column3) AS rn FROM ta
INNER JOIN returns rows when there is at least one match in both tables, while OUTER JOIN returns all rows from both tables.
INNER JOIN only returns rows that have matching values in both tables
OUTER JOIN returns all rows from both tables, even if there are no matches
Types of OUTER JOIN include LEFT JOIN, RIGHT JOIN, and FULL JOIN
Example: INNER JOIN would return only the customers who have made a purchase, while OUTER J...
Hadoop is an open-source framework for distributed storage and processing of large data sets.
Core components include Hadoop Distributed File System (HDFS), Yet Another Resource Negotiator (YARN), and MapReduce.
HDFS is responsible for storing data across multiple machines in a Hadoop cluster.
YARN manages resources and schedules tasks across the cluster.
MapReduce is a programming model for processing and generating large...
HDFS is the storage unit in Hadoop, providing fault-tolerant and scalable storage for big data.
HDFS divides data into blocks and stores them across multiple machines in a cluster.
It replicates data for fault tolerance, with default replication factor of 3.
HDFS supports streaming data access and is optimized for large sequential reads.
It provides high throughput and reliability for big data processing.
HDFS is suitable f...
Round duration - 30 Minutes
Round difficulty - Easy
This was a typical HR round with some standard Behavioral questions.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Company Website and was interviewed before May 2022. There were 4 interview rounds.
Some of the top questions asked at the CGI Group Senior Software Engineer interview -
The duration of CGI Group Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 44 interviews
4 Interview rounds
based on 706 reviews
Rating in categories
5-8 Yrs
₹ 4.75-30 LPA
4-6 Yrs
₹ 3.8-28 LPA
Software Engineer
8.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
7.2k
salaries
| ₹0 L/yr - ₹0 L/yr |
Lead Analyst
3.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Associate Software Engineer
1.8k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Test Engineer
1.2k
salaries
| ₹0 L/yr - ₹0 L/yr |
TCS
Infosys
Wipro
HCLTech