打开网易新闻 查看更多图片

苹果是全世界最大的科技公司之一,吸引了很多优秀人才,那么你知道这家硅谷巨头的面试有多难吗?

最近,一位国外网友分享了他的经历。

ID为chirag9696的网友在社交媒体上写道,他此前在爱尔兰的英特尔实习,对数据结构和算法很了解,在完成实习后,他给科技公司投了大量简历,包括亚马逊、微软和领英等,最终拿到了苹果的offer。

当苹果邀请chirag9696进行面试后,他在Hackerrank网站上做了89分钟的编程测试,一共有3道题,当他通过这一轮后,进入了第二轮的电话面试(phone screen)。

这一轮总共有4道题,合计时间为120分钟,分别是数据与算法、C++、操作系统和Web开发/JS。

每一道题都涉及很多复杂的领域,比如数据与算法需要分析不同存根码的时间复杂度,0/1背包和分数背包问题的白板算法,操作系统需要分析虚拟内存、页面错误、缓存和内存管理算法等,如下图所示:

打开网易新闻 查看更多图片

熬完第一轮面试后,chirag9696进入了第二轮,时间同样是120分钟。

这一次有7个问题,分别是PyCon会议上的演讲问题、大量Python面试问题、系统设计问题、Pub/Sub架构、负载均衡和反向代理问题、HTTP 2 vs HTTP 1.1,以及设计模式测试。

以系统设计问题为例,苹果给出了一个具体情况,要求设计一个速率限制器,这种工具可以限制每个用户的API调用。

而以设计模式测试为例,苹果要求chirag9696解释像WhatsApp这样的聊天软件,使用了怎样的设计模式。

最后一轮面试比较简单,主要是聊聊为什么选择苹果。

chirag9696表示,与微软相似,苹果让不同的团队设计自己的面试问题。另外,他申请的是有2年工作经验的软件开发和工程(SDE)岗位。

不得不说,即便是面向初级软件开发岗位,苹果的面试已经很复杂了,这也说明现在的竞争有多么激烈。