美团、人人网校招iOS工程师面筋分享(详细)

美团网

  1. 问了简单的排序,快排、冒泡排序;

  2. 问了一个概率题,1到100w的数字0共出现了多少次,还让我写个验证的测试小程序;

  3. 问了arc,mvc,设计模式,多线程;

  4. 问了我的兴趣爱好

  5. 问NSThread NSOperation dispatch和gcd的关系

    来上一个略标准答案:

•NSThread:  优点:NSThread比其他两个轻量级,使用简单

缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销
•NSOperation: 不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上

NSOperation是面向对象的
•GCD: Grand Central Dispatch是由苹果开发的一个多核编程的解决方案。iOS4.0+才能使用,是替代NSThread,NSOperation的高效和强大的技术

GCD是基于C语言的。

人人网

  1. 两个大数相加,对一个链表逆序;

  2. 问画出一个循环引用的关系图;

  3. 问了我APNs知不知道原理;

  4. 问ARC的内存泄露会表现在哪些地方

答(1).循环引用A有个属性引用B,B有个属性引用A,如果都是strong参照的话,两个对象都无法释放。这种问题常发生于把delegate声明为strong属性了。

(2).死循环 如果某个ViewController中有无限循环,也会导致即使ViewController对应的view关掉了,ViewController也不能被释放。这种问题常发生于animation处理
   5.问软件的架构、功能实现的职责。
#校招##iOS工程师##面经##美团##人人网#
全部评论

相关推荐

1 2 评论
分享
牛客网
牛客企业服务