The following exercises emulate typical interview scenarios using common system design questions. The solution to each question might not be accurate and should not be taken as the "ground truth". The purpose of the exercises is to demonstrate different interviewer-candidate interactions.
- Design "File Downloader Library"
- Design "Caching Library"
- Design "Image Library"
- Design "Location Sharing Library"
- Design "Network Library"
- Design "Json Parsing Library like Moshi/Gson"
- Design "Pagination Library"
- Design "Analytics Library"
- Design "A/B Experiment Library"
- Design "Photo App"
- upload / sync photos with backend
- Design "Chat App"
- Design "Clock App"
- Design "Recipe App"
- Design "Photo Editing App"
- Design "Live Wallpaper Display App"
- Design "Instagram Post Feed/Facebook News Feed"
- Design "Facebook/Instagram story"
- Design "Flight booking system"
- How to cache status
- How to handle case like leaving a page and coming back without previous information loss
- How to handle transaction failure
- How to lock seat selection
- Design "Contact app with real time status"
- Design "Push notifications system"
- broadcast receiver + notification manager + persistent connection
- Design "File uploader library"
Feel free to suggest your own topics.