Experience: 2 YOE + 6 Months of internship with the same team.
Round 1: DSA(1 hour)
- Asked 2 DSA problems.
- Asked few questions before starting to think of code then explained brute force approch followed by optimized.
These are the questions asked:
-
Given an array heights where each elemetnts represents the height of a vertical line..need to pick two lines to act as the walls of the container. Return the maximum area (amount of water) the container can hold.
-
Given an integer array temps representing the daily temperatures i need write a function to calculate how many days you need to wait after each day to get a warmer temperature.The function should return an array answer and where answer[i] represents the number of days you have to wait for a warmer temperature after the ith day.If there is no warmer temperature in the future, set answer[i] = 0.
-
for the second question interviewer asked me to walk through an example, Overall it was great round.
Round 2: System Design(1 hour)
-
This was the question:
Design an application called LunchDrop, primarily used by corporate employees to order food at their workplace.The application will have a list of restaurants and their menus, with the available restaurants rotating on a daily basis.
As a user, you should be able to:
Log in to the application and view the restaurants available for the day.
Browse the menu of each restaurant.
Select a food item and customize it based on available options, such as tacos, vegetables, toppings, sauces, etc.
Place an order with the selected customizations.
I asked the interviewer clarifying questions before jumping into the design.
The interviwer asked me questions in between i don't remember all...here are few I remembered
- while we order...say that we have technical issue and there is a change in menu or something orders items are not availbale.. how to handle it?
- What kind of db for menu database?
- How do we get the updates from the real time, can we include it in this system desing?
- Even the restaurants get updated...where all can caching be used in this system?
Asked me few other questions
why ebay? why leaving current company?
Overall it went really well.
Round 3: HM round (1 hour)-Design round:
He was the same interviewer who took my 1st round, so didn't took my introduction...i thought it will be like resume deepdive and cultural fit but it was a design round again.
- This was the question:
Design a dashboard which shows top 10 items and top 10 categories in ebay by number of quantites sold.
I clarified the requirements,
I explained my approach, he questioned my each and every decision..he asked me to explain.
I remembered few questions out of all of those
- Explain the item quantity aggregator and category aggregator in detail.
- How does the system determine the current quantity for each aggregator?
- Given eBay's traffic volume, how frequently would we write updates to the state store?
- How frequently should we write to the state store? What are the pros and cons of writing more or less frequently?
- How would we retrieve the final aggregation from RocksDB?
- If each partition has its own RocksDB instance, how would the item aggregator maintain and process the aggregated data across all partitions?
- When do we trigger the process that combines the data from all the partition-level databases?
- Suppose there are 1 million events, each causing an update. Would that result in 1 million events being published to the intermediate Kafka topic? If not, how would you optimize this?
Asked me situational question....
Any conflict with my team member and how i solved it?
Why ebay?
Any situation conflict with my manager and how it is resolved by me?
Overall..I felt the interview went well. Fingers crossed.
EDIT: got a positive response, accepted the offer.
Compensation Details: https://leetcode.com/discuss/post/8473980/ebay-sde2-bengaluru-by-anonymous_user-c5yc/


