i
CGI
Group
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
JWT tokens facilitate secure communication between UI and backend by encoding user information and validating requests.
JWT (JSON Web Token) is a compact, URL-safe means of representing claims to be transferred between two parties.
The UI (frontend) sends a login request with user credentials to the backend.
Upon successful authentication, the backend generates a JWT and sends it back to the UI.
The UI stores the JWT ...
The hashCode() method generates a unique integer for an object, aiding in efficient data retrieval in hash-based collections.
Used in hash-based collections like HashMap and HashSet for quick data access.
Returns an integer value, which is the hash code of the object.
Two equal objects must have the same hash code (consistent with equals()).
Example: If two objects are equal, their hashCode() should return the same va...
JMM (Java Memory Model) defines how threads interact through memory in Java, ensuring consistency and visibility of shared data.
JMM specifies rules for visibility and ordering of variables in multi-threaded environments.
It defines 'happens-before' relationships to ensure proper synchronization.
Example: If one thread writes to a variable and another reads it, JMM guarantees visibility if proper synchronization is u...
POS systems are essential for processing sales transactions and managing retail operations efficiently.
POS systems facilitate sales transactions through hardware like registers and software for inventory management.
They can integrate with payment processors for credit/debit card transactions, enhancing customer convenience.
Modern POS systems often include features like sales reporting, customer relationship manage...
Systematically diagnose printer issues by checking connections, settings, and performing tests to identify the root cause.
Check physical connections: Ensure the printer is plugged in and connected to the network or computer.
Verify printer status: Look for error messages on the printer display or in the print queue on the computer.
Inspect printer settings: Confirm that the correct printer is selected in the print d...
To resolve pinpad issues, I follow a systematic approach to diagnose and fix the problem effectively.
1. Identify the issue: Check for error messages or symptoms, such as unresponsive screen or failed transactions.
2. Perform basic troubleshooting: Restart the pinpad and check connections to ensure everything is securely plugged in.
3. Update firmware: Ensure the pinpad has the latest software updates to fix known bu...
I have troubleshot various peripherals including printers, scanners, and POS systems in retail environments.
Resolved connectivity issues with network printers, ensuring they were properly configured on the store's network.
Diagnosed and fixed scanner malfunctions, such as paper jams and software compatibility problems.
Troubleshot POS systems by addressing hardware failures and software glitches, ensuring smooth tra...
Deploying a Python Azure Function involves creating, configuring, and publishing the function to Azure using various tools.
1. Create a Python Azure Function using Azure CLI: `func init MyFunctionApp --python`.
2. Develop your function in the created directory, e.g., `MyFunctionApp/MyFunction/__init__.py`.
3. Test locally using the Azure Functions Core Tools: `func start`.
4. Deploy to Azure using Azure CLI: `az funct...
Azure offers a wide range of services with Python SDK support for cloud development and management.
Azure Storage: Use the Azure Storage Blob SDK to manage blobs in Azure Storage.
Azure Cosmos DB: Interact with Cosmos DB using the Azure Cosmos SDK for Python.
Azure Machine Learning: Build and deploy machine learning models with the Azure ML SDK.
Azure Functions: Create serverless applications using the Azure Functions...
To extract numeric data from a string, identify and isolate the digits within the text.
Use regular expressions to find digits: e.g., \d+ matches one or more digits.
Iterate through each character and check if it's a digit using isdigit() method.
Example: From 'AADFSDF$12324ASDFDFG', the extracted number is '12324'.
I applied via Naukri.com and was interviewed in May 2024. There were 2 interview rounds.
Regression testing is the process of retesting a software application to ensure that new code changes have not adversely affected existing functionality.
Regression testing is performed after code changes to verify that the existing features still work correctly.
It helps in identifying any defects introduced by new code changes.
Automated testing tools are often used for regression testing to save time and effort.
Regress...
Sanity in software testing refers to a quick round of testing to ensure that the code changes have not adversely affected the existing functionality.
Sanity testing is a subset of regression testing and is usually performed after a small code change or bug fix.
It focuses on testing the most critical functionalities of the application to ensure they still work as expected.
Sanity testing is not exhaustive and is meant to ...
I appeared for an interview in Jul 2025, where I was asked the following questions.
JWT tokens facilitate secure communication between UI and backend by encoding user information and validating requests.
JWT (JSON Web Token) is a compact, URL-safe means of representing claims to be transferred between two parties.
The UI (frontend) sends a login request with user credentials to the backend.
Upon successful authentication, the backend generates a JWT and sends it back to the UI.
The UI stores the JWT (usua...
I appeared for an interview in Jul 2025, where I was asked the following questions.
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...
Create a simple Angular form to capture user details and display them in a table upon submission.
Use Angular Reactive Forms for form handling.
Create a form with fields: name, email, and mobile.
Bind form controls to the template using [(ngModel)].
On form submission, push the form data to an array.
Use *ngFor to display the array data in a table.
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.
Discussing salary expectations is crucial for aligning compensation with skills and market standards.
Research industry standards: Use websites like Glassdoor or Payscale to find average salaries for similar roles.
Consider your experience: If you have 5+ years in business analysis, you can justify a higher salary.
Highlight your skills: Mention specific skills like data analysis or project management that add value to th...
Top trending discussions
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 480 interview experiences
Difficulty level
Duration
based on 5.2k reviews
Rating in categories
Software Engineer
8.5k
salaries
| ₹5 L/yr - ₹12 L/yr |
Senior Software Engineer
7.7k
salaries
| ₹8.9 L/yr - ₹19 L/yr |
Lead Analyst
3.3k
salaries
| ₹15.2 L/yr - ₹26.7 L/yr |
Associate Software Engineer
2k
salaries
| ₹2.8 L/yr - ₹7 L/yr |
Senior Test Engineer
1.3k
salaries
| ₹9.9 L/yr - ₹18 L/yr |
Accenture
Cognizant
Capgemini
Genpact