iOS随笔

高级iOS开发面试技能概要

2019-05-26  本文已影响0人  095b62ead3cd

技能要求

1、UI视图

  - UITableView:
    1. 重用机制的理解与运用;
    2. 使用过程中对数据源的多线程操作;
    3. 数据源的同步;
  - 事件传递&视图响应
  - 图像显示原理
  - UI卡顿、掉帧
  - UI绘制原理、异步绘制解决原理
  - 离屏渲染

2、OC语言

   - 分类:
     1. 实现机制与原理;
     2.怎样为分类添加实例变量;
   - 关联对象
   - 扩展、代理
   - KVO、KVC系统的实现机制与原理,里面涉及到了哪些设计思想
   - NSNotification 实现机制是什么
   - 属性关键字        

3、Runtime

  - 对象、类对象、元类对象的理解,它们之间的关系
  - 消息的传递机制
  - 消息的转发流程
  - 方法缓存
  - Method-Swizzling实际运用
  - 动态添加方法

4、内存管理

  - ARC
  - MRC
  - 引用计数原理
  - 弱引用表
  - AutoReleasePool实现机制与原理
  - 循环引用

5、Block

  -  Block的本质
  - 截获变量特性
  - __block修饰符的本质
  -  Block的内存管理
  - 循环引用

6、多线程

  - GCD
  - NSOperation/NSOperationQueue
  - NSThread
  - 线程同步、资源共享问题,解决了哪些问题
  - 互斥锁、自旋锁、递归锁等

7、Runloop

  - 什么是Runloop
  - Mode/Source/Timer/Observer
  - 事件循环机制
  - Runloop与NSTimer的关系,使用NSTimer的时候怎么考虑它们之间的关系,包括Runloop所带来的影响
  - Runloop与线程之间的关系
  - 如何使用Runloop实现一个常驻线程

8、网络

  - HTTP协议,GET与POST有什么区别
  - HTTPS的连接建立流程,与网络安全的关系
  - TCP连接建立的三次握手,四次挥手
  - UDP与长连接之间的联系与关系
  - DNS解析
  - Session、Cookie

9、设计模式

  - 六大设计原则
  - 责任链
  - 桥接
  - 适配器
  - 单例
  - 命令

10、架构、框架

  - 图片缓存框架
  - 时长统计框架
  - 复杂页面架构
  - 客户端整体架构

11、算法

  - 字符串反转
  - 链表反转
  - 有序数组合并
  - 哈希算法
  - 查找两个子视图的共同父视图
  - 求无序数组当中的中位数

12、第三方底层原理

  - AFNetworking
  - SDWebImageView
  - Reactive Cocoa
  - AsyncDisplayKit

真题入手-->技术原理-->企业级实践-->总结

上一篇下一篇

猜你喜欢

热点阅读