iOS笔记--面试题03

问题:

1.App需要加载超大量的数据,给服务器发送请求,但是服务器卡主了如何解决


答案:

1>设置请求超时

2>给用户提示请求超时

3>根据用户操作再次请求数据


问题:

2.地图导航不能用了怎么办?

答案:

1>提示用户打开导航定位功能


问题:

3.SDWebImage具体如何实现

答案:

1>利用NSOperationQueueNSOperation下载图片,还使用了GCD的一些函数(解码GIF图片)

2>利用URL作为key, NSOperatino作为value

3>利用URL作为key, UIImage作为value


问题:

4.AFNASI有什么区别

答案:

1> AFN基于NSURL, ASI基于底层的CFNetwork框架,因此ASI的性能优于AFN

2>AFN采取block的方式处理请求, ASI最初采取delegate的方式处理请求,后面增加了block的方式

3>AFN只封装了一些常用功能,满足基本需求,直接忽略了很多扩展功能,比如没有封装同步请求; ASI提供的功能比较多,预留了各种接口和工具供开发者自行扩展

4>AFN直接解析服务器返回的JSON, XML等数据,ASI比较原始,返回的是NSData二进制数据


问题:

5.你在实际开发中,有哪些手机架构与性能调试经验

答案:

1>刚接手公司的旧项目,模块特别多,而且几乎所有的代码都写在控制器里面,比如UI控件代码,网络请求代码,数据存储代码

2>接下来采取MVC模式进行封装,重构

自定义UI控件封装内部的业务逻辑

封装网络请求工具类

封装数据存储工具类


问题:

6.如果在网络数据处理过程中,发现一处比较卡,一般怎么解决

答案:

1>检查网络请求操作是否被放在主线程了

2>看看异步请求的数量是否太多了(子线程数量)

3>数据量是否太大?如果太大,先清除一些不必要的对象(看不见的数据,图片)

4>手机CPU使用率和内存问题


问题:

7.请介绍一下isa指针,怎么用,用来干嘛?

答案:

1>根据一个对象,找到对应的class. isa底层又指向元类.


问题:

8.控制器的生命周期

答案:

1>viewDidload

2>viewWillDidload (之类等等)


问题:

9.怎么实现和qq类似的收到图片显示一个小三角(使用quarzcore)view使用背景图片

答案:

1>使用coregrahils改变view的样式,裁剪出一个三角


问题:

10.coreanimation里面含有什么东西

答案:

1>核心动画,  BaseAnimation, 转场动画 等等.

 

你可能感兴趣的:(iOS笔记--面试题03)