Faster and better experience!
i
CGI
Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Quicksort's time complexity can degrade to O(n^2) in worst-case scenarios, affecting performance significantly.
Worst-case occurs when the pivot is the smallest or largest element, e.g., sorting an already sorted array.
Average-case time complexity is O(n log n), which is efficient for most inputs.
Best-case occurs with a balanced pivot, leading to O(n log n) performance.
Using randomization or the median-of-three met...
A complete binary tree is fully filled except for the last level, while a perfect binary tree is completely filled at all levels.
A complete binary tree has all levels fully filled except possibly the last level, which is filled from left to right.
A perfect binary tree has all levels completely filled, meaning every node has two children except for the leaves.
Example of a complete binary tree: Levels 0, 1, and 2 ar...
Handling high traffic in a Node.js application involves optimizing performance, scaling, and managing resources effectively.
Load Balancing: Distribute incoming traffic across multiple server instances using tools like Nginx or AWS Elastic Load Balancing.
Clustering: Utilize Node.js's built-in cluster module to create multiple instances of your application, taking advantage of multi-core systems.
Caching: Implement c...
Yes, a web application can be vulnerable to both XSS and SQL injection due to improper input validation.
XSS (Cross-Site Scripting) occurs when an application includes untrusted data in a web page without proper validation or escaping.
SQL Injection happens when an application includes untrusted data in a SQL query without proper sanitization.
For example, an input field that allows users to enter comments could be v...
What people are saying about CGI Group
CSP header bypass involves exploiting misconfigurations or weaknesses in Content Security Policy to execute unauthorized scripts.
1. Use of 'unsafe-inline': If a CSP allows 'unsafe-inline', attackers can inject scripts directly into HTML.
2. Whitelisting domains: If a CSP whitelists a domain that is compromised, attackers can serve malicious scripts from that domain.
3. Data URIs: Some CSP configurations may allow da...
I utilize various tools and methods to execute test cases in parallel, enhancing efficiency and reducing testing time.
Use test automation frameworks like Selenium Grid to run tests on multiple browsers simultaneously.
Leverage cloud-based testing platforms such as BrowserStack or Sauce Labs for parallel execution across different environments.
Implement Continuous Integration/Continuous Deployment (CI/CD) tools like...
Adding a new field in MVC requires updates in the backend and frontend for seamless data flow.
1. Update the Model: Add the new field to the data model class (e.g., 'public string NewField { get; set; }' in C#).
2. Update the Database: Modify the database schema to include the new field (e.g., using a migration in Entity Framework).
3. Update the Controller: Ensure the controller retrieves and sends the new field dat...
The patching process for Oracle Database involves applying updates to enhance performance, security, and stability.
Identify the current version of the Oracle Database and check for available patches.
Review the patch documentation for prerequisites and compatibility.
Backup the database and configuration files to prevent data loss.
Download the necessary patch files from Oracle's support site.
Apply the patches using ...
Factory design pattern is used to create objects without specifying the exact class of object that will be created.
Factory method creates objects without specifying the exact class of object that will be created.
It provides a way to delegate the instantiation logic to child classes.
Example: Java's Calendar.getInstance() method returns a Calendar object based on the current timezone and locale.
Redux is a predictable state container for JavaScript apps.
Centralized state management
State is read-only
Changes are made with pure functions (reducers)
Actions are dispatched to update state
Used with React for managing application state
I applied via Campus Placement and was interviewed in Dec 2024. There were 3 interview rounds.
Average to easy difficulty level.
String manipulation in Java involves various methods like substring, concat, replace, etc.
Use substring() to extract a part of the string
Use concat() to concatenate two strings
Use replace() to replace a specific character or substring in a string
Various sorting algorithms in Java code
Bubble Sort: int[] arr = {5, 2, 8, 1, 3}; Arrays.sort(arr);
Selection Sort: int[] arr = {5, 2, 8, 1, 3}; Arrays.sort(arr);
Insertion Sort: int[] arr = {5, 2, 8, 1, 3}; Arrays.sort(arr);
Merge Sort: int[] arr = {5, 2, 8, 1, 3}; Arrays.sort(arr);
Quick Sort: int[] arr = {5, 2, 8, 1, 3}; Arrays.sort(arr);
The company is a leading software development firm specializing in creating innovative solutions for various industries.
Specializes in creating innovative software solutions
Works with clients from various industries
Known for high-quality and reliable products
Has a strong team of software engineers and developers
Handled conflicts by addressing issues directly, seeking compromise, and maintaining professionalism.
Addressed a disagreement with a colleague by scheduling a one-on-one meeting to discuss concerns and find common ground.
Resolved a conflict with a manager by actively listening to their perspective, providing feedback, and working together to find a solution.
Maintained professionalism during conflicts by staying calm, r...
I would gather more data to support my idea, present a compelling case to my manager, and be open to feedback and compromise.
Gather data to support the idea, such as market research, user feedback, or cost-benefit analysis.
Prepare a well-structured presentation highlighting the potential benefits of the product idea.
Listen to the manager's concerns and feedback, and be open to making adjustments or compromises.
Seek sup...
I appeared for an interview in Feb 2025, where I was asked the following questions.
Adding a new field in MVC requires updates in the backend and frontend for seamless data flow.
1. Update the Model: Add the new field to the data model class (e.g., 'public string NewField { get; set; }' in C#).
2. Update the Database: Modify the database schema to include the new field (e.g., using a migration in Entity Framework).
3. Update the Controller: Ensure the controller retrieves and sends the new field data to ...
I appeared for an interview in Mar 2025, where I was asked the following questions.
XSS (Cross-Site Scripting) is a security vulnerability allowing attackers to inject malicious scripts into web pages viewed by users.
Sanitize user input to remove harmful scripts. Example: Use libraries like DOMPurify.
Implement Content Security Policy (CSP) to restrict sources of scripts.
Use HTTPOnly and Secure flags on cookies to prevent access via JavaScript.
Validate and encode output data to prevent script execution...
SQL (Structured Query Language) is a standard language for managing and manipulating relational databases.
SQL is used to perform tasks such as querying data, updating records, and managing database structures.
Second-order SQL injection occurs when an attacker injects malicious SQL code into a database, which is then executed later.
For example, an attacker might input a value that is stored in the database, and when tha...
CSP header bypass involves exploiting misconfigurations or weaknesses in Content Security Policy to execute unauthorized scripts.
1. Use of 'unsafe-inline': If a CSP allows 'unsafe-inline', attackers can inject scripts directly into HTML.
2. Whitelisting domains: If a CSP whitelists a domain that is compromised, attackers can serve malicious scripts from that domain.
3. Data URIs: Some CSP configurations may allow data UR...
Yes, a web application can be vulnerable to both XSS and SQL injection due to improper input validation.
XSS (Cross-Site Scripting) occurs when an application includes untrusted data in a web page without proper validation or escaping.
SQL Injection happens when an application includes untrusted data in a SQL query without proper sanitization.
For example, an input field that allows users to enter comments could be vulner...
I appeared for an interview in Feb 2025.
Understanding JavaScript concepts like parameters, closures, and variable declarations is crucial for effective coding.
Parameters are variables listed as part of a function's definition, while arguments are the actual values passed to the function.
Example: function add(a, b) { return a + b; } - 'a' and 'b' are parameters; add(2, 3) - '2' and '3' are arguments.
Closures are functions that remember their lexical scope eve...
I appeared for an interview in Feb 2025.
Around 120 minutes. Had Different sections for coding, verbal, CS fundamentals.
I applied via Indeed and was interviewed in Dec 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Dec 2024. There were 2 interview rounds.
I applied via Naukri.com and was interviewed in Nov 2024. There were 3 interview rounds.
I applied via Approached by Company and was interviewed in Nov 2024. There was 1 interview round.
I applied via Approached by Company and was interviewed in Oct 2024. There were 2 interview rounds.
Some of the top questions asked at the CGI Group interview -
The duration of CGI Group interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 460 interview experiences
Difficulty level
Duration
based on 4.9k reviews
Rating in categories
Software Engineer
8.2k
salaries
| ₹3.8 L/yr - ₹14 L/yr |
Senior Software Engineer
7.5k
salaries
| ₹6.2 L/yr - ₹23 L/yr |
Lead Analyst
3.2k
salaries
| ₹10 L/yr - ₹30.3 L/yr |
Associate Software Engineer
1.9k
salaries
| ₹2.5 L/yr - ₹7 L/yr |
Associate Consultant
1.2k
salaries
| ₹12 L/yr - ₹36 L/yr |
Accenture
Wipro
Cognizant
Capgemini