阿里面试准备及面经分享(干货满满)

楼主是研三的研究生,今年毕业,去年秋招拿到了阿里天猫超市产品技术部的offer,秋招期间在牛客网上收获良多,现在是时候反哺一波了。

因为要同时兼顾学校里的论文、实习公司中的本职任务、秋招间的自主复习,因此感觉校招真的是一段需要付出努力且可能遭受挫败、甚至劳心伤神的经历。我把这一路的体会记录下来,给今后和我一样迷茫过,怀疑过,失落过的人一些帮助。给正在准备找实习和找工作的同学们一些借鉴。

首先呢我的面试过的公司不多,经历和一些offer收割机的大神相比也绝不算丰富,但我校招期间应该能代表很大一部分人的心路历程:从无忧无虑也无知的状态,然后遭遇挫败,跌入低谷,连续数天的黑暗,慢慢调整,逼着自己不能松懈,看到改变,收获肯定,分享经历。(哈哈,煽情了一点,得告诫告诫自己学习还是轻松快乐的~)

下面分享的内容分为岗位选择、面试准备、面经分享、书籍推荐、部门推荐五个部分。

一、岗位选择

师弟师妹可以根据自己的情况,看以后想从事什么工作,提早做准备,岗位大体上分为技术岗和非技术岗。

技术岗:前端、后台、算法

非技术岗:产品经理、运营


由于楼主是技术岗,这里针对技术岗说一下,因为前端、后台、算法需要的技能树是完全不一样的,后台又分纯后台以及最近炒的比较火的DevOps(开发即运维)。所以大家可以从下面的面试经验(面经)大致了解一下胜任这些职位需要哪些技能,以及达到什么程度,设计一些针对性的项目(光靠导师的项目肯定不够,导师能教的东西很有限,自己才是自己的导师),进行有针对性的复习,对找实习或者找工作有很大的帮助。如果同学们对岗位没有明确的意向,可以浏览一下不同岗位需要的能力,以及对应的技能树,找到合适自己并感兴趣的。毕竟工作让自己快乐也很重要嘛~~


部分技术岗技能树;

前端技能树

https://github.com/kamranahmedse/developer-roadmap#-frontend-roadmap

后台技能树

https://github.com/kamranahmedse/developer-roadmap#-back-end-roadmap

DevOps技能树

https://github.com/kamranahmedse/developer-roadmap#devops-roadmap

算法技能树

https://www.nowcoder.com/discuss/93743

C++技能树



二、面试准备

准备面试的过程其实也是夯实自己的过程,可以从三个方面入手。

1.巩固基础知识

楼主是做java的,所以我自己巩固知识的路线大致是这样的。

计算机基础知识:操作系统 + 计算机网络 + 数据结构 + 算法

java的知识:集合、线程池、项目依赖和创建(maven、gradle选一,travis CI、jenkins选一)、中间件(mq、redis、dbproxy)、数据库(mysql)

web知识:http协议、websocket协议(通过写“你画我猜”的项目来理解)

写一些one way thru code所需的工具:python + shell


其中算法不推荐算法导论等经典的大部头的书,因为由于数学功底不足的原因真正能看完的人寥寥无几。算法推荐这个网站:https://algorithms.tutorialhorizon.com/


2.积累项目经验

