i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
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...
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
What people are saying about CGI Group
I applied via Job Portal and was interviewed in Nov 2022. There were 5 interview rounds.
CGI Group interview questions for designations
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
Get interview-ready with Top CGI Group Interview Questions
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.
Java 8 streams are a sequence of elements that support functional-style operations.
Streams allow for processing sequences of elements in a functional way.
They can be created from various data sources like collections, arrays, or I/O channels.
Common operations on streams include map, filter, reduce, and collect.
Example: List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); Stream<String> stream = na...
Lambda expressions are anonymous functions that can be passed as arguments or returned from methods.
Lambda expressions are concise and can be used to represent a single method interface.
They do not have a name, return type, or access modifier.
They can have zero or more parameters and a body that contains the code to be executed.
Lambda expressions can be used in functional interfaces to provide implementation for abstra...
Abstract class can have both abstract and non-abstract methods, while interface can only have abstract methods.
Abstract class can have constructors, fields, and methods, while interface cannot have any implementation.
A class can only extend one abstract class, but can implement multiple interfaces.
Abstract classes are used to define common behavior among subclasses, while interfaces are used to define a contract for cl...
Data encapsulation is the concept of bundling data with the methods that operate on that data within a class.
Data encapsulation helps in hiding the internal state of an object and restricting access to it.
It allows for better control over the data by preventing external code from directly modifying it.
Encapsulation also helps in achieving data abstraction, where the internal details of an object are hidden and only the...
No, static methods cannot be overridden in Java.
Static methods belong to the class itself, not to any specific instance of the class.
Subclasses can define static methods with the same signature as the parent class, but it is not considered overriding.
Example: Parent class has a static method 'display()', and subclass also has a static method 'display()', but it is not overriding.
CHAR is fixed length while VARCHAR2 is variable length in SQL.
CHAR stores fixed length strings, padding with spaces if necessary.
VARCHAR2 stores variable length strings, only using the necessary space.
CHAR is faster for fixed length data, while VARCHAR2 is more flexible and efficient for variable length data.
A view in SQL is a virtual table based on the result-set of a SELECT statement.
Views are used to simplify complex queries by storing them as virtual tables.
They can be used to restrict access to specific columns or rows of a table.
Views do not store data themselves, but display data from the tables they are based on.
Changes made to the underlying tables are reflected in the view.
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.
BDD is a software development process that encourages collaboration between developers, QA, and non-technical stakeholders.
BDD focuses on defining the behavior of a system through examples in plain language
Uses a common language (like Gherkin syntax) to create executable specifications
Tests are written in a way that they can be easily understood by non-technical team members
Promotes communication and collaboration amon...
Annotations in Cucumber are tags used to define metadata for features, scenarios, and steps.
Annotations start with the @ symbol and can be used to organize and filter scenarios
Annotations can be used to define preconditions and postconditions for scenarios
Examples: @SmokeTest, @RegressionTest, @Before, @After
You can run a selected test from a group of tests in Cucumber by using tags.
Add tags to the scenarios you want to run
Use the --tags option when running Cucumber to specify which tags to include/exclude
Example: cucumber --tags @smokeTest
An Array is a fixed-size collection of elements of the same type, while an ArrayList is a dynamic collection that can grow or shrink in size.
Arrays are fixed in size, while ArrayLists can dynamically resize.
Arrays can only store elements of the same type, while ArrayLists can store elements of different types.
Arrays are faster for accessing elements, while ArrayLists are slower due to boxing and unboxing.
Arrays are str...
Reflection in C# is the ability to inspect and manipulate metadata of types at runtime.
Allows accessing type information at runtime
Enables examining and modifying properties, methods, and attributes of types dynamically
Useful for creating generic algorithms and frameworks
Example: Getting all properties of a class dynamically
Use a subquery to find the second highest salary in SQL.
Use a subquery to select the maximum salary from the table.
Then use another subquery to select the maximum salary that is less than the maximum salary found in the first step.
Combine both subqueries to get the second highest salary.
ALIAS command in SQL is used to give a table or column a temporary name.
ALIAS command is used to create a temporary name for a table or column in a SQL query
It is often used to make the SQL query more readable and concise
ALIAS can be used for tables (e.g. SELECT * FROM employees AS e) or columns (e.g. SELECT emp_id AS employee_id FROM employees)
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 : 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 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...
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
based on 8 interviews
3 Interview rounds
based on 106 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