码迷,mamicode.com
首页 > 微信 > 详细

阿里面试题——如何实现微信“附近的人”功能?

时间:2015-05-15 18:06:38      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:服务器   经纬度   客户端   如何   格子   

一个面试题

如果让你实现微信的“附近的人”功能,你会怎么做?


初期实现:客户端固定时间发送经纬度(x,y)到服务器s,服务器存储每个登陆的用户的经纬度到表t中,表t按照经纬度分表,将地图分成一个个的小格子。当用户店家“附近的人”时,对用户(x,y)进行计算,最多一次查询其中的4个格子(子表),计算两点间距离获取结果(有点像桶排序)。性能上可以将表t替换为内存结构,容灾即可。从实际的微信提供的功能来看,附近的人并不太多,估计是其对地图划分的格子很小。


阿里面试题——如何实现微信“附近的人”功能?

标签:服务器   经纬度   客户端   如何   格子   

原文地址:http://wufanxin.blog.51cto.com/7318130/1651642

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!