# Design a people search system like LinkedIn search: system design interview question

> Search across 500 million professional profiles with useful result order, fresh results, and current access rules.

Source: https://sysround.com/questions/design-people-search-system-like-linkedin-search
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a people search service for a professional network. Members search for people by names, skills, employers, and other filters. The service must respect each profile's visibility rules."

## What to clarify first

- Search behavior
- Scale
- Read and write mix
- Latency
- Relevance and pages
- Visibility rules
- Consistency and cursor lifetime
- Availability
- Durability
- Existing services and exclusions

## Scope of a strong answer

Core requirements:

- Search profiles by name, skill, employer, and title
- Apply exact filters for the current employer, location, and skills
- Rank results and support multiple result pages
- Enforce profile visibility, connection rules, and blocks

Usually out of scope:

- Create or edit profiles
- Build the connection service
- Search contact details
- Recommend people without a search query
- Train a custom rank model

## What interviewers probe

### Name and skill matches

Common names and broad skills match many profiles. Exact filters and text relevance require different match rules.

### Profile visibility

Search data can lag after access changes. The service must enforce current rules without one remote request per result.

### Changes to profiles

Concurrent edits can reach search in a different order. A repair can also restore a deleted profile.

### Large result sets

Broad queries create large candidate sets. Access checks remove results, while edits and failures can change later pages.

## Common mistakes

- The design trusts index visibility after a member restricts access.
- The design shares final results across viewers without a new access check.
- The design scans every profile or uses large offsets for later pages.
- The design discards older field patches without obtaining complete state for the accepted version.
- The design promises full pages despite fixed work limits and many access rejections.
- The design promises fresh continued pages without a clear snapshot lifetime or freshness exception.

## The bar by level

- **Senior:** Enforces restrictions after acknowledgement on every page. Defines safe versioned replacement and deletion behavior. Explains cursor expiry, candidate budgets, and partial responses. Handles access failures.
- **Staff+:** Defines correctness across source commits, search updates, rebuilds, and access decisions. Quantifies access cost. Reconciles freshness with snapshot age. Defends privacy during failures and repairs. Explains limits on completeness, relevance, and latency.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=people-search


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
