![Neo Kim Profile](https://pbs.twimg.com/profile_images/1715471366835556352/zuMLBgAQ_x96.jpg)
Neo Kim
@systemdesignone
Followers
21K
Following
4K
Statuses
6K
I Teach You System Design • Writes System Design Newsletter
Join 100K+ People →
Joined April 2023
Give me 2 minutes, and I'll teach you how Uber computes ETA (not joking): • They represent the physical map as a graph • They compute ETA by finding the shortest path in a directed weighted graph • They don't use Dijkstra’s algorithm because it won't scale with O(n*logn) time complexity • They partition the graph and then precompute the best path within each partition • They reduce the time complexity from O(n^2) to O(n) by partitioning graph • They populate the edge weights of the graph with traffic information • They do map matching to find accurate ETA • They use the Kalman filter and Viterbi algorithm for map matching —— 👋 PS - I wrote an article with visuals of this case study in my newsletter: →
7
23
246
RT @systemdesignone: System Design Interview's RED FLAG list. If you’re making these 5 mistakes… WE NEED TO TALK 😂
0
26
0
@InterviewsChat exactly, the best approach is to avoid common mistakes and practice more with mocks.
0
0
1