Round 1: DS/PS
- Gas Station
- Singleton class and implementation.
- final, static, transient, synchronized and volatile keywords and their usage.
- Immutable class in Java and implementation.
Round 2: System Design
- Design a Dropbox like system (HLD)
- Requirements
- Users can log in and log out.
- Users can upload/download multiple files (file size limited to 1GB).
- Daily Active Users - 1M
- User uploads 1 file daily.
- Discussions
- APIs: Login, logout, upload, and download.
- File storage: Using cloud storage (e.g., AWS S3) and handling large files with chunk uploads.
- Security: Adding user authentication (JWT) and encrypting files during upload/download.
- Follow-up:
- How to allow users to share files to other users?
Final Verdict
Rejected after the second round.