iOS面试题

2016-07-26  本文已影响155人  奔哥小木屋
  1. 发送消息的完整过程 如果消息的接收者能够找到对应的selector,那么就相当于直接执行了接收者这个对象的特定方法;否则,消息要么被转发,或是临时向接收者动态添加这个selector对应的实现内容,要么就干脆玩完崩溃掉,死给你看。
  2. 什么叫 数据结构
  3. Notification是同步的还是异步的?KVO是同步还是异步的?
  4. 说说swift多个版本之间你感触最深的几个变化?
  5. 拯救程序崩溃的机会是那三次?
  6. iOS应用是如何实现后台多任务处理(Multitasking)的?
  7. 什么是链表?
  8. 什么是二叉树?
  9. 你用过哪些设计模式?分别用在什么场景?
  10. 什么是时间复杂度?
  11. 使用drawRect有什么影响?
  12. 为什么Optional在swift语言中非常重要?
  13. 编码实现最短路径的算法?
  14. 迪杰斯特拉和弗洛伊德算法如何选择?
  15. 一个lib包含了很多的架构, 会打到最后的包里吗?
  16. 什么是Binary search tree? search的时间复杂度是多少?
  17. 你一般是怎么用Instruments?
  18. _objc_msgFoward函数是什么?直接调用它会发生什么?
  19. 用过 CoreData 或者SQLite吗?读写是分线程的吗?遇到过死锁没有?如何解决?
  20. BAD_ACCESS在什么情况下会出现?如何调试?
  21. 谈一谈你常用的开发工具有哪些优势
  22. 企业开发中用过哪些测试? 简单描述一下这些测试以及作用?
  23. ldb(GCD)常用的调试命令
  24. 简述你理解的敏捷开发
  25. 查找我的iPhone的实现方法
  26. 你和后端服务器是怎么交互的
  27. 你是怎么分析Crash日志的
  28. 什么是method swizzing(俗称黑魔法)
  29. iOS7之前, 后台执行内容有几种形式?都是什么?
  30. 如何减小一个应用程序的尺寸
  31. 解释NSError, 在swift中, 什么情况下能用NSError, 什么情况下不能用?
  32. 迭代开发中 你是怎么处理版本兼容问题的
  33. 如何提高一个应用程序的性能?
  34. svn git等版本控制工具有什么好处和注意点?
  35. APP上架后如何所及错误信息?
  36. 不同版本的APP 数据库变化了 如何处理
  37. 如何保证软件质量?
上一篇下一篇

猜你喜欢

热点阅读