Contents

阿里的实习招聘内退贴霸占了河畔就业区,实在闲得发慌就随便尝试投了下简历。投了淘点点事业部的 iOS 开发实习岗。过了周末就接到从杭州打过来的面试电话,不过是 Android 部门打过来的。解释一番后说把我交给 iOS 的同事,过了几天才接到电话。

##第一次面试(技术面)
当时还在上量子力学,冲到教室外的走廊上接电话。电话那头是个比较年轻的男性声音,问了些实习经历和学习状况。

Git 中 rebase 和 merge 的区别 ?

第一个问题我就懵了,我并没有用过 rebase 的模式,似乎在平常见过它。

操作系统中的锁是怎么回事 ?

我也不知道,我并未修过操作系统这门课,也未看过相应的书籍。

iOS 中的扩展是怎么回事 ?

虽然自己并未亲手写过扩展类,但是也接触过。拿 NSString 做了个例子算是解释了下了。

聊天中我提到了 block ,他随即问我

block 中的循环引用怎么回事 ?

刚好之前在写知春的时候遇到过,还好是别人给我指点出来的(在 segmentfault 上)。避免在 block 中使用 self 就是了,即使要用加个 __weak 的修饰符。

还有其他一些问题例如 iOS 中的多线程,总得说来面试的还算 OK,等下一轮面试。

##第二次面试(技术面)
另外一个人给我打的电话,让我说说做过的项目。还好有自己独立的项目,还算有的聊。
我啪啪啪讲完,就问了我些问题。

runloop 是什么?

其实我并未完全知晓这个问题的答案,但是冥冥中我知道这个玩意儿和 Android 中的 Looper 是一个东西。刚好以前看过 Looper 的相关知识,按照这个来解释了一通。听面试官的口气是符合他预期的答案。

再一次问了 block 中的循环引用问题!!!

二面我感觉很不错,他也说了等后面的 HR 面。

##第三次面试(HR 面)
开始说 7:40 进行视频面试,8 点 20 才发起的视频聊天。(用的 IM 工具是腾讯 QQ)
很不巧,看样子是一个 40+ 岁的大叔,应该是部门 leader。
谈了学习 iOS 的经历,谈了上两次面试环节故事。
问了些人生规划、给了些人生建议。

最关键的问题我认为我答错了

为什么想来阿里实习 ?

我回答的是我要一个更高的平台。

正确答案是:

我毕业要进阿里巴巴!

最后跪在三面,当然啦。他要我 3.22 号之前就能去杭州。我说不能,只能暑假去,而且暑假不足两个月 :(

Contents