给不知道做什么项目的同学一些建议。自己挑一些有兴趣,且具有技术挑战的项目来做,在项目实践中可以很快地应用理论知识,并找到自己的不足,从而查漏补缺。比如楼主因为喜欢玩Dota2做过一个查战绩的App(https://github.com/liujunlingx/Dota2Helper),为了一个轻量级的图片缓存需求做了一个http服务器(https://github.com/liujunlingx/LightWebServer,由此顺便学了一下http的知识),还用websocket做过一个你画我猜的网络版(https://github.com/csdbianhua/telemarket-skittle-alley)。同学们可以自己挑一些感兴趣的项目,通过项目来巩固理论知识。顺便安利一个在牛客上看到的我觉得对java岗位来说成长最强的一个repo,https://github.com/DeepAQ/Autumn


3.技术视野及成长

技术视野是大家容易忽略的一个点,包括深度和广度,包括阿里在内的很多大厂面试都很看重这个。有些人面试答得很好,却给面试官留下一个视野狭窄的印象。一个例子是,Java的面试从Java7问到Java8一直问到Java11,之间有什么区别,这种问题非常小众,一般的面经里也不会提到。可以反向思考,什么样的学生会知道这种区别?大致来看,应该分为两种,一种是开发实战经验丰富,踩过各种坑,熟读源码的人,用过这些不同特性的人。另一种呢,则是自己有兴趣了解过或浏览过相关内容的人。所以如果能答出来,则说明学生有一定自主学习的能力,也愿意学习新知识。我面试阿里时还被问到过springboot2和1的区别,以及如何选择mq的实现等问题,也说明了技术深度的重要性。


我对自己的技术路线规划是java+python+shell,初期的学习以看书为主,熟悉之后建议看官网。
目前楼主学习java和python只看官网文档,不在任何技术论坛上看零碎的帖子,shell则还是用一本大部头当做字典使用。


Java11官网文档:https://docs.oracle.com/en/java/javase/11/

Python3.6.6官网文档:https://docs.python.org/release/3.6.6/library/index.html

Shell书籍(一本大部头):Linux命令行与shell脚本编程大全


4.复习别人的面经

别人的面经都是很有参考价值的,多看面经是一个查漏补缺的过程,我个人认为复习到这种程度就差不多了:随便选一个某家公司的面经,所有问题能回答出80%


附上一些楼主复习时觉得很有营养的面经:

后台面经

https://zhuanlan.zhihu.com/p/34732997?utm_medium=social&utm_source=wechat_session&from=groupmessage

https://zhuanlan.zhihu.com/p/34502085?utm_source=wechat_session&utm_medium=social&from=groupmessage

https://www.nowcoder.com/profile/3539721/myDiscussPost


前端面经

https://www.nowcoder.com/discuss/80064

https://www.nowcoder.com/discuss/74890

https://www.nowcoder.com/discuss/74838

https://www.nowcoder.com/discuss/105439

https://www.nowcoder.com/discuss/104153

https://www.nowcoder.com/discuss/96781


算法面经(2018年算法岗竞争激烈,有好的论文、最好是顶会才有竞争力)

https://www.nowcoder.com/discuss/138543

https://www.nowcoder.com/discuss/127357

https://www.nowcoder.com/discuss/103068

https://www.nowcoder.com/discuss/102053


另外,同学们还需要了解招聘的主流时间窗口

实习(一般在大三和研二的时候找) 3月、4

提前批(内推) 7月、8

校招 :9月、10


四、阿里面经分享

阿里的技术岗的面试一般分为4-5轮,5轮面试下来基本会全方面的考察你各方面的综合能力,所以建议同学们注意提高自己的综合能力,并且好好准备简历上写的东西,做到简历上写的都问不倒你就行了。


1.阿里一面:

简单聊了下java基础(集合),然后开始问项目,其中主要聊了自己做的http服务器项目所有细节,这里写了个知乎的帖子。

实现一个http服务器需要怎样进行?需要哪些知识呢? 泵泵的回答 - 知乎

https://www.zhihu.com/question/20199473/answer/382206419


接着问了很多jvm相关的问题,认真看过深入理解java虚拟机那本书都能搞定。

其中只有一个问题当时觉得可能回答错了:

Java里String a = new String("abc")具体发生了什么?

后来自己弄清楚了写在知乎上了:

https://www.zhihu.com/question/22739143/answer/631000180


2.阿里二面:

二面问了很多在滴滴实习相关的内容,实习内容因人而异不便参考,但总体感觉面试官思路很清晰能抓住问题要害,并一直链式提问到你不会为止。


通用的问题如下

线程池数量如何设定,线程池参数的意义。

分库分表、会有什么问题吗、数据库中间件

实习中觉得公司代码最厉害的部分

Springboot2和1的区别

Java8特性,lambda、流式计算、lambda和流式计算的优缺点、新的时间api。

java9特性,模块化、jshell、为什么要设计jshell、jshell的好处等等

反射什么时候拿不到注解(考元注解@Retention)


3.阿里三面:

三面聊学校里工作,顺便还问了一些机器学习相关的内容。

因为是在滴滴实习,讨论了一个如何推荐司机、乘客的场景,展开讨论了很久。同时考察了一些推荐系统中的矩阵分解,解决top-k问题用堆,推导时间复杂度等。


4.阿里四面:

先7秒钟讲了一下hashmap,然后开始聊学校里论文的细节。大家对于自己做的工作一定要复习好,有可能以前自己做的东西不复习也会忘掉。


5.阿里五面:

Hr面,这一面基本就在聊人生聊对公司的看法了balabala


五、书籍推荐


下面列举一些我觉得必看的书和视频

操作系统:csapp第三版

设计模式:Youtube搜Design patterns,点击量第一的是christopher okhravi录制的。

https://www.youtube.com/watch?v=v9ejT8FO-7I&list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc

数据库:Design Data-Intensive applications(又称DDIA,2017年出的好书)

Web架构:大型网站技术架构-作者李智慧

Java: Java8实战、深入理解Java虚拟机、Springboot2精髓(讲解最简单的使用例子且不涉及源码,当字典用非常好使,源码是要看的,但快速上手更重要)


不推荐的书(我踩过的坑):

操作系统真相还原(啰嗦)、Netty实战(netty原理讲解不多)、Springboot实战(没干货)、Java多线程编程核心技术(被“Java并发编程的艺术”一书cover了)


六、部门介绍,墙裂推荐


先简单介绍一下我的部门~

2018年11月,阿里巴巴成立了「天猫超市事业群」天猫超市事业群是阿里新零售的排头兵,将开辟出一条线上线下超市融合一体化经营的道路,实现“天猫超市,天下超市”的理想!

天猫超市事业群,致力于成为满足生活全场景的智慧零售商。将超越过往线上的工作方式,融入线下的“新蓝海”,强化商品、消费者、线下伙伴、供应链的各项能力,整合原有天猫超市和淘鲜达业务,和阿里大生态内的大卖场、超市等合作伙伴紧密合作,推进线上线下一体化的超市新零售模式。

在创在未来的道路上,期待有你!
我们携手同行,一起实现“天猫超市,天下超市”的理想。

2020.03.09更新:
部门实习生春招开始了!
部门实习生春招开始了!
部门实习生春招开始了

面向人群:
2020年11月-2021年10月毕业的学生

招聘岗位:
Java开发工程师、前端开发工程师、用户型产品经理、测试工程师

简历投递邮箱:
mark.ljl@alibaba-inc.com
mark.ljl@alibaba-inc.com
mark.ljl@alibaba-inc.com

问题咨询,欢迎扫二维码加我微信哈



#阿里巴巴2021暑期实习春招#
全部评论
真的干货满满
点赞 回复
分享
发布于 2019-04-10 20:35
干活满满,顶顶顶!
点赞 回复
分享
发布于 2019-04-10 20:40
联想
校招火热招聘中
官网直投
干货满满!!
点赞 回复
分享
发布于 2019-04-10 20:48
👍
点赞 回复
分享
发布于 2019-04-11 00:55
干货满满
点赞 回复
分享
发布于 2019-04-11 11:34
点赞 回复
分享
发布于 2019-04-11 12:12
面经看的越多越觉得自己去不了阿里了哈哈
点赞 回复
分享
发布于 2019-04-13 09:43
想请教学长暑期实习找不到该怎么办啊,感觉竞争压力不亚于秋招啊😭
点赞 回复
分享
发布于 2019-04-13 10:53
做了半年的语义分割,手里没有顶会,现在又只能回头来找开发岗。 但是已经很久没写过java了,好多基础的点都忘掉了。 往前走,高等概率论倒是学了,但是算法岗感觉还是有很大差距。 往后退,本科那些计算机基础课程很久没有用到过,都忘得差不多了。 又卡在这个时间点,暑期实习招聘基本结束了,感觉准备开发岗,现在开始看 java核心技术 六百多页也来不及,哭了
点赞 回复
分享
发布于 2019-04-13 14:53
搂着求拉群,我的微信号是15600487317,多谢了
点赞 回复
分享
发布于 2019-04-14 11:31
文中提到的 Autumn 项目作者爬进来回个帖( 我捣鼓的项目能得到关注有点意外,不过我个人不太建议看这个项目的代码来学习,因为我几乎没写注释,很多地方可能阅读起来有点困难。 如果想学习 Java Web 框架实现原理方面的内容,我个人更推荐 https://github.com/code4craft/tiny-spring 和 https://github.com/zzzzbw/doodle 这两个项目,他们都有非常详尽的文档,相信能让大家学习得更顺畅。
点赞 回复
分享
发布于 2019-04-16 01:35
写得太好了,虽然方向不同,但很有参考价值
点赞 回复
分享
发布于 2019-04-16 01:46

相关推荐

27 411 评论
分享
牛客网
牛客企业服务