2019面试日记

2019-04-17  本文已影响0人  sherlock_l

最近去面试了一下,将面试一些题目记录下来,改进自己。


网络相关

HTTP的请求方式都有哪些

8种:get post put head delete options trace connect

HTTP错误码的分类

1xx-信息提示    2xx-成功  3xx-重定向 4xx-客户端错误 5xx-服务器错误

HTTPS的相关认识

TCP滑动窗口是什么,掉帧会发生什么

设计相关

程序设计的六大原则

1.1 优化代码的第一步:单一职责原则

1.2让程序更稳定、更灵活:开闭原则

1.3 构建扩展性更好的系统:里氏替换原则

1.4让项目拥有变化的能力:依赖倒置原则

1.5系统有更高的灵活性:接口隔离原则

1.6 更好的扩展性--迪米特原则

OC

load、initialize都是在什么时候调用的,先后顺序是什么?

@property都做了什么?

weak、assign有什么区别,分别在什么时候用,为什么不用另一个?copy在什么时候使用,为什么?

runloop的认识,都做了哪些事,source0,source1分别指代什么?

autoreleasepool都做了哪些事,什么场景下使用,原理是什么,本质是什么数据结构?

显式动画和隐式动画的区别分别是什么

UIview和CALayer的作用分别是什么,苹果为什么这样设计

事件响应者链

AFN的实现原理是什么,为什么选择AFN

unrecognized selector 造成的原因是什么

category能加类属性么,怎么加,runtime怎么加的,加的属性kvo能直接监听么?

KVO的发送者是在子线程,监听者写在主线程,那监听者收到事件是在什么线程?

displaylink的了解

iOS

应用在编译阶段做了哪些事

基本的编译过程分为四个步骤:

预处理(Pre-process):把宏替换,删除注释,展开头文件,产生.i文件。

编译(Compliling):把之前的.i文件转换成汇编语言,产生.s文件。

汇编(Asembly):把汇编语言文件转换为机器码文件,产生.o文件。

链接(Link):对.o文件中的对于其他的库的引用的地方进行引用,生成最后的可执行文件(同时也包括多个.o文件进行 link)。

其他

加密算法中DES、RSA分别是什么类型的加密,原理清楚吗?

上一篇下一篇

猜你喜欢

热点阅读