面试问题总结

  • Runtime理解。
  • Runloop理解,结合计时器。
  • GCD常用的方法。
  • GCD的原理。
  • KVO和KVC的实现原理。
  • SDWebImage的原理,缓存原理,NSCache如何实现的,如何计算一张图片的大小。
  • GCD和NSOperation区别。
  • 数组和链表的区别,数组是如何进行取值的。
  • NSDictionary字典的实现原理。
  • 写一个函数,交换两个int 类型的数字。
  • Notification通知是如何实现的。
  • runtime如何实现weak变量自动置为nil。
  • runloop和线程的关系。
  • 线程和队列的关系。
  • 线程为什么会死锁?
  • 初始化一个线程,在这个线程中两次异步执行任务,这两次是同一个线程吗?
  • 2条线程对同一个资源操作,为什么要加锁?
  • 线程最多有多少条?
  • 线程的创建,除了NSTread、NSOperation、GCD,还有其他的方法吗?
  • 使用过哪些本地持久化。如何封装Sqlite3,实现动态插入模型。
  • RAC使用,原理。
  • 路由机制。
  • 项目的架构(MVC、MVVM、MVP)
  • Cocoapods管理项目这块。
  • 非对称加密这块也有问的。
  • 了解的排序算法。
  • 切面编程也有被问到。
  • 如果Appstore上的项目发生了崩溃,如何快速定位问题?
  • Instrucment的使用。
  • OOA、OOP、是什么?
  • 组件化开发。

目前就记得这么多

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