最近iOS面试题浅答

1.xib原理

答:xib的原理就是将xml文件解析出来,找到相应的view,转换成代码,然后创建对象并显示。

2.copy关键字

copy 关键字? -

3.block底层

Block技巧与底层解析 -

4.UDP和TCP的区别

(TCP)传输控制协议,是一种提供可靠数据传输的通用协议。

(UDP)用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。

TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。

UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快

1、双方都是一种网络传输协议

2、TCP需要建立连接,而UDP不需要建立连接(无连接传输)

3、是否建立真实连接的特性,造成了双方可靠性的差距。

TCP属于可靠的传输协议:因为传输前双方建立好了连接,相当于买卖双方建立好了交易合同,传输中一般不会出现意外,直到连接终止;

UDP属于不可靠的传输协议:UDP的所谓连接相当于一种映射,UDP单方面的认为目标地址(端口)是可用的,从而进行收发数据,而实际上目标地址(端口)未必可用,所以传输数据不可靠

4、由于TCP需要建立真实的连接,所以需要消耗服务器的负载要大于UDP

5.UITableViewCell的复用机制

答:简单的说,一行一行 的cell都是在复用的,滑动 tableview 的时候,刚离开视图的cell会被放到复用池 中,等下一个cell需要显示时,会先看复用池中有没有cell,如果有的时候,就从复用池中拿出来cell,没有的话就重新创建cell。

6.MD5和base64

答:MD5:是一种不可逆的摘要算法,用于生成摘要,无法逆着破解得到原文。常用的是生成32位摘要,用于验证数据的有效性。比如,在网络请求接口中,通过将所有的参数生成摘要,客户端和服务端采用同样的规则生成摘要,这样可以防篡改。又如,下载文件时,通过生成文件的摘要,用于验证文件是否损坏。

Base64:属于加密算法,是可逆的,经过encode后,可以decode得到原文。在开发中,有的公司上传图片采用的是将图片转换成base64字符串,再上传。在做加密相关的功能时,通常会将数据进行base64加密/解密。

7.SDWebImage怎么缓存图片

关于使用SDWebImage进行图片缓存和清除缓存 -

8.向8岁小孩解释调制解调器和路由器是什么,功能

调制解调器是用来解析出上网信号的,我们的上网信号都要调制在其它信号载体上才能传输,路由器是用来分配上网信号的。打个比方,一船乘客相当于数据,那码头相当于调制解调器,没有它人们不能上岸,但码头出来只有一条路,这么多人去的地方不同,于是路由器充当了一个路口的角色,分出不同道路通向不同目的,并指引人们走向正确的道路。同理,不同地方的人通过道路汇集到路口又通过码头上船去往更远的地方。

9.GET和POST请求的区别

一个用于获取数据,一个用于修改数据。

10.这个写法会出什么问题: @property (copy) NSMutableArray *array;

两个问题

1、添加,删除,修改数组内的元素的时候,程序会因为找不到对应的方法而崩溃.因为 copy 就是复制一个不可变 NSArray 的对象;

2、使用了 atomic 属性会严重影响性能 ;

你可能感兴趣的:(最近iOS面试题浅答)