https://mp.weixin.qq.com/s/VBgLpBCNX7XLcqebPimSEA
面试题分类
笔者尽可能搜罗了网上所有的iOS面试题,难度从低到高,当然也有介绍某个知识点的一些文章。笔者将这些题汇总以后分成了几个主题放在了有道笔记里面:
iOS 基础题:例如“KVO的实现原理?”等等。
iOS 应用题:例如“可能导致崩溃的几个原因以及如何避免崩溃?”等等。
Block:例如:“基本类型的变量和对象被__block修饰与否各有什么区别?”等等。
RunLoop:例如“利用RunLoop可以实现哪些功能?”等等。
Runtime:例如“从一个对象收到一个它无法响应的方法到崩溃之间发生了什么?”等等。
网络:例如“HTTPS的握手流程?”等等。
多线程:例如“线程同步的几个策略?知道哪几种锁及其它们之前区别?”等等。
计算机系统:例如“内存的几块区域以及职能?”等等。
设计模式:“iOS SDK里面有哪些设计模式的实践?”等等。
架构:例如“MVVM和MVP的区别?”等等。
数据结构:例如“哈希表的实现原理?如何解决冲突?”等等。
算法题的准备
最后还要说一下算法题:笔者因为没有算法方面的基础,而且时间上也比较紧,所以只准备了数组,链表,二叉树为主的算法题,语言是C++。这些题目的来源主要是《剑指offer》和 LeetCode 上面的题目,一共学习了大概一个月的时间。
笔者把已经掌握的算法题放在了我的 GitHub 库上面(有答案,而且都是正确的):awesome-algorithm-question-solution。这个库里面的算法题大部分都是移动端面试比较常考的算法题。
目前都基于C++语言,有兴趣的同学欢迎提交Java和Swift的答案。
网友评论