面试总结

iOS面试题相关

  1. 原理部分
    • runloop mode、常见用法
    • 内存管理 autoreleasepool如何释放,怎么用的,实现原理
    • kvo/kvc原理,NSNotificationCenter区别,实现一个center
    • weak 实现、weak 变量什么时间释放
    • category 实现、与extension区别
    • NSTimer timer不准
    • copy 手动实现copy方法,与strong区别
    • performSelector 与发消息区别
    • load与initlize区别 运行时机
    • runtime 都用到哪些,基本就是整个模块讲一遍,会多少讲多少
    • 多线程 都用到哪些
  2. UI部分
    • UIButton继承链 UIControl
    • masory
    • UITableView 优化
    • 怎么实现一个滑动页面,这个页面有很多怎么办,如何保证页面数据不发生变化
    • 事件响应链 点击button,哪个会响应
  3. 第三方库源码
    • SDWebImage dispatch_barrier_async,框架分模块,某一个模块怎么做的
    • weex原理,为什么要采用weex,不采用rn;
    • JSPatch 原理,与weex区别
  4. 调试与优化
    • 如何检测卡顿 runloop
    • UITableView优化,高度缓存、cell重用、子view opaque、SD

编程基础相关

  • http报文,get/post,socket
  • 结构体与枚举的区别
  • NSUrlSession相关
  • 数据结构 链表(交叉、有环)、树的遍历、栈实现队列、红黑树
  • 算法 1亿数据中取前10个数,放硬币

面试过程相关

  • SDK 点击曝光检测,怎么调用
  • 曝光检测,怎么保证出现
  • 是这样的吗?平时要多思考

面试准备

首先,面试要自信,不用担心基础不行或者怎么样,不会的人多的是;
思维、思路很重要,体现出自己思考的过程;

你可能感兴趣的:(面试总结)