返回

iOS 开发者面试集锦:直击携程、阿里、JD 以及腾讯面试现场!

IOS

iOS开发面试集锦:直击携程、阿里、JD以及腾讯面试现场!

前言

去年春招的时候开始看看面经,真题做的很少,很水=。=,惭愧惭愧。然后秋招的时候由于实习比较忙,所以基本上就只投了秋招正式批,内推要么没投,要么踩线投,直接没了音信……

楼主iOS开发,主要用的Swift语言。下面上一些面经,希望能够对大家有那么一点点帮助。

春招

携程

  • 一面

    1. 自我介绍。
    2. 项目经历。
    3. Swift语言特性。
    4. iOS开发中常用的设计模式。
    5. 如何实现一个单例模式。
    6. 算法题:二分查找。
  • 二面

    1. 项目经历。
    2. Swift语言中的闭包。
    3. 如何实现一个代理模式。
    4. 如何实现一个数据持久化方案。
    5. 如何实现一个网络请求库。
    6. 算法题:快速排序。
  • 三面

    1. 项目经历。
    2. Swift语言中的泛型。
    3. 如何实现一个MVC模式。
    4. 如何实现一个MVP模式。
    5. 如何实现一个MVVM模式。
    6. 算法题:堆排序。
  • 结果 :Offer。

阿里

  • 一面

    1. 自我介绍。
    2. 项目经历。
    3. Swift语言中的错误处理机制。
    4. 如何实现一个线程安全的数据结构。
    5. 如何实现一个内存管理方案。
    6. 算法题:字符串反转。
  • 二面

    1. 项目经历。
    2. Swift语言中的协议。
    3. 如何实现一个委托模式。
    4. 如何实现一个发布-订阅模式。
    5. 如何实现一个观察者模式。
    6. 算法题:链表反转。
  • 三面

    1. 项目经历。
    2. Swift语言中的枚举。
    3. 如何实现一个值类型和引用类型。
    4. 如何实现一个结构体和类。
    5. 如何实现一个协议和扩展。
    6. 算法题:树的遍历。
  • 结果 :Offer。

秋招

JD

  • 一面

    1. 自我介绍。
    2. 项目经历。
    3. Swift语言中的逃逸闭包。
    4. 如何实现一个GCD队列。
    5. 如何实现一个RunLoop。
    6. 算法题:查找数组中的最大值。
  • 二面

    1. 项目经历。
    2. Swift语言中的泛型编程。
    3. 如何实现一个链表。
    4. 如何实现一个栈。
    5. 如何实现一个队列。
    6. 算法题:查找两个数组的交集。
  • 三面

    1. 项目经历。
    2. Swift语言中的错误处理机制。
    3. 如何实现一个线程安全的数据结构。
    4. 如何实现一个内存管理方案。
    5. 如何实现一个网络请求库。
    6. 算法题:查找数组中的最长递增子序列。
  • 结果 :Offer。

腾讯

  • 一面

    1. 自我介绍。
    2. 项目经历。
    3. Swift语言中的值类型和引用类型。
    4. 如何实现一个结构体和类。
    5. 如何实现一个协议和扩展。
    6. 算法题:查找字符串中的最长公共子序列。
  • 二面

    1. 项目经历。
    2. Swift语言中的泛型编程。
    3. 如何实现一个链表。
    4. 如何实现一个栈。
    5. 如何实现一个队列。
    6. 算法题:查找两个链表的交点。
  • 三面

    1. 项目经历。
    2. Swift语言中的错误处理机制。
    3. 如何实现一个线程安全的数据结构。
    4. 如何实现一个内存管理方案。
    5. 如何实现一个网络请求库。
    6. 算法题:查找图中的最短路径。
  • 结果 :Offer。

总结

以上是楼主在春招和秋招期间参加的iOS开发面试经历。希望通过分享这些内容,能够帮助其他iOS开发人员更好地备战面试,在求职过程中获得成功。

最后,祝大家都能找到一份满意的工作!