全中国的IT公司只想去阿里,因为阿里真的是中国程序员的朝圣地,进去真的能学很多。最终经历了5轮面试,顺利拿到了offer。这里和大家分享一下我的面试经验。

一面过程

首先是一次不记名面试,这里我也真的很感谢这场不记名面试了,如果没有这场不记名面试,我可能真的一面就结束了。因为我之前是没有任何找工作的面试经验的,再加上去阿里对我来说真的是一件几个月做梦都会梦到的事情,我把它看的太重了,所以在面试之前我经历人生中最紧张最紧张的一段时间,导致这次面试基本是全面GG。我先来说一下这次面试的过程吧。

面试我的是一位小姐姐(这是我之前没想到的,因为我觉得肯定是个男生),我先是自我介绍,然后我感觉我介绍的很着急,而且没有逻辑性(充分暴露了我的准备不足),介绍完就感觉很不好,此时已经感觉有点凉了。

然后就问了第一个问题:springcloud的三个原则是什么?

我不知道啊,springcloud我才学了一天啊,只会用啊,所以第一个问题就GG了,我更紧张了。之后小姐姐问我,你对哪块有比较深入的研究,我因为之前对redis看了不少,所以我就说redis还仔细研究过一点,然后就又问了一个问题,那个问题中关于redis的名词我都没听过,这个时候我已经完全慌了,两个问题都没答出来。后来又聊着聊着说到了多线程;

第三个问题:一个线程销毁之后还能再start嘛?

我:能吧?(我没有注意过啊)所以相当于问了三个问题都没答出来,小姐姐似乎感觉到我的水平了,所以就没再多问了,就讲起了我这几个月的生活,早起看算法,白天听课,晚上调电路还得复习白天的,每天已经用尽了我最大的力气了,我也说到了自己面的不好,(事实上第一是因为我很紧张,第二我确实有的地方掌握的不是很深入)。

她很亲切的说没关系,几个月能成这样已经不错了。然后最后聊了聊别的就结束了。其实后来我才知道这个小姐姐是清华的,更加坚定了我去阿里的决心,我渴望去一个周围都是大神的地方磨炼自己!

结束之后我仔细分析今天的面试,总结了一些经验,而且深刻的明白是要稍微准备一下,尤其是并发编程这块的知识点,所以接下来的几天我疯狂弥补之前的一些知识漏洞,等待接下来的正式面试。

几天后是一面,一面整体的节奏比较缓,主要是以技术问题为主,没有加入太多的聊天内容,面的也比较久,一共面了一个多小时,下面是一面的题目:

1、线程实现的方式

2、线程池的理解

3、hashmap的底层,你怎么了解的

4、jvm底层

5、垃圾回收机制

6、怎么理解mvc

7、排序算法选一种(我选的快排)

8、单点登录引出来的一个问题,如果通过A域名访问了A系统,通过B域名访问了B系统,B系统如何知道此客户端也访问了A系统

9、类加载机制

10、说一说ThreadLocal的理解

11、爬虫用什么做的,怎么做的

12、如果爬取到的数据格式不一致怎么办(针对我的那个新闻网站)

13、你对你这个项目的数据有没有一些其他想法?如果让你重新做,你会有哪些改善

14、你这个项目的架构说一说

整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。

二面过程

二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全不同,面试官很希望我言简意赅的说完答案,所以面的不算很好,当时完了又以为GG了,好在最后还是幸运的过了,面试问题如下:

1、静态方法和实例方法的同步有什么不同?

2、future类的作用

3、红黑树比平衡二叉树的优势

4、知道最大堆,最小堆嘛?描述一下堆排序

5、redis是单线程还是多线程的,说说redis的优势

6、了解AOP嘛,基于什么原理的

7、3点15分的夹角是多少度

二面面试官问的很急,我答的也快,所以有两个问题答的不好,但是面试官让我觉得有一种肃然起敬的感觉,因为他说话比较快,但是都能说到点子上,最关键的说的话非常让人容易接受。

二面过了,当天晚上我就接到了三面的电话(阿里的效率真的让我瞠目结舌)

三面过程

三面是交叉面试了,基本都围绕我的项目展开,我经过前面几次的面试之后,这个时候已经拥有了很高的面试经验值了,所以三面的时候我一点不慌了,回答问题非常稳重(一面刚开始的时候腿在抖。。。),三面的问题如下:

1、介绍以下你项目的特色

2、说说你这个项目的分工,以及在团队协作之间遇到的问题

3、用java爬虫有什么不好

4、谈谈你对mycat的理解以及如何进行数据库的双机热备

5、谈谈redis如何构建集群,数据在底层是如何进行同步的

6、网络连接和断开的过程?为什么是4次挥手不是3次?

7、数据库事务的四个特性

8、volatile关键字的作用

9、估算一下7的128次多少位(这个数学问题,我当时没想出思路,只估算了个100,虽然蒙对了,但是思路没给出,事实上这个题的思路有点难的)

三面还算比较顺利,基本都是我在说,所以也很快过了,第二天早上就收到了HR终面,两天4面,鬼知道我那两天经历了什么。。。

HR就基本问一些基本情况了,没有技术问题,只要人不是不正常感觉都没啥问题。

经验总结

总结一下面试经验吧,虽然我只经历了阿里的面试,但是这几场面试足以让我总结出面试的门道了:

1、自我介绍非常重要,基本上是主导你的整个面试的过程的东西了,一定要好好准备自我介绍,把面试官往你熟悉的地方引

2、见机行事,如果面试官不急,你就不要急,回到的时候多说一点,尽量把只是穿起来,往你熟悉的地方引,比如博主的1面,问我HashMap的底层,我就不仅说了它底层是一个数组加链式栈,还说了链式栈的目的是解决哈希冲突,还说了解决哈希冲突有两种方法:一种拉链法,一种线性探测法,hashmap采用了前者,(我现在还知道了ThreadLocalMap采用后者,这个知道的人不多,如果你顺着引出来,加分很多)。如果面试官比较急,证明他有很多人面,他希望在最短的时间里让你说出关键的东西,比如博主的二面,我们就不需要扩展说,言简意赅即可

3、一定要好好准备,对一些常用的内容进行深入的探究,比如现在面试必问的多线程高并发,JVM底层,数据结构和算法,一定要 挑一些进行深入的探究

4、最好有一个完整的项目或者有一个担任重要角色的项目,对这个项目非常熟悉,并且要想好项目开发过程中遇到的问题以及如何解决的

5、不装,会就是会,不会就是不会,不要猜,我二面就犯了错,面试官问我redis单线程还是多线程,我随口一说:多线程吧?面试官:猜的吧?我:是。。。。面试官:不会不要猜!所以我当时慌的一批!

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:

1.大数据工程师就业方向及就业前景很广阔

2.大数据工程师培训,需要学习的有哪些课程?

3.如何成为一名优秀的大数据工程师

多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台


本文由转载于互联网,如有侵权请联系删除!