Java程序员拿阿里、京东、腾讯的offer指南

339 阅读7分钟
原文链接: www.toutiao.com

我们来看下阿里巴巴Java工程师面经:

0、自我介绍

1、说说你做过的项目,遇到过哪些问题,后来怎么解决的?

2、string中加号连接符是怎么执行的?

3、谈一谈对spring的理解

4、spring实现原理

5、cookie和session区别是什么?

6、Java虚拟机的结构是怎样的?

7、Arraylist和linklist有什么区别?

8、实现多线程有哪些方式?

9、说一说对于JVM的结构你的理解

10、阐述一下Mysql事务的四个特性

我开始投递简历(世界那么大,我想去外面的世界看看)。这次看机会与往常不同,我决定好好准备一番,然后开始投递简历,主要渠道是 “X钩”,辅助渠道是猎头。

这次面试我将所有公司分为三类:

  • A类: BAT公司,非常靠谱,各项待遇都是很优厚的

  • B类:一些知名的互联网公司(基本都在C轮以上),基本很靠谱,该有的都少不了

  • C类:就是那些正在招聘的公司,没啥名气,虽然钱多但是事也多。靠不靠谱真还不知道,只能碰运气

面试前的准备:

基础知识不可少

以前我基本都是直接去面试,总以为java工作好几年了,出去面试基本没啥问题,因此带着那份傲娇的自信 总是碰壁,尤其遇到很多基础性的问题,一时真不知道怎么回答?还有一些问题之前都记得很准确,但是在面试官问的时候,就一个大写的懵逼表情。

在我出去面试之前,我已经把 《大话数据结构》 基本看完了(想想我之前的生活,每天早上七点多起床,然后看几页,洗漱完就去公司)。因为有了以前的教训,而且这次我很认真的准备了好久,打算把Java基础巩固下,但是手头没啥合适的书籍和资料。

还好民间有很多厉害的开发者,他们不以盈利为目的,只为完成某种需求,开发一款 app,然后发布到应用市场,给需要的人。于是我就找到一个 “Java面试训练” 的App,下载量还可以,就安装到手机上,开启刷题模式,应该刷了10来天吧(都是在上班,下班时间看一点,虽然时间比较零散,但是这样记得最深刻)。

在之后的面试中,基本很少遇见一些奇葩的java基础。

刚踏入架构师之路的经历

这次我给自己的规划是做一个架构师,但是我深知架构师可不是闹着玩的,必须要有很强的一面,因此我在简历里面写的只是“架构师方向”。我在K 公司 做得是架构师方向,因此我觉得有必要朝着这个方向发力,虽然现在不是很厉害,但是坚持一两年后,即使不是非常厉害,但是也距离非常厉害很近(这里使用了《孙子兵法》的一句:“求其上,得其中;求其中,得其下,求其下,必败。” )。

这个想法来源于在K 公司我第一任leader曾经跟我说过的话:『对于新东西,如果你觉得掌握了,但是不应用到项目里面来,是没有什么意义的,时间长了还是会忘记的。』我很庆幸我有一个好老大(我是属于双领导型的,K 公司 A项目的负责人是我的leader,但是我的直接汇报对象是 K 公司的副技术总监,下文就成为老大),用他的话来说就是经常踢着我的屁股走。当我在网上了解到很多实用的新技术时,跟他随意吐露一句话,他就能非常用心的倾听我的想法,并鼓励我将这些东西带入到项目中来。从那以后我就开始看很多新技术,感觉合适的会引进到我们的项目中。从之后的证明中来看,是非常有价值的。

曾经我的情况是这样的:当我刚进入K 公司后,打杂一个多月,就被关到了 小黑屋(呜呜呜,好可怕的小黑屋,996的制度)。然后才开始正常的架构师之路,第一步就是统一开发环境,在我来公司后,我发现公司的同事用的开发工具种类真是繁多啊,神马 Eclipse、IntelliJ IDEA、Android Studio、Windows、Ubuntu、Mac。刚进公司的时候我曾经用鄙夷的眼神看过那些 Eclipse 的童鞋,真是无力吐槽了。于是我给 老大说:『咱们的开发环境最好统一起来,现在各式各样的工具,弄个东西真费劲。』于是老大二话不说,就在群里跟大家吼,都务必切换到 Windows,由我来监督并执行。于是我拿着鸡毛当令箭,给大伙把地址什么的都找好,发到群里去,让他们自己下载(后期我们就搭建了 ftp服务器将这些常用的工具都放在里面,省的再去下载了)。

下面是我收藏的一个系统化学习的课程体系

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

每晚会有免费的课程直播,讲课的老师都是在各大互联网公司工作至少十年的技术专家,不但会给我们讲解上面所提到的,还会教我们最重要的学习思路。下面是我截取的部分课程表。

Java程序员拿阿里、京东、腾讯的offer指南

Java程序员拿阿里、京东、腾讯的offer指南

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽。切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的轨迹),还是钱给少了,不受重视。

准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说)。

今天给大家分享下chenssy在这次跳槽中整理的Java面试大纲,其中大部分都是面试过程中的面试题,可以对照这查漏补缺,当然了,这里所列的肯定不可能覆盖全部方式。

项目介绍

大部分情况,这是一场面试的开门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人经常抱怨自己每天在堆业务,但没有成长。事实上,很多情况下确实在堆业务,但并不是没有成长的。并非做中间件或者技术架构才是成长,例如我们的需求分析能力,沟通协作能力,产品思维能力,抽象建模能力等都是一个非常重要的硬实力。

如果你想学好JAVA这门技术,也想在IT行业拿高薪,可以参加我们的训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,q群号为:230419550

注:加群要求

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!