PhonePe
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Approached by Company and was interviewed in Jan 2024. There were 2 interview rounds.
Design whatsapp; low level design interview
Design a fare splitting app for easy division of expenses among friends.
Allow users to input expenses and split them among friends
Implement features for adding friends, creating groups, and tracking balances
Include options for equal split, custom split, and adjustments
Generate reports for each user's share and overall expenses
Consider security measures for payment integration
Design user-friendly interface for seamless
Top trending discussions
Basic puzzles of medium complexity level. No improvement required
DSA questions of easy level. Asked for memory optimisations.
Design a parking lot system at a low level
Divide system into components like parking spots, ticketing system, payment system
Implement data structures like queues for managing parking spots
Use algorithms like least recently used for spot allocation
Consider scalability and performance in design
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
Collection framework is a unified architecture for representing and manipulating collections of objects in Java.
It provides interfaces (like List, Set, Map) and classes (like ArrayList, HashSet, HashMap) to store and manipulate groups of objects.
It allows for easy manipulation, sorting, searching, and iteration of collections.
Collections in the framework can store objects of any type, including user-defined classes.
Exa...
Spring Boot dependency injection is a design pattern where objects are passed their dependencies rather than creating them internally.
In Spring Boot, dependency injection is achieved through the use of @Autowired annotation.
It helps in achieving loose coupling between classes and promotes easier testing and maintenance.
Example: @Autowired private UserService userService; // Injecting UserService dependency
Rate limiter is used to control the rate of incoming requests to a server or API.
Prevents server overload by limiting the number of requests a client can make in a specific time period
Helps protect against DDoS attacks by limiting the rate of incoming requests
Ensures fair usage of resources by preventing one client from monopolizing server resources
Can be implemented using algorithms like token bucket or leaky bucket
Ex...
A thread is a lightweight sub-process that allows concurrent execution within a process. Threads can be created in multiple ways.
Threads can be created by extending the Thread class in Java.
Threads can be created by implementing the Runnable interface in Java.
Threads can be created using thread pools in Java.
Threads can be created using asynchronous functions in JavaScript.
thread.join() is used to wait for a thread to finish its execution before moving on to the next steps.
thread.join() blocks the current thread until the thread it is called on completes its execution.
It is commonly used in multi-threaded applications to ensure that all threads have finished before proceeding.
Without thread.join(), the main thread may continue executing while other threads are still running.
Example: thre...
Sync call blocks the execution until the response is received, while asynchronous call allows the program to continue executing without waiting for the response.
Sync call blocks the program execution until the response is received
Asynchronous call allows the program to continue executing without waiting for the response
Sync calls are easier to understand and debug, but can lead to performance issues if used excessively
...
Deploying service in production server involves building the application, configuring the server, and monitoring performance.
Build the application code into a deployable package (e.g. JAR file for Java applications)
Configure the production server with necessary dependencies and environment variables
Deploy the application package to the server using tools like Docker, Kubernetes, or manual deployment scripts
Monitor the ...
Jenkins is a continuous integration tool used for automating software development processes, while Kubernetes is a container orchestration platform for managing containerized applications.
Jenkins is used for automating the building, testing, and deployment of software projects.
Kubernetes helps in automating the deployment, scaling, and management of containerized applications.
Jenkins can be integrated with Kubernetes t...
Fail safe focuses on ensuring system stability and preventing catastrophic failures, while fail fast prioritizes quick detection and response to errors.
Fail safe is about designing systems to minimize the impact of failures and ensure stability.
Fail fast is about quickly detecting and responding to errors to prevent further issues.
Fail safe often involves redundancy and error checking mechanisms to prevent catastrophic...
I applied via Recruitment Consultant and was interviewed in Nov 2021. There were 3 interview rounds.
posted on 5 Jun 2024
posted on 28 Sep 2024
Design a search engine
Consider using web crawling to index pages
Implement a ranking algorithm like PageRank
Include features like autocomplete and spell correction
Support advanced search operators like boolean operators and filters
posted on 31 May 2024
I applied via Naukri.com and was interviewed in Dec 2023. There were 3 interview rounds.
posted on 28 Jul 2024
Java multithreading is a feature that allows concurrent execution of multiple threads within a single process.
Multithreading in Java allows multiple threads to run concurrently within a single process.
Each thread has its own stack and executes independently, but shares the same memory space.
Java provides built-in support for multithreading through the java.lang.Thread class and java.lang.Runnable interface.
Multithreadi...
Exception hierarchy is a way to organize and categorize different types of exceptions in a software system.
Exceptions are organized in a tree-like structure with a base class at the top and more specific exception classes below.
Base class usually is 'Exception' or 'Throwable', with more specific classes like 'IOException', 'NullPointerException', etc.
Subclasses can provide more specific information about the cause of t...
Key Accounts Executive
642
salaries
| ₹3.4 L/yr - ₹7.6 L/yr |
Territory Sales Manager
510
salaries
| ₹4.8 L/yr - ₹10.5 L/yr |
Business Development Executive
489
salaries
| ₹1.1 L/yr - ₹5 L/yr |
Area Sales Manager
371
salaries
| ₹6.9 L/yr - ₹15.5 L/yr |
Business Development Associate
367
salaries
| ₹2.3 L/yr - ₹6 L/yr |
Paytm
Google Pay
Amazon Pay
Mobikwik