2017年iOS高阶面试题

前言

因为身体原因,我不得不离开我的公司,在离开之前,我需要找到一个接手我项目的人。我出了两套题,一套是用来找接手工作的人,另一套则是对付市面上水平不高,又狮子大开口的人。

面试了两个星期,形形色色的iOS开发工程师,有会黑魔法和Runtime的工程师只要1w的,也有刚培训出来就敢要1w5的,每个人都有每个人的权利,但我还是想告诫一下,别太放肆没什么用,不出所料,没有多少个虚报工作经验的人在这套面试题下活下来。

说一下我放这套题的目的吧

一:时刻提醒自己,自己知道的东西太少,iOS能学的知识还有很多,我只是知道皮毛。

二:希望和有兴趣研究题目的人一起交流技术。我出的题可能有问题,如果有大神看出来,还请指点一二。

三:年轻人,别太浮躁,iOS没那么简单,工作经验只能说明你做的时间长。不能说明你水平高。

1.NSCache类当中是如何解决时间复杂度问题的.请说明其原理.

2.应用启动时是用怎样加载所有依赖的Mach-O文件的?

3.什么是冷启动,什么是热启动?

4.有没有做过项目的优化,请列举你所知道main()函数之前耗时的因素都有哪些,点击应用响应时间多少ms之内不会让用户察觉到

5.属性 可以与set方法和get方法 三者同时存在吗,如果不行,请说明原因?

6.Runtime机制是什么?有没有写过方法欺骗?简述一下

7.GCD和NSoperation的区别之处,请分别说一下特点?

8.Reachability是用来判断网络状态的,请简述一下其原理?

9.layoutSubviews这个方法一般在什么情况下调用的?

10.在一个表内有很多cell,每个cell上有很多个视图,如何解决卡顿问题(提示Runloop)

11.Objective-C语言中闭包是如何实现的,闭包中有什么需要注意,闭包运行环境是在堆还是在栈。

这套题的答案我有空将会更新出来,准备写一写demo研究一下。

有不对的地方还请大家指教,谢谢

这个文章好早写的了,之前挖的坑,我会找时间填上的,等我学完全栈哈~.加油

你可能感兴趣的