i
Tech
Mahindra
Filter interviews by
In React, data can be passed from child components to parent components using callback functions.
1. Define a function in the parent component that will handle the data received from the child.
2. Pass this function as a prop to the child component.
3. In the child component, call the function with the data you want to send back to the parent.
Example: In Parent: const handleData = (data) => { console.log(data); };...
State management in React involves using local state, context API, and external libraries for efficient data handling.
Use local state with the useState hook for simple components: const [count, setCount] = useState(0);
Utilize the Context API for global state management: create a context and use useContext to access it.
Leverage external libraries like Redux or MobX for complex state management needs, allowing for c...
Hooks are functions that let you use state and lifecycle features in React functional components.
Hooks allow functional components to manage state without converting them to class components. Example: useState.
They enable side effects in functional components using useEffect. Example: fetching data on component mount.
Custom hooks can be created to encapsulate reusable logic. Example: useFetch for API calls.
Hooks f...
StringBuffer is synchronized and thread-safe, while StringBuilder is not, making StringBuilder faster for single-threaded scenarios.
1. Synchronization: StringBuffer is synchronized, making it thread-safe; StringBuilder is not synchronized, making it faster in single-threaded contexts.
2. Performance: StringBuilder generally performs better than StringBuffer due to the lack of synchronization overhead.
3. Use Case: U...
What people are saying about Tech Mahindra
Collections are data structures that store groups of related objects, enabling efficient data management and manipulation.
ArrayList: A resizable array implementation in Java, useful for storing lists of items like user profiles in a social media app.
HashMap: A key-value pair collection that allows for fast retrieval, ideal for caching user sessions in a web application.
HashSet: A collection that prevents duplicate...
I have extensive experience in SQL development, including database design, optimization, and complex query writing.
Proficient in writing complex SQL queries for data retrieval and manipulation, e.g., using JOINs, subqueries, and CTEs.
Experience in database design and normalization to ensure data integrity and reduce redundancy.
Skilled in performance tuning of SQL queries using indexing and query optimization techn...
Unix commands are essential tools for file management, process control, and system navigation in Unix-like operating systems.
ls: Lists files and directories in the current directory. Example: 'ls -l' for detailed listing.
cd: Changes the current directory. Example: 'cd /home/user' to navigate to the user's home directory.
cp: Copies files or directories. Example: 'cp file.txt /backup/' to copy 'file.txt' to the back...
Dependency injection is a design pattern that allows a class to receive its dependencies from an external source rather than creating them internally.
Promotes loose coupling between classes, making code easier to manage and test.
Facilitates unit testing by allowing mock dependencies to be injected.
Commonly used in frameworks like Spring (Java) and Angular (JavaScript).
Example: Instead of a class instantiating its ...
Exception handling in stored procedures manages errors gracefully, ensuring robust database operations.
Allows developers to catch and handle errors using TRY...CATCH blocks.
Example: BEGIN TRY ... END TRY for normal execution and BEGIN CATCH ... END CATCH for error handling.
Can log error details using ERROR_MESSAGE(), ERROR_NUMBER(), etc.
Helps maintain data integrity by rolling back transactions in case of errors.
E...
Authentication verifies identity; authorization determines access rights.
Authentication is the process of verifying who a user is.
Authorization is the process of determining what a user can do.
Example of authentication: Logging in with a username and password.
Example of authorization: Granting access to a specific file based on user roles.
Authentication can occur without authorization, but authorization cannot occ...
I appeared for an interview before Jul 2024, where I was asked the following questions.
Just few normal coding questions
I applied via Approached by Company and was interviewed in May 2024. There were 3 interview rounds.
I was asked to write a program to reverse a string using Java.
As a Senior Software Engineer, your roles and responsibilities include leading development projects, mentoring junior team members, and ensuring high-quality code.
Leading development projects from conception to completion
Mentoring and providing guidance to junior team members
Ensuring the quality of code through code reviews and testing
Collaborating with cross-functional teams to deliver software solutions
Staying update...
Polymorphism is the ability of a single function or method to operate on different types of data.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
There are two types of polymorphism: compile-time (method overloading) and runtime (method overriding).
Example of compile-time polymorphism: function overloading in C++.
Example of runtime polymorphism: method overriding in Java.
Regression testing is testing the entire application after changes, while retesting is testing a specific bug fix.
Regression testing involves testing the entire application to ensure that new code changes have not negatively impacted existing functionality.
Retesting involves testing a specific bug fix to ensure that the issue has been resolved.
Regression testing is typically done after every code change, while retestin...
Pega testing is a software testing process specifically designed for applications built on the Pega platform.
Pega testing involves testing the functionality, performance, and security of applications developed using Pega technology.
It includes testing various components such as user interfaces, business logic, integrations, and workflows.
Test cases are designed to validate the behavior of Pega applications based on bus...
Automation framework is a set of guidelines, best practices, tools, and libraries used to automate testing of software applications.
Provides structure and guidelines for automated testing
Helps in organizing test scripts and test data
Supports reusability of code and components
Facilitates easy maintenance and scalability
Examples: Selenium WebDriver, TestNG, Cucumber
I appeared for an interview in Feb 2025, where I was asked the following questions.
I have extensive experience in SQL development, including database design, optimization, and complex query writing.
Proficient in writing complex SQL queries for data retrieval and manipulation, e.g., using JOINs, subqueries, and CTEs.
Experience in database design and normalization to ensure data integrity and reduce redundancy.
Skilled in performance tuning of SQL queries using indexing and query optimization techniques...
Unix commands are essential tools for file management, process control, and system navigation in Unix-like operating systems.
ls: Lists files and directories in the current directory. Example: 'ls -l' for detailed listing.
cd: Changes the current directory. Example: 'cd /home/user' to navigate to the user's home directory.
cp: Copies files or directories. Example: 'cp file.txt /backup/' to copy 'file.txt' to the backup di...
I applied via Naukri.com and was interviewed in Apr 2024. There were 2 interview rounds.
CAN FD stands for Controller Area Network Flexible Data Rate, it is required for high-speed communication in automotive and industrial applications.
CAN FD allows for higher data rates compared to traditional CAN networks
It is necessary for transmitting large amounts of data quickly and efficiently
Used in applications where real-time communication and reliability are crucial, such as automotive ECUs
Example: CAN FD is us...
LKA stands for Lane Keep Assist, while LDW stands for Lane Departure Warning.
LKA helps keep the vehicle centered in its lane by providing steering input if necessary.
LDW alerts the driver if the vehicle is unintentionally drifting out of its lane.
LKA is more proactive in assisting the driver with lane keeping, while LDW is more of a warning system.
Some vehicles may have both LKA and LDW features integrated for enhanced...
ASPICE (Automotive SPICE) model is a framework for software development in the automotive industry. ITR (Integrated Test Requirement) is a part of ASPICE focusing on testing requirements.
ASPICE is a framework for software development in the automotive industry
ITR is a part of ASPICE that focuses on testing requirements
ASPICE helps in ensuring high-quality software development in automotive projects
Writing test cases for ADAS ECU involves verifying functionality and performance of the electronic control unit.
Identify the input and output requirements of the ADAS ECU
Create test cases to cover different scenarios such as normal operation, edge cases, and failure modes
Include test cases for communication protocols, sensor inputs, and system responses
Verify the integration of ADAS ECU with other components in the sys...
Calculate average of integer arrays using Java 8 streams
Use IntStream to convert the array to a stream of integers
Use average() method to calculate the average of the integers
Collect the result using getAsDouble() method
Idempotency is the property of an operation where applying it multiple times has the same effect as applying it once.
Idempotency ensures that repeating the same operation multiple times will not change the result.
Examples include GET requests in RESTful APIs, where multiple identical requests will return the same response.
Idempotency is important in distributed systems to prevent duplicate operations.
PUT and DELETE req...
I appeared for an interview in Dec 2024, where I was asked the following questions.
Hooks are functions that let you use state and lifecycle features in React functional components.
Hooks allow functional components to manage state without converting them to class components. Example: useState.
They enable side effects in functional components using useEffect. Example: fetching data on component mount.
Custom hooks can be created to encapsulate reusable logic. Example: useFetch for API calls.
Hooks follow...
State management in React involves using local state, context API, and external libraries for efficient data handling.
Use local state with the useState hook for simple components: const [count, setCount] = useState(0);
Utilize the Context API for global state management: create a context and use useContext to access it.
Leverage external libraries like Redux or MobX for complex state management needs, allowing for centra...
In React, data can be passed from child components to parent components using callback functions.
1. Define a function in the parent component that will handle the data received from the child.
2. Pass this function as a prop to the child component.
3. In the child component, call the function with the data you want to send back to the parent.
Example: In Parent: const handleData = (data) => { console.log(data); }; <...
I applied via Naukri.com and was interviewed in Mar 2024. There were 2 interview rounds.
I appeared for an interview in Feb 2025, where I was asked the following questions.
React hooks are functions that let you use state and lifecycle features in functional components.
useEffect is a hook that allows you to perform side effects in function components.
It takes two arguments: a function to run and an array of dependencies.
The effect runs after the render and can be used for data fetching, subscriptions, or manually changing the DOM.
If the dependencies array is empty, the effect runs only on...
I applied via Naukri.com and was interviewed in Oct 2023. There were 3 interview rounds.
Error handling in Ansible involves using various modules and strategies to manage and respond to errors during playbook execution.
Use the 'failed_when' directive in tasks to specify conditions that should result in a task failure.
Utilize the 'ignore_errors' directive to continue executing tasks even if errors occur.
Implement error handling with 'rescue' and 'always' blocks in playbooks to handle errors and cleanup task...
Pod is ephemeral due to its temporary nature and dynamic lifecycle.
Pods are designed to be easily created, destroyed, and replaced.
Pods do not have persistent storage by default.
Pods are scheduled and managed by the Kubernetes control plane.
Pods can be automatically rescheduled to different nodes in case of failures.
Access tiers in Azure Storage include hot, cool, and archive tiers.
Hot access tier: Optimized for frequently accessed data with higher storage costs.
Cool access tier: Optimized for infrequently accessed data with lower storage costs.
Archive access tier: Optimized for rarely accessed data with the lowest storage costs.
Data in the archive tier may have longer retrieval times compared to hot and cool tiers.
Developed a web-based project management tool for tracking tasks and deadlines
Created user-friendly interface for adding, editing, and deleting tasks
Implemented notifications for upcoming deadlines
Integrated with calendar API for scheduling tasks
I will handle errors in prod environment by implementing proper error logging, monitoring, and alerting systems.
Implement comprehensive error logging to track errors and their root causes
Set up monitoring tools to detect errors in real-time and alert the team
Establish a process for prioritizing and resolving errors based on impact and severity
Regularly review and analyze error logs to identify patterns and prevent futu...
Steps for updating a build and performing rollback
Create a backup of the current build before making any changes
Update the build with the necessary changes and test thoroughly
If issues are found, identify the cause and plan for rollback
Rollback by restoring the backup of the previous build
Communicate the rollback to the team and document the process
Some of the top questions asked at the Tech Mahindra Senior Software Engineer interview for experienced candidates -
The duration of Tech Mahindra Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 53 interview experiences
Difficulty level
Duration
based on 2k reviews
Rating in categories
Software Engineer
26.6k
salaries
| ₹3.7 L/yr - ₹9.2 L/yr |
Senior Software Engineer
22.2k
salaries
| ₹9 L/yr - ₹18.5 L/yr |
Technical Lead
12.4k
salaries
| ₹16.9 L/yr - ₹30 L/yr |
Associate Software Engineer
6.1k
salaries
| ₹1.9 L/yr - ₹5.7 L/yr |
Team Lead
5.3k
salaries
| ₹6.5 L/yr - ₹17.8 L/yr |
Infosys
Cognizant
Accenture
Wipro