i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed in Sep 2021. There was 1 interview round.
The framework used in my project is a custom-built automation framework.
The framework is designed to support end-to-end testing of the application.
It follows a modular approach, allowing easy maintenance and scalability.
The framework supports various testing types such as functional, regression, and performance testing.
It integrates with popular testing tools like Selenium and JUnit.
The framework includes features like...
OOPS is used extensively in our project for creating modular and reusable code.
We use inheritance to create a base class for common functionalities and derive child classes for specific functionalities.
We use encapsulation to hide the implementation details of a class and provide a clean interface for other modules to interact with it.
We use polymorphism to allow objects of different classes to be treated as if they ar...
SQL syntax for update and insert queries
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
SQL query to find the 2nd maximum value.
Use the ORDER BY clause to sort the values in descending order.
Use the LIMIT clause to limit the result to the second row.
Use a subquery to exclude the maximum value from the result set.
Static keyword is used to define class-level variables and methods. Static block is used to initialize static variables.
Static keyword is used to define variables and methods that belong to the class rather than instances of the class.
Static variables are initialized only once, when the class is loaded into memory.
Static methods can be called without creating an instance of the class.
Static block is a block of code tha...
Types of testing include functional testing, non-functional testing, manual testing, automated testing, regression testing, and performance testing.
Functional testing: Testing the functionality of the software against the requirements.
Non-functional testing: Testing aspects like performance, usability, and security.
Manual testing: Testing performed manually by testers.
Automated testing: Testing using automated tools an...
What people are saying about CGI Group
I applied via Naukri.com and was interviewed before Dec 2023. There were 3 interview rounds.
Exception handling is a mechanism to handle errors or exceptional situations in a program.
It allows the program to continue running even if an error occurs.
Exceptions can be caught and handled using try-catch blocks.
Common exceptions include NullPointerException, ArrayIndexOutOfBoundsException, and IOException.
Handling exceptions properly can improve the robustness and reliability of the software.
The 'super' keyword in Java is used to refer to the immediate parent class object.
Used to access methods and variables of the parent class
Used to call the parent class constructor
Helps in achieving method overriding
Yes, I am open to relocating for the position.
I am willing to relocate for the right opportunity
I have relocated for previous positions and am open to doing so again
I understand the importance of being flexible in order to advance my career
CGI Group interview questions for designations
I applied via Job Portal and was interviewed in Nov 2022. There were 5 interview rounds.
Get interview-ready with Top CGI Group Interview Questions
To reproduce a bug, follow these steps:
Identify the steps that led to the bug
Record the exact inputs and conditions
Recreate the bug using the recorded steps and inputs
Document any error messages or unexpected behavior
I was interviewed in Oct 2021.
Round duration - 60 Minutes
Round difficulty - Medium
In this round, the interviewer first started asking me questions around Java and Java 8 and then he switched to OOPS and SQL.
A stream is an abstraction to express data processing queries in a declarative way.
A Stream, which represents a sequence of data objects & series of operations on that data is a data pipeline that is not related to Java I/O Streams does not hold any data permanently.
The key interface is "java.util.stream.Stream". It accepts Functional Interfaces so that lambdas can be passed. Streams support a fluent interfac
Below are the two significant features of the methods that are defined as the lambda expressions:
1) Lambda expressions can be passed as a parameter to another method.
2) Lambda expressions can be standalone without belonging to any class.
Answer :
The differences between Abstract Class and Interface are as follows:
Abstract Class:
1) Abstract classes have a default constructor and it is called whenever the concrete subclass is instantiated.
2) It contains Abstract methods as well as Non-Abstract methods.
3) The class which extends the Abstract class shouldn’t require the implementation of all the methods, only Abstract
methods need to be implemented in the co...
1) Data Encapsulation is an Object-Oriented Programming concept of hiding the data attributes and their behaviors in a single unit.
2) It helps developers to follow modularity while developing software by ensuring that each object is independent of other objects by having its own methods, attributes, and functionalities.
3) It is used for the security of the private properties of an object and hence serves the purpose of
1) No. Declaration of static methods having the same signature can be done in the subclass but run time polymorphism can not take place in such cases.
2) Overriding or dynamic polymorphism occurs during the runtime, but the static methods are loaded and looked up at the compile time statically. Hence, these methods cant be overridden.
Both of these data types are used for characters, but varchar2 is used for character strings of variable length, whereas char is used for character strings of fixed length. For example, if we specify the type as char(5) then we will not be allowed to store a string of any other length in this variable, but if we specify the type of this variable as varchar2(5) then we will be allowed to store strings of variable length...
Views in SQL are a kind of virtual table. A view also has rows and columns as they are on a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain conditions.
The CREATE VIEW statement of SQL is used for creating views.
Basic Syntax :
CREATE VIEW view_name AS
SELE...
Round duration - 60 Minutes
Round difficulty - Medium
In this round, the interviewer asked me questions around BDD Frameworks, Cucumber and C#. At the end, I was also asked some basic questions revolving around SQL.
There are majorly three steps in the working of BDD. They are as follows :-
1) Behaviour Description : We list down the features of our application first in the feature file.
2) Making the Step Definition file : The mapping between each step of the scenario defined in the feature file and a
code of the function to be executed is stored in the steps definition file.
3) Testing and running : We run the test cases to check if...
An annotation is a type of text that has been pre-defined and has a specified meaning. It tells the compiler/interpreter
what to do when the program runs. The annotations on Cucumber are as follows:
1) Given : It specifies the requirements for running the test.
Example : Given I have an account on Interviewbit.
2) When : It establishes the starting point for any test scenario.
Example : When I log in to Interviewbit.
3) Then...
1) We may execute a single test from a set of tests in the Cucumber framework using the tags idea.
2) This is found in the TestRunner file's @CucumberOptions section. With the use of the @t keyword, we may tag a scenario in the feature file.
3) A scenario can have one or more tags within the feature file. We can separate test scenarios with the assistance of tagging.
4) We must pass the value within the tags a...
An array is a collection of similar variables clubbed together under one common name. While ArrayList is a collection of objects that can be indexed individually. With ArrayList you can access a number of features like dynamic memory allocation, adding, searching, and sorting items in the ArrayList.
1) When declaring an array the size of the items is fixed therefore, the memory allocation is fixed. But with ArrayL...
Reflection in C# extracts metadata from the datatypes during runtime.
To add reflection in the .NET framework, simply use System.Refelction namespace in your program to retrieve the type which can be anything from :
1) Assembly
2) Module
3) Enum
4) MethodInfo
5) ConstructorInfo
6) MemberInfo
7) ParameterInfo
8) Type
9) FieldInfo
10) EventInfo
11) PropertyInfo
Approach : Sort the distinct salary in descend order and then utilize the LIMIT clause to get the second highest salary.
Query :
SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1;
Aliases are the temporary names given to a table or column for the purpose of a particular SQL query. It is used when the name of a column or table is used other than their original name, but the modified name is only temporary.
1) Aliases are created to make table or column names more readable.
2) The renaming is just a temporary change and the table name does not change in the original database.
3) Aliases are useful wh...
Round duration - 30 Minutes
Round difficulty - Easy
This was a Technical Cum HR round where I was first asked some basic Java 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 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round,
like what are the projects currently the company is investing, which team you are mentoring. How all is the ...
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 Referral and was interviewed in Oct 2021. There were 2 interview rounds.
I applied via Naukri.com and was interviewed in Sep 2021. There were 3 interview rounds.
Put is used to replace an entire resource while Patch is used to update a part of a resource.
Put replaces the entire resource with the new one while Patch updates only the specified fields.
Put requires the entire resource to be sent in the request while Patch only requires the fields to be updated.
Put is idempotent while Patch is not necessarily idempotent.
Put is used for creating a new resource while Patch is used for
Insertion order is maintained by using LinkedHashSet instead of HashSet
HashSet does not maintain insertion order
LinkedHashSet maintains insertion order
Use LinkedHashSet instead of HashSet to maintain insertion order
Hashmap is a data structure that stores key-value pairs and provides constant time complexity for insertion, deletion, and retrieval.
Hashmap uses a hash function to map keys to indices in an array.
Collisions can occur when two keys map to the same index, which can be resolved using separate chaining or open addressing.
Hashmap provides O(1) time complexity for insertion, deletion, and retrieval of values based on their ...
I was interviewed before May 2022.
Pacing is calculated by dividing the total time available by the number of questions or tasks to be completed.
Determine the total time available for the test
Count the number of questions or tasks to be completed
Divide the total time by the number of questions or tasks
This will give you the pacing time per question or task
I have worked on various testing tools such as Selenium, JMeter, SoapUI, TestNG, and Appium.
Proficient in Selenium for web application testing
Experience in load testing using JMeter
Familiarity with API testing using SoapUI
Expertise in TestNG for test case management
Knowledge of Appium for mobile application testing
I applied via Naukri.com and was interviewed in Dec 2021. There were 3 interview rounds.
based on 6 interviews
3 Interview rounds
based on 104 reviews
Rating in categories
Software Engineer
8.1k
salaries
| ₹3.8 L/yr - ₹12 L/yr |
Senior Software Engineer
7.2k
salaries
| ₹6.1 L/yr - ₹22.5 L/yr |
Lead Analyst
3.1k
salaries
| ₹9.9 L/yr - ₹29.5 L/yr |
Associate Software Engineer
1.9k
salaries
| ₹2.5 L/yr - ₹6.6 L/yr |
Senior Test Engineer
1.2k
salaries
| ₹6 L/yr - ₹18.4 L/yr |
TCS
Infosys
Wipro
HCLTech