赞
踩
最近几天,有几个朋友想要投递大厂,于是找我帮忙 Review 简历。所以我顺便问了下他们,为什么想要投递大厂,反馈的大概出发点是:
追求高薪资
相对小厂而言,大厂的薪资水平会更高不少。具体数字区间就不细说了,但是大厂整体会大方很多,只要你能够通过面试,30%甚至更高的涨薪都有机会拿到,更何况,大厂的年终奖也不会被“无良”老板随意克扣。
追求稳定
去年整体大环境不行,很多公司裁员,尤其是不太盈利的中小厂,比如某团、某滴。而对于大厂而言,裁员的概率会小很多,毕竟裁员带来的收益远比不上因此带来的负面效应和股价下跌。
追求职业发展
近两年很多发展快的企业以 double 薪资去BAT挖人,比如头条、拼多多之类的。因此,从长远的职业发展角度考虑,BAT 的工作背景就相当于清北毕业的学生一样抢手。有了 BAT 的背景,未来无论跳槽还是晋升、成为技术经理或者架构师,自己都具有足够的主动性。
正好我既参与过快速增长的创业型公司,也在阿里经历过集团式的规范研发流程。因此今天和读者分享下我对于大厂的看法。
大厂履历意味着什么?
因为简历上有大厂工作经历的话,面试的机会会大量的提升。
毕业第二年的时候我曾经做过一个实验。
当时我并没有大厂的工作经历,面试一周多以后,尝试过编造一份简历,名字用假的,把实习经历换成某大厂的实习经历,手机号写成我的另外一个手机号。
后面一星期内,百度、阿里、美团、58、搜狐、优酷、小米都开始给我打电话……
有些人一提到大厂,就会立即说去里面只能当个螺丝钉,每天重复一样的工作。其实这样的想法是很片面的。
传统的大厂一般是层级森严的,要做的事情也高度重复化、机械化。那是因为那些领域已经成型,缺乏创新的动力,所以很多人都被迫成为了螺丝钉,只需要保证机器能够运转就够了。
但互联网大厂并非如此,我们身处其中,应当知道互联网技术日新月异。大家都在喊“学不完”,马爸爸们也天天说要创新才能适应时代。在这样一个瞬息万变的行业里,恐怕你想仅仅当个螺丝钉并非易事。
在阿里内部,大家都习惯了拥抱变化。变化意味着业务变化、技术更迭、人员交替。在这么高速变化的环境里,你如果只想做个螺丝钉,每天重复一样的机械工作,那要么是你缺乏进取心,要么是你甘心做螺丝钉。当然,螺丝钉往往也拿不到好的绩效。
当然,也有人说了,“我所谓的螺丝钉并非做重复机械的工作,而是说只能接触到一小块业务或技术点,无法接触到系统的全貌”。
这个确实是事实,毕竟大厂有非常多的研发人员。所以一般会将一个复杂的系统拆散成多个零部件,每个小组或每个人做其中一块。
但我想说的是,只接触其中一块领域,你就不能成长了吗?
大厂和小厂的最大区别是什么?是用户量级。
一般的小厂是十几万或几十万的 DAU,而大厂往往是上千万甚至上亿的 DAU,同样一段代码,在小厂里能良好运行,但到了大厂,就会发现里面存在非常多问题。
大厂求精通,求深度;小厂求速度,求广度。
如果你在大厂,就应该尽可能深入去研究你参与的模块,多想想如何把你所做的模块优化到极致,在巨大的用户量面前依然能够稳定运行。相信我,这样的一份经验可以成为未来无数次面试的一大亮点。
确实,对于新技术的态度这方面,小厂往往比大厂更加开发。毕竟船小好掉头。
但是就算你接触过了这么多种技术,最终静下心来想想,你学到的又有多少呢?除了花里胡哨的“新潮名词”,你真正收获了什么呢?这样的技术面真的对技术生涯有帮助吗?我并不认为。
我想说的绝不是不要学习新技术。
作为技术人员,保持对新技术的敏感和敬畏是非常好的,但绝对不要盲目崇拜、跟风新技术,觉得新的就一定是好的。这只会让你陷入漩涡,一遍喊着学不动了,一遍身体不知主的跟着风跑。
那么,如何才能进大厂?
在BAT这种大厂里,只要肯吃苦,技术和工资进步的速度会超出你想象,我在上海,按当前价格算,一般在大厂里干个三四年,好歹房子的首付应该能有,而且这种房子还不是太偏远太小的。
进大厂确实需要一定的实力,但如果单单技术好,没有其它的技巧,估计确实也有些难度。不过话说来,哪怕是二本出身,哪怕技术一般,只要肯上心加方法得当,工作后3年进大厂应该不是难事。在本文里,就将针对起点一般技术一般的同学,给出具体的进大厂操作指南。
大厂里也有只有2,3年开发经验的初级开发,而且其中有些同学的学校可能也就是个二本,或许他们进大厂前,资历技术和你也差不多。甚至可以这样说,只要找到渠道去面试,外加适当的准备技巧,进大厂其实比进一些面试要求比较苛刻的小公司更容易。
就拿一些步骤来说吧,简历方面,只要有适当的组件化经验就至少能得到面试机会,面试时,当然如果光会增删改查当然不行,不过面试问到的题目以及提问的方式,网上多了去了,本文也会涉及,关键第一要适当看Android技术,第二要结合项目说,这对初级开发而言,也不难。甚至当有些项目比较缺人时,面试的标准更会降低。
我给大家量化一下进大厂的需要花费的努力和时间吧。第一大概每天用1个小时看资料运行代码准备说辞,每周大概累计用10个小时,经过2个月其实该看得就差不多了,然后再用2个月用几个小公司面试练手,就可以去大厂投简历了。如果一切顺利什么都好说,万一不成,换个项目组,或者多面几家大厂,面个3,4次,应该也能行了。用时间努力应该不是问题,努力的方向可能未必大家都知道,具体的后文将详细展开。
首先要让你的简历过筛选,否则没面试机会。能过筛选的简历一般长什么样?
①硕士,一本大学,1,2年经验,而且最近项目里包含分布式组件等值钱技术。
②如果大学一般, 本科学历,估计要运气,看不同的项目组,可能会需要再多1年左右的项目经验,如果项目组着急要,或公司招聘需求高时,其实不看学校。
③这点很重要,别太频繁跳槽,最好最近1年没跳槽经历,而且最近在职,不是长时间处于离职状态。
简历上项目经验这块可以自己挖掘,但如果有不利的因素,尽量用时间冲淡。
①学校一般,找个有高并发背景的项目,体现在简历上,最多两年就够了。
②最近跳槽太频繁,找个公司窝个一年左右,最好是最近一年半没跳槽经历。如果有超过1个月的离职状态,也可以通过连续上班个1,2年来淡化。
数据结构是大厂面试必问的点,网上这些题目太多了,而且答案都可以准备。不过如果要进大厂,最好能触类旁通。
总之,数据结构的问题是必问了,在这个环节,很多初级开发候选人甚至连底层代码层次的问题都回答不好,而你经过准备,不仅能举一反三地展示你对底层代码的理解,更能借机展示锁和并发等技术点,首先就能给面试官留下个好印象。至于笔试写算法,这种网上题目更多了, 事先更可以准备。
哪怕去面大厂的高级开发,准备原理底层这块其实也不是问题,因为很多人在之前其实基本没相关项目经验,其实都是在背题,你只要在面试时,让面试官感觉略微比别人多些项目经验即可,下面给些准备的方法。
①先看几套面试题,这些面试题其实都大同小异,都会比较深地涉及到底层源码和实践要点,先把理论题背熟。这些点虽然不少,但其实都是体力活,背书么,这种事应该没难度。该背哪些素材呢?我之前看到的吊打面试官系列就不错。
②在背熟以后,再给一些技术找些项目的背景,这些技术未必要深,但一定要结合项目的业务。
理想情况下,你面试的结果和技能无关,和项目经验的长短也无关,只和你简历上的项目和技术介绍有关,和你事先的准备亮点说辞有关。
但如果单纯准备不去实践,任何面试官都能摸清你的底细,这点别有任何幻想。因为一方面你准备的点未必全,第二你准备的项目说辞未必很好地打过草稿,中间可能会有漏洞,这时你就需要找些小公司来尝试了。
这怎么做:准备按大厂面试的标准准备,然后到处去投小公司的简历,记住先别着急找大公司,尽量别在大公司里留下面试不成的记录,最好一周面个两家。
这个时候你就能信心十足地去挑战大厂了,这个时候如何找进大厂的渠道呢?
①在招聘网上等渠道,多接触几个猎头,明和他们说你要进大厂,比如bat或者公司名称。不是每个时间段大厂都有招聘名额,不要紧就等,而且等的时间不会太长,最多2个月。
②找内推,比如大家在网上看到有面试成功的文章,就联系下。
这里推荐是找猎头,因为猎头方便打探你面试结果,而且面试成了更能帮你最大程度争取工资,同时万一没面成,你可以和猎头说,你想面这家公司的其它项目岗位。如果你自己投简历,未必能得到这样的遍历。
当你充分准备,并准备好的说辞经过小公司的检验后,一般问题就不大了,万一再失败,或者找该公司其它岗位,或者找其它大厂,最多面个3次应该也就成了。
还是这句话,其实进大厂,得到的也就是个能通过加班从而快速提升技能和收入的机会,而且大厂每年的招聘名额都不少,进大厂不难。网上我就见过不少毕业3年内的同学进大厂,我身边的,我见过硕士就1年经验进拼多多,本科2年经验进阿里,至于3到5年经验进大厂的人,我都记不过来了。
进大厂除了能提升技能外,收益也比较可观,比如工作3年,能有20k*16个月的收入,找个其它行业,这些资历能有对应收入的,并不多没,而且进大厂后,做个3,4年进可以继续升级到架构师,达到年入五六十万的收益(这还算平均水平),退可以像我这样进个外企,工资外加平时出书出视频,在上海也不至于饿死。
可能不少同学现在看大厂需要仰视,但其实做的准备也就这么回事,时间用够,多看视频教程,少干无益的消遣,估计顶了天了,2年努力真的足够了,1年洗白简历,1年准备,这还算多了。但如果固步自封,或者虽然努力但始终不敢迈出面试的步骤,那么可能真只能在小公司里随遇而安了。
面对浩瀚的题海又该从哪里刷起?如何刷题才能不浪费时间?
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我针对Android程序员,我这边给大家整理了一套学习宝典!
- Android学习路线图
首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!
- 模块化学习资源
接下来是每个模块我整理出来的文档学习资料,帮助大家更细致化的学习。
《Android汇总复习资料—Java》
《Android汇总复习资料—Android》
《Android汇总复习资料—Android扩展》
《Android汇总复习资料—Kotlin》
《Android汇总复习资料—Flutter》
《Android汇总复习资料—算法》
除了上面的学习路线,还可以额外的配合以下方式学习,效果翻倍~
①看视频进行系统学习
前几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。
另外,我自己也珍藏了好几套视频,有需要的我也可以分享给你。
②读源码,看实战笔记,学习大神思路
“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit源码、OkHttp 源码等等。
③面试前夕,刷题冲刺
面试的前一周时间内,就可以开始刷题冲刺了。请记住,刷题的时候,技术的优先,算法的看些基本的,比如排序等即可,而智力题,除非是校招,否则一般不怎么会问。
关于面试刷题,我个人也准备了一套系统的面试题,帮助你举一反三:
④2020大厂面试高频知识点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。