Design a Dating App (Tinder) Interview Question
Outline how you would create a tinder style dating app. The functional requirements are the ability to create user profiles, location based recommendations as well as the ability for a user to change their location (passport mode), preference settings, and matching algorithms. You can ignore chat functionality because that is often covered in other system design problems. The nonfunctional requirements are the ability for the application to scale to a large number of users as well as spikes in usage at different times. Availability and low latency are also a concern.
Related Problems
Design a url shortener service (similar to tinyurl).
1. Generate expiring unique short URL from provided URL
2. Redirect users to the correct website when they navigate to the short URL
A video service (like youtube) has many viewers watching videos. Given a stream of the video IDs that are being watched, we need to find the top K most viewed videos for different periods of time (1 hour, 1 day, 1 month, all time). For the top K videos returned, we also want the count of views during this period.
Functional Requirements
1. As users type text in a search box, show the top 10 auto complete results with very low latency
2. Analytics will be collected on what the user types
Design a service with the following functional requirements
1. Users should be able to upload and download files
2. The files should be able to be shared with other users
3. Changes to the files should be pushed to other users with the content on their machine
4. There must be no risk of file corruption
5. Keep track of different versions of the files so they may be rolled back
6. Users should be able to edit files without an internet connection and the changes sync up when a connection becomes available