阿里巴巴——三面,面试经历记录

在 boss 直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息,现在的部门已经有两名同学被蚂蚁金服录取了,自己就不服气的也想试试。这次面试其实并没有准备充分。

之前就听说总共有很多轮数,不仅会考察基础知识的深度,也会考察算法能力、项目设计能力、价值观世界观等。

自己抱着能走多远走多远的态度,挑战一下自己。

在发过去简历的一周后,大概是2月28号左右,一面的小哥哥下午打来电话约我2月28号晚上9点钟面试。

结果在 2 月 29 白天的时候,我基本上都没有怎么工作,而是把我平时积累的一些基础知识总结了一下,能总结多深就总结深。

到了晚上 9 点左右,电话响了起来。

一面

面试官还是比较温柔的,上来先让我做了自我介绍,我简单介绍了一下自己有2年半的工作经验,之前做过什么项目,用了什么技术等等,面试官没有详细问项目的细节,但是项目的具体的功能和业务一定要讲清楚。

中间穿插着会问到一些基础知识。

总共面试了50多分钟,java基础能问的基本都问完了,基本的内容包括

  • 从JVM到垃圾回收,最后一个问题好像是fullgc是否可以回收方法区

  • 从线程池的构造函数参数到队列的拒绝策略

  • redis支持的数据类型到跳跃表,redis同步策略,如何自己实现lru等

  • mysql索引的数据结构,为什么用B+树不用B树,事务隔离级别,聚集锁非聚集锁,这个地方着重点一下,问到了一个非常细节的问题,如何用可重复读的隔离级别避免幻读问题。当时这个问题没有答出来,后来上网查了后可以使用间隙锁来实现。

  • spring相关、bean的生命周期等,最后问到循环引用问题spring如何处理的。

  • concurrentHashmap1.8为什么放弃了分段锁

  • 数据库分库分表相关

其他的记不清了,就记得只要是跟java基础相关的基本都提到了,个人感觉一面还是以知识的广度为主。

一面结束大概一周多后,大概在 3 月 3 号,接到了二面的电话,由于当时在地铁上太吵了,我就约了 3 月 5 号晚上 8 点半面试。

到了 3 月 4 号 5 号的白天,又是基本上没有怎么工作,都在总结面试的东西,到了 3 月 5 号晚上晚上8点半,二面电话如期响了起来。

二面

二面上来也是做了一个简单的自我介绍,然后简单介绍了自己的项目,感觉二面和一面最大的不同是,二面时候以知识的深度和解决问题的能力为主。

主要涉及到的问题大概有:

  • springAOP的原理,动态代理是怎么实现的,这个地方我基本上把动态代理的源码说了一遍。

  • fullgc的时候会导致接口的响应速度特别慢,该如何排查和解决。

  • snmp协议的相关知识

  • netty的相关知识,如何避免的NIO空循环问题,还有零拷贝等

  • 问了一些简单的算法,说了一下自己的思路

剩下的记不清了,大概面了有 40 分钟多一点。

二面面完个人感觉还是非常好的,当时也比较自信自己可以进入三面,果然在大概一周左右,如期接到了三面的电话。

三面

三面的面试官也是比较温柔的,三面和前两面最大的不同是这次的面试官特别关注项目的实现和细节,由于我最近一年做的是一个监控系统,从最开始的项目为什么要分这几个模块到每个模块做的事情用的技术和存在的意义,都需要解释的非常清楚,中间如果他有疑问的话就会立马打断来问问题,现在做的项目其实并没有太多的亮点。

面试中间还提到了 kafka 的 replicas 的作用还有他为什么比其他的消息队列好等等。

最后给了我一个微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。

面完三面后,面试官告诉我如果有四面的话,四面就要来杭州面了。

当时心情十分复杂。

四面

大概三面结束又过了一周后,接到了 hr 的电话约我 3 月 22 号周五上午 11 点半到杭州菜鸟总部参加面试。

提前一天给现公司请了假后,22 号早上 5 点半就起床去虹桥火车站了,大概 10 点的时候到的菜鸟总部,随便吃了点东西,打印了两份简历,等到 11 点半准时联系的hr。

hr 把我带到会议室中,路上我还大概了解了一下面试后面的流程,说这次第四面是两名p8的面试官一起面的,如果这轮能过的话,下一轮就是最终 p9 大 boss 和 hr 一起了。

大概在会议室等了5分钟左右,两名面试官来了,也是简单做了自我介绍后,这两名面试官就让我在白板上画最近负责的项目的流程图,个人感觉这一轮面试着重点是项目设计上,中间会穿插很多问题来问我为什么当初要这样设计?这样设计的好处是什么?有没有更好的设计方式?项目的数据量有多大?如果再增大100倍呢?碰到的真正的难题是什么?这两位面试官面了大概一个小时。

四面面试结束后,让我在会议室等结果,当时心里真是度秒如年啊,大概这两位面试官和hr讨论了20分钟后,hr进来告诉我说不好意思这一轮面试没有通过,今天的面试流程就此结束了。

