前言
要说程序员最想要进入的大厂,阿里,腾讯,百度必定是首当其冲,而互联网大厂必定是阿里巴巴首当其冲,今天就来分享一下我面试阿里的一些经历与心得。
不想进大厂的程序员不是好程序员!
“80%的oer掌握在20%的人手中”这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的oer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。
本人也是经历了大半年的准备才拿到了阿里的offer
个人经历
普通专科毕业,12年转行进入软件开发行业。在杭州工作两年,14年来到深圳,从事java开发一晃8年。尝试过2次开发方向的转变,一次是年左右,移动APP的浪潮时期,自学了安卓开发半年,结果还没等转开发方向成功,移动开发的浪潮就逐渐过去,第一次转变尝试就这样胎死腹中,白忙活一场。第二次是~16年,这个时间点正是大数据开发最热门的时期,自学各种大数据框架,无奈受限于学历,并没有找到满意的工作,只能回归java。
盲目的追逐了几次技术浪潮,但是又没有真正对自己的职业生涯有多大的帮助。
总的来说,工作8年,做过一些尝试和努力,但可能没有遇到好的机会或者选择的方向错了,导致至今混得不尽如人意。
人生转折
出于对现状的不满,我决定要努力奋斗了!
因为觉得这样确实是在浪费自己时间,(看着同期的同学都在茁壮成长)与其坐以待毙,不如我自己先出去试试水,去一家能够迅速成长的公司。提完离职申请,我开始有意识看些面试问题,重拾培训时的笔记,背题目,看些基本的知识问题……
人生的路,一步慢,步步慢。如果在一开始就落后的话,只会与那些早有准备的人越离越远。
这段时间看过的书
《Java核心知识》《Java面试宝典》《高并发与多线程》《Java程序性能优化》、《Spring实战》、《Zookeeper》、《高性能MySQL》、《亿级网站架构核心技术》、《可伸缩服务架构》、《Java编程思想》
这些书也只是看了一部分,并没有全部看完,有时会经常带着问题就进入了梦乡,所以这段时期我的进展并没有太大明显。
分享下这段时期面试总结的一些经验
1、面试一定要带简历,这是态度问题,不然容易第一印象就不好。
2、简历上最核心的2点,1是自己掌握的技术栈说明,让面试官清楚知道你掌握技术栈;2是项目中使用了哪些技术栈,体现自己对这些技术栈的实际项目的运用情况。
另外简历不要超过3页。很多早期的项目经验和大篇幅的项目功能介绍,并没有什么意义。
3、准时,实在有突发情况,要提前打电话商量修改面试时间。
4、至少提前几周准备面试,因为java知识体系真的很庞大,不复习下直接面试,就像送人头一样,很容易错失难得的面试机会。
5、java基础一定要掌握好,不然丢分非常严重。之前面试一个高级java,竟然回答不出年轻代的垃圾回收机制,一下子我都不想继续聊下去了。
6、框架的核心特性要熟悉,并对其实现原理有一定的了解。比如:SpringBoot有哪些新的特性?他的核心特性自动化配置的原理了解吗?
7、主流中间件的工作原理和调优有一定的了解。
8、数据库一般也是必问的,索引,锁,事务,sql优化都必须了解。
9、听清楚面试问题再回答,不要答非所问,太过自由发挥。你和面试官聊得越有共鸣,你通过的几率越高。不知道可以直接说不知道,然后再阐述下自己的认知和了解,以探讨的方式让面试官和你互动,这样也能偷师点东西。
10、了解不深的技术栈名词和机制,尽量回避,不然只要你提到,面试官就可能展开深入的问下去。
11、多积累一些技术圈的人脉,很多时候内推进入会容易很多。
12、多积累一些可展示的技术成就和作品,比如参与了某某著名网站或者APP的核心模块开发,在GitHub上开源了什么框架或者参与了什么开源框架的开发,著名博客网站的一些排名,运营某某技术