文章目录

百度的面试拉的战线是最长的,比阿里还长。虽然只有两次技术面,但却相隔了一个多月。面试官很和蔼,有一种聊天的感觉,轻松愉悦的氛围,毫无严肃与紧张。

两次面试都是自然语言处理部,就是百度翻译。方向是iOS开发。

因为我做过两个基于SpriteKit引擎的小游戏,所以这两次面试都问了我关于项目方面的问题。一面感觉问的知识都是一些项目经验的问题,包括项目架构,第三方库的使用等等。感觉答得还可以,大部分都是我所能掌握的知识。但我的项目经验还是不如正式员工那么多,毕竟还是个学生。因为在面试之前就被问到是否能立刻来实习,因为比较缺人,而我不能翘课去,只能拒绝了。面试的时候也被问到两次实习的时间,还问了是否在上课。最后的反馈说我水平可以,但是时间不行。

后来我想继续面试其他的部门,得知简历被锁,我不懂被锁是什么意思,以为没戏了。过了一个多月后HR同学来了电话,预约面试时间。我惊奇的发现这次还是自然语言处理部,于是开始第二次面试。

因为最近在弄HardChoice这个Demo,所以在问到项目的时候自然而然的谈起了这个项目。代码量虽然不多,但麻雀虽小五脏俱全,用到了iCloud、CoreData、self-sizing、WatchKit等技术,还是Swift开发的。面试官问的关于iCloud和沙盒方面的一些问题,还有一些项目经验。因为我用到了CoreFoundation库,底层都是C的API,所以在Toll-Free Bridging这块问了好多,我也是分别从OC和Swift两方面全面解答。知识点也问了一些,比如如何串行有序的执行网络请求、NSString不同初始化方式的区别、OC中的NULL、nil和Nil的区别、GCD实现单例模式。也给定了一些实际场景给出技术解决方案,尤其是在界面方面的一些小技巧,比如Table下拉表的实现、Button内嵌image和text的布局问题、cell自动调整高度等。一面问过用什么管理第三方库,二面依然问了,感觉这个问题被问好多次。关于第三方库的使用还问到为何要去用?优点是什么?发现第三方库写的有bug该如何处理?后来还问了一个很简单的SQL语法的问题。好多问题都记不清了,感觉都是说到哪就问到哪,很随性也很飘逸哈哈,比较轻松。跟一面一样的是,面试的时候也被问到两次实习的时间,还问了是否在上课,囧。

本以为第二次面同样的部门依然会因为时间问题被拒,没想到第二天HR打电话发offer,excited!虽然已经有了支付宝和腾讯TST的offer,已经不担心实习的问题了,但能凑齐BAT也算是人生圆满了。

文章目录