返回
iOS 开发者面试集锦:直击携程、阿里、JD 以及腾讯面试现场!
IOS
2023-12-09 05:47:22
iOS开发面试集锦:直击携程、阿里、JD以及腾讯面试现场!
前言
去年春招的时候开始看看面经,真题做的很少,很水=。=,惭愧惭愧。然后秋招的时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信……
楼主iOS开发,主要用的Swift语言。下面上一些面经,希望能够对大家有那么一点点帮助。
春招
携程
-
一面
- 自我介绍。
- 项目经历。
- Swift语言特性。
- iOS开发中常用的设计模式。
- 如何实现一个单例模式。
- 算法题:二分查找。
-
二面
- 项目经历。
- Swift语言中的闭包。
- 如何实现一个代理模式。
- 如何实现一个数据持久化方案。
- 如何实现一个网络请求库。
- 算法题:快速排序。
-
三面
- 项目经历。
- Swift语言中的泛型。
- 如何实现一个MVC模式。
- 如何实现一个MVP模式。
- 如何实现一个MVVM模式。
- 算法题:堆排序。
-
结果 :Offer。
阿里
-
一面
- 自我介绍。
- 项目经历。
- Swift语言中的错误处理机制。
- 如何实现一个线程安全的数据结构。
- 如何实现一个内存管理方案。
- 算法题:字符串反转。
-
二面
- 项目经历。
- Swift语言中的协议。
- 如何实现一个委托模式。
- 如何实现一个发布-订阅模式。
- 如何实现一个观察者模式。
- 算法题:链表反转。
-
三面
- 项目经历。
- Swift语言中的枚举。
- 如何实现一个值类型和引用类型。
- 如何实现一个结构体和类。
- 如何实现一个协议和扩展。
- 算法题:树的遍历。
-
结果 :Offer。
秋招
JD
-
一面
- 自我介绍。
- 项目经历。
- Swift语言中的逃逸闭包。
- 如何实现一个GCD队列。
- 如何实现一个RunLoop。
- 算法题:查找数组中的最大值。
-
二面
- 项目经历。
- Swift语言中的泛型编程。
- 如何实现一个链表。
- 如何实现一个栈。
- 如何实现一个队列。
- 算法题:查找两个数组的交集。
-
三面
- 项目经历。
- Swift语言中的错误处理机制。
- 如何实现一个线程安全的数据结构。
- 如何实现一个内存管理方案。
- 如何实现一个网络请求库。
- 算法题:查找数组中的最长递增子序列。
-
结果 :Offer。
腾讯
-
一面
- 自我介绍。
- 项目经历。
- Swift语言中的值类型和引用类型。
- 如何实现一个结构体和类。
- 如何实现一个协议和扩展。
- 算法题:查找字符串中的最长公共子序列。
-
二面
- 项目经历。
- Swift语言中的泛型编程。
- 如何实现一个链表。
- 如何实现一个栈。
- 如何实现一个队列。
- 算法题:查找两个链表的交点。
-
三面
- 项目经历。
- Swift语言中的错误处理机制。
- 如何实现一个线程安全的数据结构。
- 如何实现一个内存管理方案。
- 如何实现一个网络请求库。
- 算法题:查找图中的最短路径。
-
结果 :Offer。
总结
以上是楼主在春招和秋招期间参加的iOS开发面试经历。希望通过分享这些内容,能够帮助其他iOS开发人员更好地备战面试,在求职过程中获得成功。
最后,祝大家都能找到一份满意的工作!