心里说不难过肯定是骗人的,这一个月以来每一轮都是煎熬啊,我觉得第四轮挂掉肯定是有很多原因的,自己的项目设计能力太差了,在分析项目的时候很多种情况没有考虑到,估计面试官对我设计的思路不满意是我最大的减分项。

不管怎么说,生活还要继续,有些东西没有第二次机会,我觉得面试道路上最大的收获就是我要搞明白我是怎么失败的。接下来我的打算是在好好干好手头工作的同时,要做好这三件事情:

  • zookeeper和netty的书好好看完

  • 算法要补一补了,开始刷leetcode

  • 项目设计方面做一个单独的培训,找一个大神先聊一聊,或者博客大神能否给一些建议,这一块确实是我的短板。

另外,我要特别感谢两个朋友,一个是前同事K,他现在是阿里云的p7同学,在这一个月里他一直在告诉我应该如何跟阿里面试官沟通,要注意哪些知识点等,还一直在帮我关注着面试流程。

第二个要感谢的朋友是现同事GH,很难过他下周就要去蚂蚁了,在这一个月的时间里GH一直在鼓励我加油面试,在我准备面试的工作日里,他也一直在帮我解决一些我头上的棘手问题。

为了帮助大家在激烈的秋招中占得先机,团长特地从P9的师傅那里求来这份Java从基础到中高级核心知识全面解析。(团长真是陪吃陪喝,就差陪睡了)大家点个赞不过分吧!

这份文档总页数:524页。分为八个部分每个部分详细地讲解了核心知识点。

  • 第一部分 扎实的Java基础 (Java基础+容器+并发+JVM)
  • 第二部分 网络知识(计算机网络技术+HTTPS中的TLS)
  • 第三部分 Linux
  • 第四部分 数据结构与算法
  • 第五部分 数据库(MySQL+Redis)
  • 第六部分 系统设计(RestFul API+常用框架+认证授权+分布式+大型网站架构+微服务)
  • 第七部分 必会工具(Git+Docker)
  • 第八部分 面试指南(简历应该如何写+如何准备面试+我的学习方法)

由于整个笔记比较全面,内容相当的多 ,这里仅展示资料的一些截图,如有需要获取文中提到的 “Java从基础到中高级核心知识全面解析” 的朋友关注+转发后扫码

阿里巴巴——三面,面试经历记录_第1张图片

Java 基本功

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

Java 面向对象

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

Java 核心技术

阿里巴巴——三面,面试经历记录_第2张图片

容器

ArrayList

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

LinkedList

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

HashMap

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

并发

并发容器

阿里巴巴——三面,面试经历记录_第3张图片

线程池

阿里巴巴——三面,面试经历记录_第4张图片

乐观锁与悲观锁

Atomic

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

AQS

阿里巴巴——三面,面试经历记录_第5张图片

JVM

Java内存区域

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

JVM垃圾回收

阿里巴巴——三面,面试经历记录_第6张图片

JDK 监控和故障处理工具

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

类文件结构

阿里巴巴——三面,面试经历记录_第7张图片

类加载过程

阿里巴巴——三面,面试经历记录_第8张图片

类加载器

阿里巴巴——三面,面试经历记录_第9张图片

网络

计算机网络知识

阿里巴巴——三面,面试经历记录_第10张图片

HTTPS中的TLS

阿里巴巴——三面,面试经历记录_第11张图片

三、Linux

从认识操作系统开始

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

初探Linux

阿里巴巴——三面,面试经历记录_第12张图片

Linux文件系统概览

阿里巴巴——三面,面试经历记录_第13张图片

Linux基本命令

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

四、数据结构与算法

数据结构(布隆过滤器)

阿里巴巴——三面,面试经历记录_第14张图片

五、数据库

MySQL

阿里巴巴——三面,面试经历记录_第15张图片

Redis

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

六、系统设计

RestFul API

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

常用框架

阿里巴巴——三面,面试经历记录_第16张图片

认证授权(JWT、SSO)

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

分布式

阿里巴巴——三面,面试经历记录_第17张图片

大型网站架构

  1. 如何设计一个高可用系统?要考虑哪些地方?

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

(六). 微服务

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

七、必会工具

Git

阿里巴巴——三面,面试经历记录_第18张图片

Docker

阿里巴巴——三面,面试经历记录_第19张图片

八、面试指南

程序员简历该怎么写

阿里巴巴——三面,面试经历记录_第20张图片

如何准备面试

阿里巴巴——三面,面试经历记录_第21张图片

Java学习路线和方法推荐

阿里巴巴——三面,面试经历记录_第22张图片

写在最后

获取方式:需要这份 《Java从基础到中高级核心知识全面解析》笔记 点赞、转发、收藏之后扫码

阿里巴巴——三面,面试经历记录_第23张图片

最后我想给自己说的是,失败并不可怕,可怕的是不知道自己为何失败。祝有和我相同经历的朋友们也不要被失败打败,希望我们都可以脚下有风、各自灿烂!

你可能感兴趣的:(程序人生,Java,架构,java,架构,spring,spring,boot,后端)