Object-oriented design interview questionMedium

Design a Professional Networking Platform

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

  • 1
    Profile ownership and edit authorization
  • 2
    Connection request handshake and transition authorization
  • 3
    Symmetric (undirected) connection graph
  • 4
    Posts, 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.

Continue to Dashboard

Core Concepts

Hidden because they name the technique, which a real interviewer would not tell you.

Show core concepts
Object-Oriented DesignGraph ModelingInvariant EnforcementAuthorization

Continue preparing

Build a complete software engineer mock interview plan

Related Object-Oriented Design

Design a Question and Answer Platform

Design a Q&A platform domain model with users, questions, answers, comments, tags, votes, an accepted-answer rule, and a reputation policy, with the voting, acceptance, and reputation invariants enforced in the model.

Related Object-Oriented Design

Design a Restaurant Management System

Design a restaurant domain model covering tables and capacity, reservations for time slots, seated parties, a menu, orders with priced line items, kitchen status, and bills with payments, keeping booking and order/kitchen state transitions correct.

Related Object-Oriented Design

Design a Multi-Device Smart Home Controller

Design an application that controls multiple smart-home device types (e.g., fan, TV) supporting generic ON/OFF commands common to all devices plus device-specific commands, extensibly.

Related Object-Oriented Design

Design a Social Networking Platform

Design a social networking domain model covering users and profiles, friendship requests and symmetric friendships, and posts with a visibility setting, comments, and reactions — enforcing symmetric friendship, unique requests, author ownership, and visibility-based read authorization.