Deliveroo
10+ Cheers Interactive Interview Questions and Answers
Q1. Design a system where 10 m burgers are on sale for just 10 mins
A system to sell 10 million burgers in 10 minutes
Implement a high-traffic online ordering platform
Utilize pre-ordering and queue management systems to handle the rush
Have a countdown timer for the 10-minute sale period
Ensure sufficient stock and staff to meet demand
Offer limited-time promotions to attract customers
Q2. Design a system where users can claim 6M burgers in 10 minutes
Design a system to allow users to claim 6M burgers in 10 minutes
Implement a scalable backend system to handle high volume of requests
Use load balancing to distribute requests evenly across servers
Set up a queue system to manage incoming requests and process them efficiently
Implement caching mechanisms to reduce response times
Consider implementing rate limiting to prevent abuse of the system
Q3. How do you handle concurrent requests
I handle concurrent requests by implementing thread-safe data structures and using synchronization techniques.
Use thread-safe data structures like ConcurrentHashMap in Java
Implement locking mechanisms like synchronized blocks or ReentrantLock
Utilize thread pools to limit the number of concurrent requests
Consider using asynchronous programming to handle multiple requests efficiently
Q4. Design a system to distribute 6M burgers in 10 minutes.
Utilize multiple distribution centers, automated burger assembly lines, and efficient transportation to distribute 6M burgers in 10 minutes.
Set up multiple distribution centers strategically located to cover a wide area.
Implement automated burger assembly lines to quickly produce a large number of burgers.
Utilize high-speed transportation methods such as drones or conveyor belts to deliver burgers to various locations.
Coordinate logistics and timing to ensure smooth and effic...read more
Q5. No user can claim more than once. You can over distribute but not under distribute
Ensure each user can only claim once, can distribute extra but not less
Implement a system to track claimed rewards by users
Set up validation to prevent users from claiming more than once
Consider implementing a queue system to distribute rewards fairly
Use a database to store user claims and track distribution
Q6. Design a system that distributes 6Million burgers in 10 min
Utilize multiple distribution centers, automated assembly lines, and efficient transportation to distribute burgers quickly.
Set up multiple distribution centers in strategic locations to cover a wide area
Implement automated assembly lines to quickly prepare and package burgers
Utilize efficient transportation methods such as drones or high-speed delivery vehicles
Coordinate logistics and timing to ensure smooth and timely distribution
Q7. Take home assignment: Implement Custom Cron job parser
Implement a custom cron job parser as a take-home assignment for Software Engineer II position.
Understand the cron syntax and how it works
Parse the cron expression into separate fields (minute, hour, day of month, month, day of week)
Implement logic to calculate the next execution time based on the current time and cron expression
Handle edge cases like leap years, different month lengths, etc.
Test your implementation with various cron expressions
Q8. Monolith vs Microservices
Monolith is a single, large application while Microservices is a collection of small, independent services.
Monolith is easier to develop and test as it is a single unit.
Microservices offer better scalability and flexibility as each service can be developed, deployed, and scaled independently.
Monolith can lead to dependencies and bottlenecks, while Microservices can be more resilient to failures.
Microservices allow for technology diversity as each service can be developed usin...read more
Q9. Most complex data project you’ve done, What did you learn etc
Q10. system design : 6 million burgers in 10 minutes give away.
To give away 6 million burgers in 10 minutes, a system design must include efficient production, distribution, and logistics.
Implement a high-speed burger production line to meet demand.
Utilize a network of delivery vehicles for quick distribution to various locations.
Set up multiple giveaway stations to handle the volume of burgers being distributed.
Coordinate with local authorities for traffic management and crowd control.
Ensure proper staffing and training to efficiently h...read more
Q11. Sharding of databse
Sharding is a technique used to horizontally partition data across multiple databases to improve performance and scalability.
Sharding helps distribute data across multiple servers to reduce the load on a single server.
It can improve query performance by allowing parallel processing of queries across multiple shards.
Common sharding strategies include range-based sharding, hash-based sharding, and composite sharding.
Examples of sharded databases include MongoDB, Cassandra, and ...read more
Q12. system design - distribute 6 mil burger in 10minutes.
Utilize multiple assembly lines with efficient processes and automation to distribute 6 mil burgers in 10 minutes.
Implement multiple assembly lines to increase production capacity
Utilize automation for tasks such as patty flipping and bun toasting
Optimize processes to minimize wait times and maximize efficiency
More about working at Deliveroo
Top HR Questions asked in Cheers Interactive
Interview Process at Cheers Interactive
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month