Week 10 · Day 3 · 2026-09-30 WED · FULL · attempt + original reading

Tinder full: profile preferences, geo feed, swipe, mutual match

08:50-10:55 system design14:30-16:15 Intervals20:30-21:15 recall/mock

今日目标

Build a 25-35 minute Tinder design where the feed is a cache/index projection and match creation is a unique pair transition.

08:50-09:00Set target
One sentence: low-latency nearby feed without reshowing swiped profiles.
09:00-10:05Attempt + Hello Interview reading
Read Tinder through HLD and four functional paths.
10:05-10:45Decision note
Separate profile truth, geo/preference index, swipe write path, and Match pair uniqueness.
10:45-10:55Spoken close
Explain why swipes scale separately from profiles.
14:30-16:15NeetCode Tag · Intervals
Exactly three contiguous slots; each slot is 30m solve + 5m evidence.
20:30-21:15Recall / Mock
20:30-21:15 Tinder English recall outline and Chinese explainer review.

Live canonical source anchors

Daily anchors retain the original Hello Interview heading text.

ProjectExact canonical source headingDispositionUse
TinderUnderstand the Problemrequired readingdating/feed/swipe/match domain
TinderFunctional Requirementsrequired readingprofile preferences, stack, swipes, match notification
TinderNon-Functional Requirementsrequired readingconsistent swipe match, 20M DAU, <300ms feed, no reshow
TinderThe Set Uprequired readingscope feed and swiping over chat/photos
TinderPlanning the Approachrequired readingone functional path at a time
TinderDefining the Core Entitiesrequired readingUser, Swipe, Match
TinderThe APIrequired readingprofile, feed, swipe APIs
TinderHigh-Level Designrequired readingProfile Service, Swipe Service, Swipe DB, push notification
Tinder1) Users can create a profile with preferences (e.g. age range, interests) and specify a maximum distance.required readingpreference write path
Tinder2) Users can view a stack of potential matchesrequired readinggeo/filter feed path
Tinder3) Users can swipe right / left on profiles one-by-one, to express "yes" or "no" on other usersrequired readingwrite-heavy swipe path
Tinder4) Users get a match notification if they mutually swipe on each otherrequired readingmutual match notification path

DDIA decision links

Week 10 decisionExact DDIA subsectionDesign consequence
How should Tinder represent geo/feed secondary filters?Ch7 - 分片与二级索引The profile source of truth is separate from geo/preference secondary indexes and feed caches.

Algorithm block

SlotProblemPatternInvariantBug riskTimeSpace
7Interval List Intersections
NEW · 30m solve + 5m evidence
two-pointer sweepMove the pointer with smaller end after recording overlap.Forgetting zero-length inclusive intersections.O(n+m)O(1) extra
8Meeting Rooms
NEW · 30m solve + 5m evidence
overlap detectionAfter sorting starts, any start < previous end conflicts.Equal endpoint should not conflict.O(n log n)O(1) extra
9Meeting Rooms II
NEW · 30m solve + 5m evidence
min-heap resourcesHeap contains end times of active meetings only.Pop only once instead of while eligible.O(n log n)O(n)

Output and repair

DeliverableTinder 30m attempt: profile/feed/swipe/match schema, APIs, feed cache, swipe partition key.
Repair ruleIf the design paginates a SQL query as the feed, replace it with indexed candidates plus cache and no-reshow filter.
ArtifactsTinder Chinese explainer Tinder Chinese audio Tinder English recall
English recallEnglish recall: defend freshness, reservation, race recovery, fairness, and observability without reading notes.
Local study materials
Detailed lecture notes, audio, recall scripts, PDFs, Staff Q&A, and mock packs are archived locally and are intentionally not published on this site.