想起去年这个时候,我还在努力地去争取阿里巴巴的实习offer,转眼间已经到了快毕业的时间了,时间真快,真是一把杀猪刀。经历过去年阿里“拥抱变化”之后,怀着悲伤的心情,打着“我想去外面看看”的心态面试着一家又一家的企业。最终拿了很多offer,包括百度、腾讯,还有曾经抛弃过我的阿里。


BAT,在国内,几乎是每个计算机学子的梦想之地,而如何拿到它们的offer,则是众多学子想知道的。而我想从自己的经历出发,说一些自己的经验,让能看到这篇文章的同学多一些信心,也多一分从容,也就达到写这篇文章的作用了。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻
,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!




我从下面几个角度来剖析很多同学关心的问题:

1.该学习哪些基础知识?

2.面试前该怎么临时抱佛脚?

3.我已经大三了,是不是来不及在秋招前学习了?

4.如何能拿到Special Offer

5.浅谈我面试中的经历

该学习哪些基础知识?

我推荐iOS开发者必学的几本书:

Operating System Concepts 9th Edition

C++ Primer Plus

Computer Networking A Top-Down Approach 5th Edition

ADTs Data Structures and Problem Solving with C++




而对于iOS开发而言,你需要学习什么呢?

ObjC是一定要学的,而Swift是可选的。在大公司里,还是以ObjC作为主要的开发语言,所以你懂得。

UIkit里面常用的控件你要知道怎么用,比如tableView,label,button等等。

NSURLConnection&&NSURLSession

GCD&&NSOperation相关的类

内存管理

runloop

runtime

ARC&&MRC

等等

面试前该怎么临时抱佛脚?

首先要有自信,相信自己是很出色的,不要胆怯。

既然你是抱着拿BAT的心态去的,那就去刷往年的BAT笔试题吧。

然后多去网上看看BAT的面经,我觉得这就足够了,记住,保持良好的心态。

我已经大三了,是不是来不及在秋招前学习了?

来得及,来得及,来得及,重要的事讲三遍。


算算时间,现在刚刚4月初,9月秋招,中途5个月,你每天像高考一样花个7、8个小时去系统性地学习第一点提到的东西,我觉得时间是完全够的。只要你有恒心,结果肯定会是好的。如果时间真的来不及,对于基础知识可以先简单了解下,重点学习iOS相关知识点。

如何能拿到Special Offer

往往到了一定水平之后,许多公司会向你伸出他们的橄榄枝,而这也是你拿Special Offer的资本。

我认为最重要的是要有全栈的视角并且在某一领域具有足够的深度。

这句话该怎么理解呢?

试想一下,任何一家公司,凭什么给你相对于其他应届生更高的价格?

你所需要达到的是成为满足这家公司需要的人才,而这往往是社招的目的。那么问题就简单了,你要达到工作好几年的开发者的水平,这样才能拿到Special Offer。

以我自己的经历来说,提早出去实习,获得更多的工作经验,则是最好的办法。

因为在工作中你才有机会去学习除iOS之外的东西,并且只有实践才能让你在iOS道路上踩过坑,获取难能可贵的经验。

举个很简单的例子,一个二面的面试官,他也许是一个业务线的老板,他不关心你是安卓还是iOS,当他问你,你如何实现push?

如果你只回答出你作为iOS开发者所知道的APNS,那么你就只能拿到批发价Offer了。

但是此时你却回答APNS之外,还回答出安卓的push机制,更牵涉到保护push进程,进程复活等等相关内容,试想一下,面试官是不是会露出满意的笑容呢。

如果此时你在回答出服务端对于APNS的处理,拿到苹果的p12,完成非对称加密验证,并说出苹果CA证书原理。你猜面试官是什么样的表情呢?

浅谈我面试中的经历

先谈谈实习面试经历吧,实习面试我只面了阿里巴巴。

笔试


参加线上笔试,前面是一堆考察计算机基础的选择题(读了上面提到的书,肯定没问题的),夹杂一些ObjC语法。大题目的话,就考察怎么优化app,怎么让启动时间变短类似,具体我忘了,时间有点久了。

一面

一面问了tableview,cell的复用,懒加载,GCD&&NSOperation,autolayout等等,基本上都是很基础的iOS知识。

二面

没什么可说的,就是问你做过的项目,问问你遇到的坑,怎么解决。

三面

HR面就比较随便了,就聊聊人生。

在谈谈正式秋招面试经历

首先谈谈百度:

一面

我印象很深刻是一个妹子面我的。

iOS响应链

SDWebImage原理

AFNetworking原理

tableview相关

二面

二面就把我面的想哭了。

AutoreleasePool原理,什么时候释放

Runloop是什么,是不是会自动创建,mode,source

Runtime,如何用runtime进行hook,hotpatch就是利用runtime来做的

然后就是HR面了

腾讯:

腾讯是最蛋疼的,我准备了好久的iOS的知识点,结果一个都没问,全是问计算机基础的。

一面

计算机网络五层模型是哪五层

http协议相关

有1000亿个数字,在单机上对它进行排序

二面

手写冒泡排序代码

如何统计一个城市的井盖数,方法越多越好

两个水桶,一个3L,一个5L,然后问能组装成几L的水

技术面结束了

阿里:

前文提到,阿里“拥抱变化”,集团由于人才调整,没有HC,于是我离开了阿里,后来阿里又给我发了Offer。

总结:

其实BAT Offer也没有很难,只要你想拿,很想拿,很想很想拿,那么,它一定会向你伸出橄榄枝的!

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻
,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!




作者:kuailejim

链接:https://www.jianshu.com/p/5be15e10964d
<https://www.jianshu.com/p/5be15e10964d>

文章来源于网络,如有侵权,请联系小编删除。