面试题

作者: 李白杜甫谈恋爱 | 来源:发表于2016-08-06 22:32 被阅读0次

1.微信如何搜索附近人

前提:根据两个点的经度和纬度计算两点之间的距离,公式见  http://en.wikipedia.org/wiki/Haversine_formula

思路 1)每个用户在服务器端都会保留最后的经度和纬度和时间

查找时,根据当前用户的经度和纬度 对 服务器端 每个用户的经度和纬度 进行计算,有人把上述公式做成mysql 函数放在 sql语句中调用

CREATE DEFINER=`root`@`localhost` FUNCTION `distance`(lat1 float,lng1 float,lat2 float,lng2 float) RETURNS float

BEGIN

set @num=

2 * 6371 * ASIN(SQRT(POW(SIN(PI() * (lat1 - lat2) / 360), 2) + COS(PI() * lat1 / 180)

* COS(lat2* PI() / 180) * POW(SIN(PI() * (lng1 - lng2) / 360), 2)));

RETURN @num;

END

可参见 http://hi.baidu.com/jlzan1314/blog/item/26f47251611698551038c2de.html 及 http://blog.csdn.net/alexjames_83/article/details/4261403

很显然,这种方法计算量巨大,实际应用中除非数量很小,否则可以排除

思路2)基准线预先计算法

每个用户在服务器端都会保留最后的经度j1 和纬度w1 的同时 保留对经度基准线的相对距离 dj1 和纬度基准线的相对距离 dw1

经度基准线可以是中国最东边的经度  纬度基准线可以是中国最北边的纬度

当前用户对经度基准线的相对距离 dj2 =230km 和纬度基准线的相对距离 dw2=350km

查找时sql语句可以这么写(1.5公里内的用户)

select * from user where dj1>(230-1.5) and dj1<(230+1.5) and  dw1>(230-1.5) and dw1<(230+1.5)

相当于获得当前用户 周围正方形1.5公里区域的用户

此外通过将冷热数据分开存放及 分块存放 用户地理数据应该能有效的提高查询速度


2.模糊搜索和精确搜索

1.NSPredicate  http://blog.csdn.net/lianbaixue/article/details/10579117

2.SQL 模糊搜索 http://blog.csdn.net/li_shuang_ls/article/details/51792708


3.即时通讯的UI布局,要是你做你会用多少个cell

4.有没有直播经验

5.最近的ipv6上架的问题 以及了解ipv6是什么

6.消息机制了解么?你用它做过什么!

7.iOS如何优化

8.instuments用过哪些工具,如何测试核心动画性能

9.沙盒机制

10.ffmpeg,opengl了解嘛

11.如何收集APP异常信息(比如:崩溃、闪退等)

12.离屏渲染了解么,了解的话说一下你一般是从哪几方面操作的

13.了解GCD的信号量机制么!能谈谈你对它的理解么!

14.聊下RAC和MVVM,你对它的看法

15.block底层实现

16.响应链底的理解

17.KVC和KVO

18.lldb(gdb)常用的调试命令

19.GCD原理

20.热更新

相关文章

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • ios面试题

    初级面试题 中级面试题 高级面试题 swift篇

  • Android超实用最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

  • Android最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

网友评论

      本文标题:面试题

      本文链接:https://www.haomeiwen.com/subject/mhtlsttx.html