LinkedIn is a professional networking platform that allows individuals to create and maintain an online career profile, connect with other professionals, apply for jobs, and share industry-related content.
Loading simulation...
It also serves as a recruiting and branding platform for companies to post job openings, build their presence, and hire qualified candidates.
In this chapter, we will explore the low-level design of LinkedIn like system in detail.
Let's start by clarifying the requirements:
Before starting the design, it's important to ask thoughtful questions to uncover hidden assumptions and better define the scope of the system.
Here is an example of how a conversation between the candidate and the interviewer might unfold:
Candidate: Should the system allow users to create detailed professional profiles?
Interviewer: Yes, members should be able to add a summary, work experience, and educational background.
Candidate: Should members be able to connect with each other?
Interviewer: Yes, the system should allow one member to send a connection request to another. The receiver can accept or reject it.
Candidate: Can members post updates, and should these be shown in a personalized feed?
Interviewer: Yes, members can create posts. A member should see posts from their connections in their news feed.
Candidate: Should members be able to like or comment on a post?
Interviewer: Yes, and the post’s author should be notified of these interactions.
Candidate: Do we support any search functionality?
Interviewer: Yes. Members should be able to search for other members by name (case-insensitive substring match is enough for now).
Candidate: Should the system include messaging, endorsements, job applications, or premium features?
Interviewer: No, let’s keep it simple. Focus only on core features: profiles, connections, posting, feed, notifications, and search.
After gathering the details, we can summarize the key system requirements.
With the requirements in place, the next step is to identify the core entities that will form the foundation of our design.