In a recent interview a friend was asked to design Facebook's/Snapchat's "Nearby Friends" feature. His design included a Poller in the client app that intermittently polls the server for nearby friend locations in a particular radius. The client would also send its location in the background to the server intermittently (only if you're moving). My friend discussed using geohashes instead of latitude/longitudes.
The interviewer wasn't impressed.
I think the interviewer was looking for:
Note there are YouTube videos about Yelp/Uber system design that talk about persistent connections etc., but I don't think any video solves the problem at scale. Thoughts?