i
Tech Mahindra
Filter interviews by
Good it was good it was good only
I applied via Walk-in and was interviewed in Sep 2024. There were 2 interview rounds.
Java Arrays java looping statements java Strings
Clock and time and speed and percentage and directions
I applied via Naukri.com and was interviewed in Jan 2022. There was 1 interview round.
I was interviewed in Jan 2025.
A sequence was provided: 4181, 2684, 1597, 987, 610.
first 2 are given and write code for other value calculation using java 8
The second question required writing a reverse of a palindrome using both Java 8 streams. I was able to successfully write both and clear the first round.
Java 17 introduces sealed classes to restrict inheritance and improve code maintainability.
Sealed classes are declared using the 'sealed' keyword followed by the permitted subclasses.
Subclasses of a sealed class must be either final or sealed themselves.
Errors may occur when trying to extend a sealed class with a non-permitted subclass.
Implementation of 'notify me if item is back in stock' feature in an ecommerce application
Create a database table to store user notifications for out-of-stock items
Implement a service to check item availability and send notifications to subscribed users
Provide a user interface for users to subscribe to notifications for specific items
posted on 5 Jan 2025
I applied via Naukri.com and was interviewed in Dec 2024. There were 3 interview rounds.
I was interviewed in Dec 2024.
API Gateway implementation is a centralized service that routes, manages, and secures API calls.
API Gateway acts as a single entry point for all API calls
It can handle authentication, rate limiting, caching, and request/response transformations
Examples include AWS API Gateway, Apigee, Kong
Circuit breaker is a design pattern used to prevent system overload by temporarily stopping requests to a failing service.
Circuit breaker monitors requests to a service and opens when the service fails repeatedly.
It helps prevent cascading failures and allows the system to gracefully degrade.
Once the circuit breaker is open, it can periodically check if the service has recovered before allowing requests again.
Deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Avoid circular wait by ensuring processes request resources in the same order.
Prevent hold and wait by requiring processes to request all needed resources at once.
Implement a timeout mechanism to break potential deadlocks.
Use resource allocation graphs to detect and prevent deadlocks.
...
The equals() method is used to compare the contents of two objects for equality.
The equals() method is a method of the Object class in Java.
It is used to compare the contents of two objects for equality.
The default implementation of equals() in the Object class compares memory addresses, so it is often overridden in custom classes to compare content.
Example: String class overrides equals() method to compare the content
MongoDB was integrated in the application by using the official Java driver and configuring connection settings.
Used the official MongoDB Java driver to interact with the database
Configured connection settings such as host, port, database name, and authentication credentials
Implemented CRUD operations using MongoDB Java driver methods
Utilized MongoDB aggregation framework for complex queries
Hibernate is an open-source Java framework that simplifies the development of database interactions in Java applications.
Hibernate is an Object-Relational Mapping (ORM) tool that maps Java objects to database tables.
It provides a way to perform database operations using Java objects instead of writing SQL queries.
Hibernate handles the mapping of Java classes to database tables and vice versa, as well as the generation ...
Runnable is a functional interface with a single run() method, while Callable is a functional interface with a single call() method.
Runnable is used for tasks that do not return a result, while Callable is used for tasks that return a result.
Callable can throw checked exceptions, while Runnable cannot.
Callable returns a Future object, which can be used to retrieve the result of the computation.
Example: Runnable - execu...
The Callable interface in Java returns a Future object.
Callable interface returns a Future object which represents the result of a computation that may not be available yet.
The Future object can be used to retrieve the result of the computation, check if it is done, or cancel the computation.
Example: Callable<Integer> task = () -> { return 42; }
Monitor application health using metrics, logs, alerts, and performance monitoring tools.
Use monitoring tools like Prometheus, Grafana, or New Relic to track key metrics such as CPU usage, memory usage, response times, and error rates.
Implement logging to record important events and errors in your application. Use tools like ELK stack (Elasticsearch, Logstash, Kibana) for log analysis.
Set up alerts to notify you of any...
To call an API in a Microservice architecture, use HTTP requests or messaging protocols like gRPC.
Use HTTP requests to communicate between microservices
Implement RESTful APIs for easy integration
Leverage messaging protocols like gRPC for efficient communication
Consider using service discovery mechanisms for dynamic API calls
Profiles in Java are configurations that define the capabilities of a Java platform.
Profiles allow developers to target specific types of devices or applications.
They help in reducing the size of the Java runtime environment by including only the necessary APIs.
Examples include Java SE Embedded Profile for embedded devices and Java SE Compact Profile for resource-constrained environments.
OpenFeign is a declarative web service client used to simplify the process of making HTTP requests in microservices architecture.
OpenFeign allows developers to define RESTful web services as interfaces and automatically generate the necessary implementation code.
It integrates seamlessly with Spring Cloud and other microservices frameworks to facilitate communication between services.
OpenFeign supports features like loa...
Service registry and discovery involves registering services and allowing clients to discover and connect to them.
Implement a service registry where services can register themselves with metadata
Use a service discovery mechanism for clients to find and connect to services
Implement health checks to ensure services are available and healthy
Use a load balancer to distribute traffic among multiple instances of a service
Spring Boot Actuators are built-in tools that provide insight into the running application.
Actuators expose various endpoints to monitor and manage the application.
They can be used to check health, metrics, environment details, and more.
Examples include /actuator/health, /actuator/metrics, and /actuator/env.
Synchronous communication is blocking, while asynchronous communication is non-blocking.
Synchronous communication waits for a response before continuing, while asynchronous communication does not wait.
Examples of synchronous communication include traditional function calls, while examples of asynchronous communication include callbacks and promises.
Synchronous communication can lead to performance issues if there are d...
Synchronized keyword is used in Java to control access to shared resources by multiple threads.
Synchronized keyword can be applied to methods or code blocks to ensure only one thread can access the synchronized code at a time.
It prevents race conditions and ensures thread safety by creating a lock on the object or class.
Example: synchronized void myMethod() { // synchronized code block }
Excessive use of synchronized blocks and methods in Java can lead to performance issues and potential deadlocks.
Decreased performance due to increased contention for locks
Potential deadlocks if multiple threads are waiting for each other to release locks
Increased complexity and difficulty in debugging and maintaining code
Use synchronized sparingly and consider alternatives like ConcurrentHashMap or Lock interface
The number of threads needed for an application can be determined based on factors like the type of tasks, hardware resources, and performance requirements.
Consider the type of tasks your application needs to perform - CPU-bound tasks may benefit from more threads, while I/O-bound tasks may not.
Take into account the hardware resources available - more threads may be beneficial on a multi-core processor compared to a si...
Executor framework is a framework in Java that provides a way to manage and execute tasks asynchronously.
Allows for managing thread execution in a more efficient way
Provides a way to decouple task submission from task execution
Supports various types of executors like ThreadPoolExecutor and ScheduledExecutorService
Helps in handling tasks concurrently and asynchronously
BlockingQueue is an interface in Java that represents a queue which supports operations that wait for the queue to become non-empty when retrieving an element and wait for space to become available in the queue when adding an element.
BlockingQueue is part of the java.util.concurrent package.
It is used for implementing producer-consumer scenarios where multiple threads are involved.
Methods like put() and take() are used...
Seeking new challenges and opportunities for growth.
Desire for career advancement
Looking for new challenges
Seeking better work-life balance
Company restructuring or downsizing
Relocation to a new area
I applied via Company Website and was interviewed in Dec 2024. There were 5 interview rounds.
An aptitude test is an assessment to measure a candidate mental aptitude/mental ability
I am a passionate software developer with 5 years of experience in web development and a strong background in computer science.
5 years of experience in web development
Strong background in computer science
Passionate about software development
My strongest points include problem-solving skills, attention to detail, and ability to work well in a team.
Strong problem-solving skills - I enjoy tackling complex issues and finding creative solutions.
Attention to detail - I am meticulous in my work and strive for perfection in every task.
Team player - I collaborate effectively with colleagues, communicate openly, and contribute positively to group projects.
I regularly use Java, Python, and SQL in my work as a Software Developer.
Java
Python
SQL
A group discussion is a structured conversation in which participants share their ideas, perspectives, and solutions on a specific topic.
I am motivated to seek employment at Wipro because of their reputation for innovation and opportunities for growth.
Impressed by Wipro's track record of delivering cutting-edge solutions
Excited about the chance to work with a diverse and talented team
Eager to take advantage of Wipro's professional development programs
My long-term career goal is to become a lead software developer and eventually move into a management role.
Advance to a lead software developer position
Gain experience in managing a team of developers
Develop strong leadership and communication skills
Continue learning new technologies and staying updated with industry trends
Assignment details refer to the specifics of an assignment, including any documents and/or emails or subsequent correspondence between the company and the client.
I was interviewed in Dec 2024.
Any one tell in gd in 5 minutes in english
1. Numerical Reasoning
- Example: "If a car travels 60 km in 1 hour, how long will it take to travel 150 km at the same speed?"
2. **Verbal Reasoning**
- Example: "Which of the following words is most similar in meaning to 'elated'? (a) Sad (b) Happy (c) Angry (d) Tired"
3. **Logical Reasoning**
- Example: "If all cats are animals, and all animals are living beings, are all cats living beings? (True/False)"
4. **Data Interpretation**
- Example: "Given a graph showing sales data over the past 12 months, what was the highest monthly sales figure?"
5. **Pattern Recognition**
- Example: "What comes next in the series: 2, 4, 8, 16, __?"
6. **Mathematical Reasoning**
- Example: "If 3x + 4 = 19, what is the value of x?"
7. **Spatial Reasoning**
- Example: "Which shape is different from the others: Square, Circle, Triangle, Rectangle?"
8. **Time and Work Problems**
- Example: "If A can finish a task in 5 days and B can finish the same task in 10 days, how long will it take for both A and B to complete the task together?"
Tell me about yourself.
Why do you want to work here?
What are your strengths and weaknesses?
Why did you leave your previous job (or why are you looking for a new one)?
Where do you see yourself in 5 years?
Can you describe a time when you faced a challenge at work and how you handled it?
How do you prioritize your tasks?
What motivates you?
How do you handle working under pressure or tight deadlines?
What are your salary expectations?
How do you deal with conflict in the workplace?
Do you prefer working independently or as part of a team?
These questions help HR gauge how well you would fit into the company culture and how your experience aligns with the role. It's a good idea to prepare for them with specific examples from your past experie
The Aptitude test typically includes questions that assess your logical reasoning, problem-solving skills, and ability to think critically. It can cover a wide range of topics depending on the job you're applying for, but here are some common types of questions you might encounter:
Numerical Reasoning
Example: "If a car travels 60 km in 1 hour, how long will it take to travel 150 km at the same speed?"
Verbal Reasoning
Example: "Which of the following words is most similar in meaning to 'elated'? (a) Sad (b) Happy (c) Angry (d) Tired"
Logical Reasoning
Example: "If all cats are animals, and all animals are living beings, are all cats living beings? (True/False)"
Data Interpretation
Example: "Given a graph showing sales data over the past 12 months, what was the highest monthly sales figure?"
Pattern Recognition
Example: "What comes next in the series: 2, 4, 8, 16, __?"
Mathematical Reasoning
Example: "If 3x + 4 = 19, what is the value of x?"
Spatial Reasoning
Example: "Which shape is different from the others: Square, Circle, Triangle, Rectangle?"
Time and Work Problems
Example: "If A can finish a task in 5 days and B can finish the same task in 10 days, how long will it take for both A and B to complete the task together?"
To prepare, it's helpful to practice problems in these areas. Many online platforms offer free aptitude tests to help you improve your skills before the actual test.
Case study
In a case study interview, you'll be given a real-world business problem and asked to analyze the situation and come up with solutions or recommendations. The goal is to evaluate your problem-solving, analytical thinking, and decision-making abilities.
**Coding tests** are commonly used in technical interviews to evaluate your programming skills. These tests usually involve solving algorithmic problems, debugging code, or writing efficient code to handle certain tasks. Here are the general types of coding tests you might encounter:
### 1. **Algorithm and Data Structure Questions:**
These focus on your ability to use algorithms and data structures to solve problems efficiently.
- **Sorting and Searching**
Example: Implement a sorting algorithm like QuickSort or MergeSort, or write a binary search function.
- **Linked Lists**
Example: Reverse a linked list or detect a cycle in a linked list.
- **Trees and Graphs**
Example: Find the height of a binary tree, or perform a breadth-first search (BFS) or depth-first search (DFS) on a graph.
- **Dynamic Programming**
Example: Solve problems like the Fibonacci sequence, the knapsack problem, or longest common subsequence.
- **Recursion**
Example: Write a function that calculates factorials or solves the Towers of Hanoi problem.
### 2. **String Manipulation:**
These problems test your ability to handle and manipulate strings efficiently.
- Example: Write a function to check if a string is a palindrome, or find the longest substring without repeating characters.
### 3. **Mathematical Problems:**
These involve solving problems with mathematical concepts.
- Example: Check if a number is prime, or find the greatest common divisor (GCD) of two numbers.
### 4. **Array and Matrix Problems:**
These involve operations and algorithms on arrays or matrices.
- Example: Rotate a matrix, find the maximum sum subarray (Kadane’s algorithm), or merge two sorted arrays.
### 5. **Problem Solving with Constraints:**
In some cases, you may be given a problem where you need to optimize for time or space complexity.
- Example: Write an algorithm that finds the shortest path in a maze with obstacles, and ensure that it runs in O(n log n) time.
### 6. **Debugging:**
In some coding tests, you might be asked to debug a given piece of code that’s producing errors or incorrect output.
### 7. **Object-Oriented Design:**
These questions test your ability to design systems and classes using object-oriented principles.
- Example: Design a class to represent a library system, or implement a parking lot with multiple types of vehicles.
---
### Tips for Coding Tests:
1. **Understand the Problem:**
- Read the problem statement carefully before jumping into writing code.
- Clarify the input, output, and constraints with the interviewer (if needed).
2. **Plan Your Approach:**
- Before writing code, think about the algorithm you’ll use and the time/space complexity.
- Break down the problem into smaller steps and outline your solution.
3. **Write Clean, Efficient Code:**
- Focus on writing readable and efficient code.
- Optimize your solution to handle edge cases and large input sizes.
4. **Test Your Solution:**
- Test your code with sample inputs, including edge cases (empty input, large numbers, etc.).
5. **Communicate Your Thought Process:**
- As you write your code, explain your approach to the interviewer. This shows your problem-solving process.
### Example Coding Problem:
**Problem:**
Write a function to find the "Nth" Fibonacci number.
**Solution:**
```python
def fibonacci(n):
if n <= 1:
return n
a, b = 0, 1
for i in range(2, n+1):
a, b = b, a + b
return b
```
**Explanation:**
- The Fibonacci sequence starts with 0 and 1, and each subsequent number is the sum of the two preceding ones.
- We use an iterative approach to calculate the Fibonacci number at the nth position.
### Practice Platforms:
To prepare for coding tests, you can practice on the following platforms:
- **LeetCode**
- **HackerRank**
- **CodeSignal**
- **Codewars**
- **Exercism**
These platforms provide a wide variety of problems to improve your coding skills and familiarize yourself with common interview questions.
An **assignment** in the context of a job or academic setting is typically a task or project that you're asked to complete as part of your evaluation. The nature of the assignment will depend on the type of role or course you're involved with. Below are a few types of assignments you might encounter, along with how you can approach them:
### 1. **Technical Assignment (for a tech role)**
If you're applying for a technical position (like software engineering or data science), you might be given a coding or algorithm-based task. This could include:
- **Building a program or web app**: You might be asked to create a simple application, implement an algorithm, or design a feature based on the company’s needs.
- **Data Analysis**: Given a dataset, you may be required to clean, analyze, and extract insights from it using tools like Excel, SQL, Python, or R.
- **Problem-Solving Tasks**: Solve algorithmic problems or complete coding challenges (similar to those in a coding interview).
**Approach:**
- **Understand the requirements**: Read the assignment carefully, understand the scope, and ask any questions if something isn’t clear.
- **Plan your solution**: Break down the task into smaller steps. Plan your code, database queries, or analysis method.
- **Test thoroughly**: Ensure your code or solution works with a variety of inputs, including edge cases.
- **Document your work**: Include comments in your code, and provide a brief explanation of your approach and thought process.
---
### 2. **Business Assignment (for a business role)**
In a business-related position, the assignment could involve:
- **Case Studies**: You may be given a hypothetical business problem, like a company facing challenges in sales or operations. You'll need to analyze the issue, suggest solutions, and present them clearly.
- **Market Research**: Conduct research about an industry or competitors, analyze trends, and compile a report with insights and recommendations.
- **Business Strategy**: Devise a strategy to help a company grow, expand its market, or improve operations.
**Approach:**
- **Identify key issues**: Make sure to fully understand the business problem, and highlight any key challenges.
- **Gather data**: Use relevant data, facts, or market trends to support your arguments.
- **Develop a solution**: Propose actionable solutions with clear reasoning, potential risks, and benefits.
- **Present your findings**: Structure your report or presentation logically, and be ready to defend your solution.
---
### 3. **Design or Creative Assignment**
For roles in design (graphic design, UX/UI, etc.), the assignment may involve:
- **Creating visual designs**: You could be tasked with designing logos, web pages, or app interfaces.
- **Developing a brand concept**: Designing a complete branding package, such as a logo, color scheme, and typography.
- **Wireframing or Prototyping**: Designing a prototype for a mobile or web application.
**Approach:**
- **Understand the brand or problem**: Research the company or product and ensure your design aligns with its values, audience, and goals.
- **Sketch or wireframe first**: Create initial mock-ups or wireframes before jumping into the final design.
- **Seek feedback**: If possible, get feedback from others to improve your design.
- **Present your design**: Provide context on how your design decisions align with the brand or project goals.
---
### 4. **Writing Assignment**
In fields like marketing, journalism, or academia, writing assignments are common. These might include:
- **Content creation**: Write a blog post, article, or social media content.
- **Research paper or essay**: You may be asked to write a research paper, analysis, or essay on a particular topic.
- **Copywriting**: Write persuasive copy for advertisements, websites, or product descriptions.
**Approach:**
- **Research thoroughly**: Understand the topic you're writing about, and gather credible sources or data.
- **Create an outline**: Organize your thoughts logically before writing the full content.
- **Write and revise**: Draft the assignment, then revise it for clarity, conciseness, and flow.
- **Proofread**: Make sure your writing is free of grammar or spelling errors.
---
### General Tips for Completing an Assignment:
- **Time Management**: Plan your time carefully. Break down the assignment into smaller tasks and set deadlines for each task.
- **Quality over Quantity**: Focus on providing a well-thought-out solution rather than rushing to complete a lot of work.
- **Seek Feedback**: If you're unsure about your approach, don't hesitate to ask for feedback from colleagues, peers, or mentors.
- **Polish Your Presentation**: Whether it's a report, code, or design, make sure your final deliverable is polished and easy to understand.
---
Would you like more specific guidance on a particular type of assignment you're working on?
I applied via Walk-in and was interviewed in Nov 2024. There was 1 interview round.
Use Streams to remove duplicates and retain only even numbers from an array.
Convert the array to a stream using Arrays.stream()
Use distinct() to remove duplicates
Filter out odd numbers using filter()
Collect the result using collect(Collectors.toList())
Static methods can be accessed without creating an instance of the class, while final keyword makes the method unchangeable.
Static methods belong to the class itself, not to any specific instance
Final keyword ensures that the method cannot be overridden in subclasses
Static methods are commonly used for utility methods that do not require access to instance variables
Example: Math class in Java has static methods like Ma
The @RestController annotation is used to define RESTful web services while @Controller annotation is used to define MVC controller.
RestController is a specialized version of Controller used for RESTful web services
RestController eliminates the need for @ResponseBody annotation
Controller is used for traditional MVC controller functionality
RestController returns data directly without needing to go through a view resolve...
Microservices are a software development technique where applications are composed of small, independent services that communicate with each other.
Microservices allow for easier scalability and maintenance of complex applications.
Each service in a microservices architecture can be developed, deployed, and scaled independently.
Microservices promote flexibility and agility in software development.
Examples of companies us...
I applied via Approached by Company and was interviewed in Dec 2024. There was 1 interview round.
based on 2 reviews
Rating in categories
Software Engineer
26.4k
salaries
| ₹2 L/yr - ₹9.1 L/yr |
Senior Software Engineer
21.3k
salaries
| ₹5.5 L/yr - ₹23.3 L/yr |
Technical Lead
11.6k
salaries
| ₹9.2 L/yr - ₹37 L/yr |
Associate Software Engineer
5.4k
salaries
| ₹1.8 L/yr - ₹6 L/yr |
Team Lead
4.9k
salaries
| ₹5.2 L/yr - ₹17 L/yr |
Infosys
Cognizant
Accenture
Wipro