Design a Professional Networking Platform Object-Oriented Design Interview
Design a professional networking domain model covering members and profiles (experience/education), connection requests and undirected connections, and posts with comments and reactions, enforcing symmetric connections, no self-connection, unique pending requests, and profile-edit authorization.
1. Problem Statement
Design a professional networking platform: members have profiles with experience and education, connect with each other via a request-and-accept handshake, and publish posts that others comment on and react to. Connections are mutual. Start by clarifying scope and the core objects.
2. Live Coding Format
Work in the provided coding workspace while explaining your decisions to the live interviewer. Validation may use inline tests, examples, comments, or a verbal walkthrough.
3. Key Focus Areas
- 1Profile ownership and edit authorization
- 2Connection request handshake and transition authorization
- 3Symmetric (undirected) connection graph
- 4Posts, comments, and per-member reactions
4. What Strong Candidates Should Demonstrate
- ✓Model members, profiles, and profile sub-entities with owner-only edit authorization.
- ✓Model a connection handshake and store accepted connections as a symmetric graph.
- ✓Enforce no self-connection and a single pending request per unordered pair.
- ✓Model posts with comments and one-reaction-per-member semantics.
Want interactive feedback?
Practice this problem in the live coding workspace while the interviewer probes your clarification, implementation, trade-offs, and validation.
Start Interview