怎么进入BAT的研发部门?
======================================
剑指offer+leetcode+geeksforgeeks+编程之美+算法导论====秒杀BAT算法题
10本专业书+项目(或实习)===专业知识搞定
c++知识(有空的话翻个10来本,面试前3本经典搞个2、3便)===编程语言搞定
操作系统+计算机网络(各看3本书)===面试概念题搞定
就这样了~~~~
======================================
其实我是今年找工作的,BAT都拿到了,但是我很水,从没参加过ACM,不是计算机专业,2年前的暑假还在家具厂拧螺丝、推销Pos机。从13年9月份才正式开始学习c++,linux等,准备面试。我觉得我拿到offer的原因就是书看的多~~~
补充:本科信管专业,学了点java,vb.代码量<500. 研一上一大堆财务管理、成本管理等等课程(管科专业完全不学计算机的课),剩下时间谈恋爱了,期间翻过一点java。研一下,失恋了。。。憋了篇论文,学了点机器学习,uvaoj刷了40~50题,学了点spring,struts之类的。
======================================
然后也贴张图片
看书时要有主次,比如APUE,17~21章直接无视,1~7章了解,7~13章3、4遍,写例子。
看书时要系统,合上书,要背下来书的纲要,打开书,看到标题要能知道标题下讲的内容。
另外我看书第一遍喜欢通览,第二遍深入,第三遍总结。。。
(当然了这样做仅仅能应付面试,不一定能真真切切提高编程水平)
=====================================
还得补充。。。
1 我不是大牛,更不是大神。进了bat的不一定都是牛人,我只是比较好的总结了公司的面试思路而已,有点投机取巧。然后话说回来 bat其实也只能排在 投行 google FB 、微策略,葫芦,网易游戏等之后而已。。。
2 书是盗版的,我承认。。。。
3 如果时间充足还是多敲代码,多做项目比较好,这样才能真正的提高编程水平。貌似我的回答起了很大的误导作用。。。。。。。怀疑是不是应该删除了。。。。。
另外我其实有些书也是偷懒看的,比如算法导论van emde boas树忽略(因为面试不可能考),红黑树只看旋转过程,不看代码(因为面试不可能考),然后什么NP难,现行规划等等直接无视(因为不可能考)。。。但是对于重点章节会一遍、一遍的重复看。
熟悉链表、堆栈、树、图等基本的数据结构,排序、动态规划、搜索等基本算法。
然后就是诚恳的态度,我说自己可以7*24小时工作,后来我基本也做到了,4月份的时候除了开头三天什么节日,之后连续工作了一个月,一天未休。
发现很多朋友纠结的点都在看这么多书有用没用,这个其实见仁见智了。看书只是一个辅助思考的过程,你如果能做到不看书的时候也能思考,网上搜个问题不是说从stackoverflow或者csdn这些地方生搬过来答案而是能形成自己的思路,业务上的技术上的大家找你你都有答案或者都知道找谁能拿到解决方案,那不看书也罢,看书只是让你形成这些思路更容易一些而已。
比如说之前我在鹅厂实习时候的老大,他就不经常看书,而且还不建议我看书,看书与否根本不影响他3年从应届生直升T3.3。
再比如说现在的工作室,server主程client主程甚至制作人都喜欢看书,《游戏编程精粹》这系列搞端游的肯定都不陌生,基本人手一套参阅。
看到首赞答案的更新,顺便最近知乎上也正流行正版盗版的话题,我也ps一下,还在学校的朋友一定要买正版书,呃当然有工资的是千万千万要买正版书,当当amazon京东基本每个月轮着来打折或者满减,微博上图灵啊博视啊也经常搞送书活动,弄几本正版书看看好处真是比看盗版书太大了。
一本正版书比盗版书普遍贵50到100,100本就是不到一万。奖学金什么的就不说了,程序员一毕业一个月的工资有什么可心疼的?一万块买来的书认真看完的话给你带来的升值何止百倍千倍。
还有最直观的一点就是,你说摆那一本15块的盗版算法导论,和一本一百块钱的算法导论,你每天是不是觉得翻前者特没意思特没成就感?而后者你就会觉得都花了这么多钱买了总得让他物有所值,看起来也会更认真。
pps,我贴的图里的书全是正版的。
/* update*/
找工作就像相亲,你牛逼了,BAT并不一定给你发offer,反之,即使你不牛逼,BAT的offer也有可能是非常容易的事情。
BAT每年分别都能发出近千个校招offer,如果题主要听这么多人的意见其实也挺难做决定的,毕竟拿到BAT其中一家offer的给他换个时间换个地点换个面试官就不靠谱了,拿到两家的建议也许可以稍微听一听,拿到三家的就可以认真揣摩一下,毕竟能拿到三家offer至少说明是有点原因的。
我来给题主点有实际操作性的答案吧。因为去年只参加了AT的校招,狼厂的跟我厂的笔试冲突了就没去,主要基于对AT的了解谈谈拿BAT校招offer这回事。
首先,简历这东西题主有一个985硕的学历,面对BAT的简历机筛,基本是不用担心的。
然后通说下笔试,网上找点笔试题,每家的笔试能做个40分就能进面试,刷题这种事情题主这样的考研党不陌生吧?做一两套卷子拿不到40分,不管你信不信,我反正不信。
面试。这个是大头所以我就分阿里和腾讯的来讲一讲我的分析好了。
阿里
阿里针对大部分校招的普通人来说,一面(我目测)只会放出M1级别的,对应到P6,问你点基础的CS知识撑死了,二面可能是M2级别的也就是P7、P8的样子(这部分对职级的描述只是我大概的一个印象,毕竟最后弃掉了阿里的offer没去研究过,考究党请放过我),运气好的遇到跟你谈谈人生谈谈职业规划什么的,运气不好的遇到那种下面带几个team还成天看技术blog的就问你点比较新鲜的知识或者是比较基础但是冷门的那种知识,所以平时没事看点跨领域的博客、看点经典名著防防身还是很必要的,经历了一整天枯燥无味的面试突然碰到一个眼前一亮的绝对是一个加分项。
腾讯
腾讯的话也是类似的道理,校招一面放出的是各个有headcount的leader,T3.1到T3.3不等,几个一面面试官对应一个二面面试官,后者是前面那几个的老大。像鹅厂这样的公司很操蛋的是:
- 业务领域跨的特别广。电商、SNS、普通的C/S软件、游戏、各种App。
- 一面面试官直接对面试者负责。换句话说,通过你就意味着他要直接当你老大。
- 一面完全是随便分的,你投的感兴趣事业群是互娱,但是分到的可能是SNG的某款社交产品的程序组老大面你,所以你的面试官不一定对得上的你background。
当然,这里有一点tips:
- 如果你的笔试成绩让面试官觉得有点意思,比如说我们去年的时候实习招聘,满分100,我写了75+,我投的互娱,结果还真被分到了SNG的一个程序面我,我就直接向他申请,他把笔试成绩往群里一贴,就被转到互娱那里去了。
- 如果你的简历够牛逼,比如说ACM world final(随口一说而已,大神们看不上BAT我懂的),比如说本科手写tokenizer和grammar analyzer,相信阿里的P6校招offer、鹅厂那只闻其声不见其形的special也是随手那么一收吧。
回到题主最关注的问题——「在一年的时间中,我应该做哪些准备,才拥有进入BAT研发部门的资格?」。
- 多阅读
- 多coding
- 多思考
优秀程序员的博客有哪些?
重点推荐下云风的、淘宝核心系统的、轮子哥的 @vczh、陈皓的,至于老外的因为我关注的游戏行业的比较多就不在这里做推荐了,想找到自己的focus领域的优秀老外博客或者社区还是比较容易的一件事。
多coding。这个不多说了,码农每天花10几个小时写代码不是啥难事吧?最大的难事可能是琢磨琢磨怎么保护腰和颈椎。当然,多coding包括了多实习,最好是实BAT的习。至于leetcode、topcoder、各种OJ什么的,题主如果只瞄着BAT,那大可不必浪费时间,但是如果打算拿硅谷的offer或者北京那一票海龟回来办的公司,leetcode全刷一遍还是必须的。
多思考。只写代码是不够的,至于该怎么思考、该思考什么,这个属于多思考的一个子问题之一,请题主自行解决。
最后,贴书单能骗赞吗?教练我也来!!!
还有三本书没照上,《STL源码剖析》、《APUE》、《黑客与画家》,这几本书看过的面试过的都懂的。顺便还混进去几本比较奇怪的书无视掉就好了。
额外ps一句,题主的一年时间可能看不了这么多书,对其中几本比较「速成」的做个重点推荐:
《深入理解计算机系统》,简直神书不解释了,面试完你就会后悔没多看一遍。
《TCP/IP详解卷1》,有了这本书码码再也不用担心我被十一五教材——没错我说的就是坑爹的计算机网络残害幼小心灵了。
《算法导论》,BAT的面试官真的没时间成天刷OJ成天给你来高难度题干掉你,他们出的最难的你都能在算法导论课后题里找到原型。
《深度探索C++对象模型》,面C++岗说不出虚表实现机制?那基本就是面试成绩打对折的节奏,带上这本书防身吧。
《编程之美》,帮你应付掉大部分逼格还不太够的公司。
最后的惯例:
渣渣小本一枚,13年AToffer,最后从了猪厂。