i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
I applied via Campus Placement and was interviewed in Dec 2021. There were 5 interview rounds.
It was a medium level exam
Need to know about medium programming language
Pass by reference and pass by value are two ways of passing arguments to a function.
Pass by value means a copy of the argument is passed to the function
Pass by reference means the memory address of the argument is passed to the function
Pass by value is used for primitive data types like int, float, etc.
Pass by reference is used for complex data types like arrays, objects, etc.
I applied via Naukri.com and was interviewed before May 2023. There were 2 interview rounds.
Basic maths, grammar and reasoning
I applied via eLitmus and was interviewed before Apr 2023. There were 3 interview rounds.
Elitmus test to be cleared in round 1
What people are saying about CGI Group
I applied via Company Website and was interviewed in Oct 2021. There was 1 interview round.
Python is a high-level, interpreted programming language known for its simplicity, readability, and versatility.
Python has a large standard library with modules for various tasks
It supports multiple programming paradigms such as procedural, object-oriented, and functional programming
Python is dynamically typed and garbage-collected
It has a simple and easy-to-learn syntax
Python is widely used in web development, scienti...
To create a web page using HTML and CSS, you need to write the structure and content in HTML and then style it using CSS.
Start by creating the basic structure of the web page using HTML tags such as <html>, <head>, <title>, <body>, <header>, <footer>, <nav>, <section>, <article>, <div>, etc.
Add content to the web page using text, images, links, and other eleme...
Fibonacci code generates a series of numbers where each number is the sum of the two preceding ones.
Declare variables for first and second numbers in the series
Loop through the desired number of iterations
Calculate the next number in the series by adding the previous two
Print or store the result
Code to print even and odd numbers
Use a loop to iterate through numbers
Check if the number is even or odd using modulus operator
Print the number accordingly
Execute parameters in a function must be an array of strings.
Define the function with parameters in the parentheses
Separate each parameter with a comma
Enclose the parameters in square brackets to create an array
Example: function myFunction([param1, param2, param3]) { //code here }
OOPs is a programming paradigm based on the concept of objects that interact with each other.
OOPs stands for Object-Oriented Programming.
It focuses on creating objects that have properties and methods.
Encapsulation, Inheritance, and Polymorphism are the three main pillars of OOPs.
Encapsulation is the process of hiding the implementation details of an object from the outside world.
Inheritance allows a class to inherit p...
Classes are used in object-oriented programming to define a blueprint for creating objects.
Classes provide encapsulation, inheritance, and polymorphism.
They help organize code and make it more reusable.
Example: class Car { String make; int year; }
Example: Car myCar = new Car(); myCar.make = "Toyota"; myCar.year = 2021;
An anonymous function is a function without a name.
Anonymous functions are often used as arguments to higher-order functions.
They can be defined using the function keyword or as arrow functions.
Example: const add = function(x, y) { return x + y; }
Example: const multiply = (x, y) => x * y;
Inheritance is a mechanism in object-oriented programming where a class is derived from another class.
Inheritance allows a subclass to inherit properties and methods from a superclass.
The subclass can also add its own properties and methods.
Inheritance promotes code reuse and helps in creating a hierarchical class structure.
For example, a Car class can inherit from a Vehicle class, which can inherit from a Transport cl...
Python is a dynamic language because it allows for runtime changes and doesn't require variable declarations.
Python doesn't require variable declarations, allowing for dynamic typing
Functions and classes can be modified at runtime
Python's built-in functions like type() and setattr() allow for dynamic behavior
Dynamic behavior allows for more flexibility and faster development
Example: changing the type of a variable duri
Data structures are ways of organizing and storing data in a computer so that it can be accessed and used efficiently.
Data structures are used to manage and manipulate data in computer programs.
Examples of data structures include arrays, linked lists, stacks, queues, trees, and graphs.
Choosing the right data structure for a particular problem can greatly improve the efficiency of a program.
Data structures can be implem...
List is mutable while tuple is immutable in Python.
List can be modified while tuple cannot be modified.
List uses square brackets [] while tuple uses parentheses ().
List is slower than tuple in terms of performance.
List is used for collections of data while tuple is used for grouping related data.
Example of list: [1, 2, 3] and example of tuple: (1, 2, 3).
Convert dictionary to list in Python
Use the items() method to get key-value pairs as tuples
Convert the tuples to a list using list()
Append the lists to a new list using append()
Alternatively, use list comprehension to convert the dictionary to a list
Homogeneous elements are elements of the same type or kind.
Homogeneous elements have similar properties and characteristics.
They can be combined or compared easily.
Examples include a set of integers, a group of apples, or a collection of red flowers.
An array is a collection of similar data types stored in contiguous memory locations.
Arrays can be of any data type, such as integers, floats, characters, etc.
Arrays are accessed using an index, starting from 0.
Arrays can be one-dimensional, two-dimensional, or multi-dimensional.
Example: string[] names = {"John", "Jane", "Bob"};
Example: int[] numbers = new int[5];
The number of times a for loop is used in a program varies depending on the program's requirements.
The number of for loops used in a program depends on the program's logic and requirements.
For loops are used to iterate over arrays, lists, and other data structures.
Nested for loops are used to iterate over multi-dimensional arrays.
For loops can also be used for counting and other repetitive tasks.
The number of for loops
Bootstrap is a popular front-end framework for building responsive websites and web applications.
Bootstrap provides pre-designed HTML, CSS, and JavaScript components for easy implementation
It includes a responsive grid system for creating layouts that adapt to different screen sizes
Bootstrap also offers built-in support for popular JavaScript plugins and libraries
It was originally developed by Twitter and is now mainta...
Prime number is a number that is divisible only by 1 and itself.
Prime numbers are always greater than 1.
Examples of prime numbers are 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97.
To check if a number is prime, divide it by all numbers less than or equal to its square root. If none of them divide it evenly, it is prime.
CGI Group interview questions for designations
I applied via Recruitment Consulltant and was interviewed before Oct 2021. There were 3 interview rounds.
Get interview-ready with Top CGI Group Interview Questions
I applied via Naukri.com and was interviewed in Sep 2021. There were 2 interview rounds.
I was interviewed in Apr 2021.
Round duration - 70 minutes
Round difficulty - Medium
In this round, we had 2 coding questions of Easy to Medium level of difficulty to solve under 70 minutes.
You are given a string 'STR'. Your task is to determine the total number of palindromic substrings present in 'STR'.
"abbc"
5
Count the total number of palindromic substrings in a given string.
Iterate through each character in the string and expand around it to find palindromic substrings.
Use dynamic programming to store the results of subproblems to avoid redundant calculations.
Consider both odd-length and even-length palindromes while counting.
Example: For input 'abbc', the palindromic substrings are ['a', 'b', 'b', 'c', 'bb'], totaling 5.
Determine if an array contains a Pythagorean triplet by checking whether there are three integers x, y, and z such that x2 + y2 = z2 within the array.
The first lin...
Detect if an array contains a Pythagorean triplet by checking if there are three integers x, y, and z such that x^2 + y^2 = z^2.
Iterate through all possible combinations of three integers in the array and check if x^2 + y^2 = z^2.
Use a nested loop to generate all possible combinations efficiently.
If a Pythagorean triplet is found, output 'yes', otherwise output 'no'.
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 preety simple coding questions followed by some questions from Operating System.
Given an array of integers ARR
of length N
and an integer Target
, your task is to return all pairs of elements such that they add up to the Target
.
The first line ...
Given an array of integers and a target value, find all pairs of elements that add up to the target.
Iterate through the array and for each element, check if the target minus the element exists in a hash set.
If it exists, add the pair to the result. If not, add the element to the hash set.
Handle cases where the same element is used twice in a pair.
Return (-1, -1) if no pair is found.
Given a N x M matrix of integers, print the spiral order of the matrix.
The input starts with an integer 'T' representing the number of test cases. Each test ...
The problem involves printing the spiral order of a given N x M matrix of integers.
Iterate through the matrix in a spiral order by keeping track of the boundaries.
Print the elements in the order of top row, right column, bottom row, and left column.
Continue this process until all elements are printed in the spiral order.
Use multiple threads to print numbers from 1 to 100 in an optimized approach.
Divide the range of numbers (1-100) among the threads for parallel processing.
Use synchronization mechanisms like mutex or semaphore to ensure proper order of printing.
Implement a loop in each thread to print their assigned numbers.
Example: Thread 1 prints 1-25, Thread 2 prints 26-50, and so on.
Ensure proper termination of threads after printi
A program is a set of instructions to perform a specific task, while a process is an instance of a program in execution.
Program is a static entity stored on disk, while process is a dynamic entity in memory.
Program is passive, while process is active and can interact with other processes.
Multiple processes can run the same program simultaneously.
Example: Notepad.exe is a program, while when you open Notepad, it becomes
A process is an instance of a program running on a computer, while a thread is a smaller unit of a process that can execute independently.
A process has its own memory space, while threads share the same memory space within a process.
Processes are heavyweight, requiring separate memory and resources, while threads are lightweight and share resources.
Processes communicate with each other through inter-process communicati...
Round duration - 60 Minutes
Round difficulty - Medium
This round had 1 coding question where I was just asked to write the pseudo code. This was followed by some discussions on OOPS and then the interviewer asked me some questions related to DBMS and Java and ended the interview with a simple question on SQL.
Given a string STR
of length N
, your task is to remove all the vowels from that string and return the modified string.
The first line of input contains an integer 'T' ...
Remove all vowels from a given string and return the modified string.
Iterate through each character in the string and check if it is a vowel (a, e, i, o, u or A, E, I, O, U).
If the character is not a vowel, add it to the modified string.
Return the modified string after processing all characters.
UNION combines result sets from two or more SELECT statements, while UNION ALL includes all rows, including duplicates.
UNION removes duplicate rows, while UNION ALL does not
UNION is slower than UNION ALL as it performs a distinct operation
UNION requires the same number of columns in the SELECT statements being combined
The JVM allocates 5 types of memory areas: Method Area, Heap, Stack, PC Register, and Native Method Stack.
Method Area stores class structures, method data, and runtime constant pool.
Heap is where objects are allocated and memory for instance variables is stored.
Stack stores local variables and partial results, and plays a role in method invocation and return.
PC Register holds the address of the JVM instruction currentl...
Round duration - 30 Minutes
Round difficulty - Easy
This was a Technical Cum HR round where I was first asked some basic OOPS related concepts and then we discussed
about my expectations from the company , learnings and growth in the forthcomig years. I would suggest be honest and
try to communicate your thoughts properly in these type of rounds to maximise your chances of getting selected.
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 3 : Do at-least 2 good projects and you must know every bit of them.
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 Oct 2022. There were 4 interview rounds.
Problem related to strings
Some of the top questions asked at the CGI Group Associate Software Engineer interview -
The duration of CGI Group Associate Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 27 interviews
5 Interview rounds
based on 322 reviews
Rating in categories
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.9k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Test Engineer
1.2k
salaries
| ₹0 L/yr - ₹0 L/yr |
TCS
Infosys
Wipro
HCLTech