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