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

一个面试题

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


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


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

上一篇:关于微信卡券和自身业务系统以及摇一摇周边的开发以及投放和核销


下一篇:本地测试微信公众号方法