来自一个十年 Java开发者百度、阿里、腾讯的面试心经
前言
我觉得有一个能够找一份大厂的 offer的想法,这是很正常的,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 / 小公司,如果说能够在这样的公司锻炼几年,相信对自己能力的提升还是非常大的。不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的。
因为大厂面试一般都有专业团队负责,某个知识点你到底是掌握了还是单纯背下来,面试官一问就可以看出来(PS:真正到面试特别是你觉得准备面试的时间不够的时候,你可以多挑一些面试常问的问题来看,注意理解,一定不要死记硬背)。一定不要过分寄希望于各种面经,试着去提高自己的综合能力。
“ 80% 的 offer 掌握在 20% 的人手 ” 中这句话也不是不无道理的。决定你面试能否成功的因素中实力固然占有很大一部分比例,但是如果你的心态或者说运气不好的话,依然无法拿到满意的 offer。运气暂且不谈,就拿心态来说,千万不要因为面试失败而气馁或者说怀疑自己的能力,面试失败之后多总结一下失败的原因,后面你就会发现自己会越来越强大。
从大厂实际招聘要求来看到底青睐什么样的人?
首先要明确的一点是:985/211 的学历的确会为你加分很多。
另外,再强调的一点是不要天天把自己的学校是双非学校这个接口当做你无法进入大厂的原因。只要你的能力足够,大厂的大门就会为你打开。也有着很多双非学校甚至是三本的同学就拿到像阿里、腾讯这样的大公司的 offer。
从阿里、腾讯等大厂招聘官网对于 Java 后端方向/后端方向的要求,我们大概可以总结看出大厂对招聘者的能力要求。
下面以阿里巴巴为例子,看看大厂的实际要求
在面试 Java 工程师的时候,下面几点也提升你的个人竞争力:
熟悉开源框架的底层,阅读源码;
大型数据库系统经验;
熟悉分布式,缓存,消息中间件;
良好的表达和沟通能力, 善于学习, 关注前沿。
“ 一定要有一门自己的特长,不管是技术还好还是其他能力 ” 。我觉得这句话真的非常有道理,大家可以仔细思考一下。在这里再强调一点:公司不需要你什么都会,但是在某一方面你一定要有过于常人的优点。换言之就是我们不需要去掌握每一门技术(你也没精力去掌握这么多技术),而是需要去深入研究某一门技术,对于其他技术我们可以简单了解一下。
我觉得比起你对每一门技术都是浅尝辄止,深入吃透某一门技术对你的个人竞争力提升才更有帮助。
如何获取大厂面试机会?
在讲如何获取大厂面试机会之前,先来对比一下两个非常常见的概念——春招和秋招。
招聘人数:秋招多于春招 ;
招聘时间: 秋招一般 7 月左右开始,大概一直持续到 10 月底。但是大厂(如 BAT)都会早开始早结束,所以一定要把握好时间。春招最佳时间为 3 月,次佳时间为 4 月,进入 5 月基本就不会再有春招了(金三银四)。
应聘难度:秋招略大于春招;
招聘公司:秋招数量多,而春招数量较少,一般为秋招的补充。
综上,一般来说,秋招的含金量明显是高于春招的。
下面我就说一下我自己知道的一些方法,不过应该也涵盖了大部分获取面试机会的方法。
关注大厂官网,随时投递简历(走流程的网申);
找到师兄师姐或者认识的前公司的技术牛人,帮忙内推(能够让你避开网申简历筛选,笔试筛选,还是挺不错的,不过也还是需要你的简历够棒);
求职类网站投递简历(不是太推荐)。
除了这些方法,我也遇到过这样的经历:有些大公司的一些部门可能暂时没招够人,然后如果你的亲戚或者朋友刚好在这个公司,而你正好又在寻求 offer,那么面试机会基本上是有了,而且这种面试的难度好像一般还普遍比其他正规面试低很多。
想要取得一份自己满意的 offer,前提是自己要有过硬的实力作为资本,下面就如何提高个人硬实力给大家提几点建议!
如何提高个人硬实力及大厂 Java 后端面试主要问些什么??
我在这里所说的个人硬实力更多的指的是个人的专业能力,比如构建高质量网站的能力或者是对专业知识的掌握程度。
我觉得不论是对于新手还是老手,想要提高个人硬实力最重要的就是不断深入学习并且将理论实践,最好可以将理论在具体项目中实践一下。
想要提高个人硬实力,那么学习一门新技术的方法一定是至关重要了。下面分享一下《 Java 工程师修炼之道》一书对于学习一门新技术的一些要点(在这以图片的方式整理了出来,更加方便阅读):
一定要有自己的技术优势,可能你懂得不是最多的,但是别人不会的你却会,那么你就是厉害的!然而如何准备大厂面试?我觉得最关键的一点之一就是搞清楚大厂面试主要在问些什么。下面我将分解每一个知识点,给大家简单说一下大厂面试主要会问些什么?
首先你要明确的是面试官所问的内容一定和你简历所写的东西是紧密联系的,一般你没有记录简历上的技能,面试管很少会去提问。
大厂面试大体上包括下面几方面知识类型:
Java 基础、多线程、IO 与 NIO、虚拟机、设计模式
面试官在多线程这一部分很可能会问你有没有在项目中实际使用多线程的经历。所以,如果你在你的项目中有实际使用 Java 多线程的经历 的话,会为你加分不少哦!
那么,究竟要学什么?
七大Java架构专题
你可以不学底层,你可以继续靠 CRUD 就能月入过万,但寒冬来临时,如果被裁了,那就不能怨社会了。如今都在谈论寒冬有多可怕,但只有系统化思维的人才能看到原因,也只有这样的人,将来的路才会越走越宽。寒冬不可怕,在寒冬里没有生存能力,才是最可怕的。
以上技术知识点你想学吗?转发此文并入圈:830478757 免费获取Java架构师思维导图,每晚还能免费听阿里技术大牛直播授课七大技术专题,并且获取往期录播!