iOS interview questions reported at Uber

11 questions candidates reported being asked at Uber. Anonymous and unverified, so treat it as a hint of what to expect.

They cover System design & staff+, Coding rounds. Every question below links to a full answer with the common traps and the follow-ups an interviewer is likely to ask, so you can practise the way the interview goes: answer first, then defend it.

  1. Design an API rate limiter, then say how an iOS client should behave under one. Compare token bucket with a fixed window. 26.8.1
  2. Design the client of a Tinder-style swipe app: card prefetching, instant feel, and swipes that must not be lost or duplicated on a bad network. 26.8.4
  3. Design the rider app of a ride-hailing service: requesting, matching, a live driver on the map, trip states and a bad network. 26.8.6
  4. Design the API behind a photo feed: pagination, response shape, image variants, caching and what the client needs from it. 26.8.7
  5. Implement a hash map from scratch (get, set, remove), then extend it: what do you test and how does resizing work? 29.2.2
  6. Given a binary search tree and a decimal target, find the value closest to the target. Why can you stop descending one side? 29.2.3
  7. Return the values you see when looking at a binary tree from its right side. How does a level-order walk give it, and what is the trap with a left-only branch? 29.2.4
  8. Print the boundary of an N-ary tree counterclockwise: root, left edge, leaves left to right, right edge going up. How do you avoid printing a node twice? 29.2.5
  9. Given function entry and exit events with timestamps, print the time spent in each function when it exits. How do you separate total time from self time, and handle recursion? 29.2.7
  10. You get 60 to 90 minutes to build a small app live (a photo search, a movie list from JSON, a recipe app, a list with counters). How do you spend the time and what do interviewers look for? 29.3.1
  11. In a live round you are given existing code to review and then asked to add a feature to it. How do you review it quickly and what do you fix first? 29.3.3