iOS高级工程师该掌握哪些知识?

这篇博客探讨了大公司对iOS高级工程师在数据结构与算法、操作系统相关原理及iOS底层原理方面的能力要求。重点包括排序算法、二叉树、链表、哈希表、动态规划等数据结构,以及内存管理、多线程、运行时和RunLoop等操作系统和iOS底层知识点。作者推荐了小码哥的《恋上算法与数据结构》视频教程作为学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一个6年的iOS开发者,经历了从UI到底层的探索,也经历了很多大公司的面试。
不自觉的要去归纳大厂对iOS高级工程师有哪些能力上的要求。

1.数据结构与算法

其实基本没有逃脱严蔚敏那本《数据结构与算法》的范畴。我刚毕业时有次被阿里的面试官问到kmp算法,我心想这是啥高级算法,当场回答不会。后来去复习的时候,才发现其实这其实是在自己大学课本里面的算法。大学里面没有去搭理这个算法,以至于错失一次毕业就进大厂的机会。
具体来说,我按面试频率高低来排个序:

* 排序算法(快排、希尔、归并、堆排)

* 二叉树 (AVL树、红黑树、B树、B+树、)

* 链表、双向链表

* hash表(冲突解决算法)

* 动态规划(这是严蔚敏那本书里面没有的)

* 字符串查找 (kmp)

* 图论 (A*start寻路用在游戏中)(见《算法导论》)

这里推荐小码哥的视频教程集 《恋上算法与数据结构》,讲的非常独到细致。

2.操作系统相关原理

* 内存管理(内核进程、用户进程布局、页表局部性原理)

* 多线程(处理机调度原理、自旋锁、普通锁、读写锁\NSLOCK\信号量区别与联系)

* 栈帧回溯 (为性能优化和崩溃捕获服务)

* 崩溃捕获 (为线上诊断服务)

3. iOS底层原理。

* runtime 原理(类\分类信息C++结构、消息查找与转发过程、方法拦截)

* runloop 原理 (卡顿检测、timer实现原理、异步执行原理)

由于第一部分数据结构与算法是通识部分,且并不是每个厂都考(还因为我自己也不精通),因此本专栏主要针对iOS密切相关的iOS底层原理和操作系统相关原理展开讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cc_coders

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值