iOS面试高频题

作者: LonnieQ | 来源:发表于2020-11-30 23:47 被阅读0次

    计算机基础

    主要考察大学的计算机网络、操作系统、计算机组成原理的一些基础题目,另外还有一个大类数据结构与算法则更侧重编程能力。

    面试官通常会问你对某个领域是否了解,然后由浅到深地问,还会让你举例。

    1. TCP/IP模型。

    2. 三次握手、四次挥手的过程、原理。

    4. 解释一下你对多线程的认识。

    5. 谈一下你对锁的了解。

    6. 你了解哪些设计模式?谈一下应用场景。

    6. 怎么优化性能,举一下例子。

    7. 怎么做单元测试。

    8. 谈一下你认识的一些架构,如MVC、MVVM、MVP等。

    9. 谈一下大端、小端模式。

    iOS基础

    1. iOS有哪些多线程工具类。

    2. 谈谈你对Webkit的认识。

    3. iOS有哪些锁。

    4. 怎么实现暗黑模式。

    5. 怎么实现阿拉伯适配?

    6. 怎么对iOS做单元测试、自动化测试。

    7. 如何优化应用性能。

    8. 动态库、静态库的区别。

    9. 谈谈Runtime。

    10. 谈谈Runloop。

    11. Block实现原理。

    12. iOS有哪些设计模式。

    13. 解释一下Delegate、Block、Notification及使用场景。

    14. Category/Extension的实现原理。

    15. 解释iOS内存管理机制ARC模式,有哪些情景造成引用循环。

    16. 谈一下你对Instrument的了解。

    17. 你会用LLDB哪些命令。

    18. Auto Release Pool实现原理。

    Swift基础

    1. 类和结构体的相同点和不同点?

    2. 元组是什么?

    3. 面向协议编程有什么优势?

    算法题

    主要考Leetcode上面的题目或者一些变形题,主要有以下几大类。

    线性表

    1. 对数组/链表进行排序/搜索/插入/删除。

    2. 实现栈/队列,利用栈实现深度优先搜索、队列实现广度优先搜索。

    3. 对二维数组进行深度优先/广度优先搜索,如岛屿问题、寻找两点最短路径。

    二叉树

    1. 二叉树的先序、中序、后序、层序遍历问题,其中先序、中序、后序属于深度优先搜索,层序遍历属于广度优先搜索。

    2. 二叉树的翻转。

    3. 排序二叉树的性质(左子节点比父节点小、右子节点比父节点大。中序遍历是对排序二叉树从小到大的遍历。)

    图论

    图论比较少考,不过我遇到过两次最短路径问题。

    1. 无向图和有向图的临接表实现和矩阵实现。

    2. 无向图和有向图的深度优先搜索和广度优先搜索。

    3. 判断图是否有环。

    4. 对有向图进行逆转。

    5. 拓扑排序。

    6. 计算无向图和有向图的连通分量。

    7. 带权重的图,最小生成树,Kruskal算法,Prim算法。

    8. 最短路径问题,Dijkstra算法。

    字符串算法

    1. 字符串搜索

    2. 字符串排序

    3. 字符串匹配

    4. 字典树


     

    相关文章

      网友评论

        本文标题:iOS面试高频题

        本文链接:https://www.haomeiwen.com/subject/clljwktx.html