腾讯
昨天去面腾讯地图的iOS,下面是我总结的一些问题。
- 假如沙盒路径下有一个文件,文件里面有1000万个学生成绩,怎么对这个学生的成绩进行排序让其效率更高(假设内存足够大,可以一次性载入1000万个学生) 
- 从1000万个数里以最快的效率选出其中最大的100个(假设内存足够大,可以一次性载入1000万个成绩) 
- 一个简单的游戏 
 a.假如有3个杯子,其中有一个杯子的下面有钻石,现在让你选一个, 然后系统帮你去除一个没有钻石的杯子,现在问你要不要换另外一个杯子(也就是问剩下两个杯子下面有钻石的概率是不是一样的)
 b.换一种情况。假如有1000万张彩票(只有一张中奖),先让你从1000玩里随便选一个,然后系统帮你去除其中9999998张没中奖的,留下你选的一张和另外一张,问你要不要换成剩下的另一张(同样是问剩下两张彩票的中奖概率是不是一样的)
- 你对iOS哪一块最了解?然后针对那一点各种问。我说我对下载模块比较熟悉,然后他就各种问。例如通过NSURLCOnnection下载的数据与UI交互的优化、断点下载的实现原理等 
- LRUCache算法.比如你有10M的内存,怎么去处理20M的文件 
- 你对MVC的理解,你如何你构架一个项目 
- 短信功能中,scrollview下移量和手势下移量不成比例,求这两个下移量的关系算法 
总结
其实腾讯的面试,更多是引导型的面试。即使你iOS全部会,你说你的算法很厉害(那面试官可能更侧重的去问你算法),只要你有一点能够打动面试官,那么得到offer的可能性也就更大了。