TechnicalSystem Design

How would you design a photo sharing app?

Technical Program Manager

Amazon

TripAdvisor

Paytm

Affirm

Carousell

Khatabook

Did you come across this question in an interview?

Answers

Anonymous

4Strong
There are functional and non functional aspects needs to consider. 
Functional for user:
1. user log in through email, phone, apple id or face id
2. user upload photos and add captions for these photos
3. user can share selected photos through email address and social media
4. user can like selected photos and make comments
5. user can search photos by time frame and captions
6. user can create album to organize photos 

Function for admin:
1. manage user accounts
2. content evaluation to ensure uploaded photos meet the compliance requirements 

Non-functional 
1. Front end
 - mobile app for Ios and android and web service 
 - React native for mobile app
 - React for web service

2. Backend 
- use Restful API for user to upload and get photos 
- node.js/express as the backend technology
- use Redis as cache for fast and repeative searching purpose

3. Storage
- use Azure as the storage
- load thumnail and full size 

4. Database design
- User: userid(Primary key), user name, email address, createdon
- Photo: photoid(Primary key), userid, likeid, commentid, uploadedon, modifiedon
- Like: likeid(primary key), photoid, userid, likecreatedon
- Comment: commentid(primary key), photoid, userid


  • How would you design a photo sharing app?
  • Describe how you would design a photo sharing app.
  • What would be your design for a photo sharing app?
  • Design an app to share photos.
  • How would you design an app for sharing photos?
  • Walk me through your design for a photo sharing app.
  • Tell me how you would design a photo sharing app.
  • How would you go about designing a photo sharing app?
Try Our AI Interviewer

Prepare for success with realistic, role-specific interview simulations.

Try AI Interview Now

Interview question asked to Technical Program Managers interviewing at Khatabook, Affirm, Raisin and others: How would you design a photo sharing app?.