iOS笔记--面试题03

问题:

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


答案:

1>设置请求超时

2>给用户提示请求超时

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


问题:

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

答案:

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


问题:

3.SDWebImage具体如何实现

答案:

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

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

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


问题:

4.AFN与ASI有什么区别

答案:

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, 转场动画 等等.

 

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • AFHTTPRequestOperationManager 网络传输协议UDP、TCP、Http、Socket、X...
    Carden阅读 5,384评论 0赞 12
  • 13.服务器图片改了,url没有变,需求,服务器的图片变了,就从服务器加载图片,如果服务器的没变,就从本地加载 1...
    AlanGe阅读 1,523评论 0赞 1
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,924评论 4赞 61
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,751评论 30赞 472
  • 爸,你知道吗?我是多么的想你现在是个健健康康的人,能快快乐乐的活着。我知道你对这个世界还很眷恋。现在是该轮到你享福...
    笨笨的成长之路阅读 475评论 4赞 1

友情链接更多精彩内容