面经 | 我是如何拿到阿里offer的?附面试题+视频

作者 | rhwayfunn

来源 | http://dwz.win/2JK

本文来自 rhwayfunn 本人自述:

拿到阿里实习offer,经历了5次面试,其中4轮技术面,1轮HR面试。在这里分享一下自己的面试经验和学习总结。希望能够帮助更多的小伙伴。

我本科毕业于中南大学信管专业,真正开始学习Java是在大三下学期,研究生就读北航的移动云计算专业。

刚开始也是小白,也是一步步成成起来的。需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。

阿里一面

一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。

中间面的问题有些记不清了,下面列出了一面问到的问题:

  • 自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟)

  • 你感觉比本科阶段自己进步了多少,有哪些进步

  • 研究生期间最大的进步是什么

  • 你觉得你适合从事哪个方向的开发

  • synchronized与lock的区别,使用场景。看过synchronized的源码没

  • JVM自动内存管理,Minor GC与Full GC的触发机制

  • 了解过JVM调优没,基本思路是什么

  • 如何设计存储海量数据的存储系统

  • 缓存的实现原理,设计缓存要注意什么

  • 淘宝热门商品信息在JVM哪个内存区域

  • 操作系统的页式存储

  • volatile关键字的如何保证内存可见性

  • happen-before原则

  • Lucene全文搜索的原理

  • 你觉得自己适合哪方面的开发,为什么

  • 想去哪里实习,杭州?

反问面试官的问题:

  • 评价一下我的这次面试表现

  • 应该在我的技术栈中增加什么

  • 有机会下次面试吗

一面总结

一面大概面了50多分钟,从面试官口中得知他是一个老员工,比我大不了多少,总体上还是聊得蛮投机的。最后的三个问题是我问面试官的,在回答我是否还有机会下次面试的时候说:竞争很激烈,不过机会还是有的。

本文大多数题之前都分享过答案,关注微信公众号:果汁简历,在后台回复:Java,可以获取我整理的面试汇总的 PDF。

可以看出一面的问题不是很难,但是要得到面试官比较高的评价,还是需要一定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。

我回答问题的遵循一定的步骤:先回答问题本质,在回答具体细节,最后做一些平时编程中的扩展。 这样,会让面试官觉得你确实是在这个技术上面下过功夫的。

阿里二面

等了将近6天(还以为被刷了呢)终于在第二周的周四接到阿里面试电话,那叫一个激动啊。

赶紧找了一个安静的地方,准备好后开始正式面试。二面的面试官是一个部门主管,自然还是有点小紧张的。这次面试官上来就直接问,没有一面的面试官那么好说话。

下面是面试过程中的问题:

  • 自我介绍下自己,不超过3分钟(我的自我介绍仍然不超过1分钟)

  • 你说你熟悉并发编程,那么你说说Java锁有哪些种类,以及区别(果然深度不一样)

  • 如何保证内存可见性

  • Http请求的过程与原理

  • TCP连接的特点

  • TCP连接如何保证安全可靠的

  • 为什么TCP连接需要三次握手,两次不可以吗,为什么

  • AOP的原理

  • 动态代理与cglib实现的区别(这个,醉得很厉害)

  • 那么你说说代理的实现原理呗

  • 看过Spring源码没,说说Ioc容器的加载过程吧

  • 了解过字节码的编译过程吗(这个还真不知道)

反问面试官的问题:

  • 可以来杭州实习吗

  • 评价一下我的面试表现

  • 有机会下次面试吗

  • 您觉得我的技术栈应该补充什么,有哪些方面还需要提高

本文大多数题之前都分享过答案,关注微信公众号:果汁简历,在后台回复:Java,可以获取我整理的面试汇总的 PDF。

二面总结

二面面试官问的问题都比较直接,答案也是知道就知道,不知道就不知道。这些问题一部分是基础,一部分是根据你的专业技能的来提问的。

面完后面试官对我的评价是:中规中矩,有机会下次面试。虽说是中规中矩,但听到面试官说有机会下次面试就感觉这次面试应该过了。

虽说这次面试过了,但是我在思考的是为什么面试官对我的表现是中规中矩。后面我知道我的回答虽然答到了点子上,但是扩展程度不够,对一些问题的理解缺乏足够的实践经验。

面试官告诉我,有时间可以去研究字节码的编译过程,以及JVM调优方面的知识(特别强调这个很重要)。

针对自己的不足,面完后又投入疯狂的看书写代码的生活中。虽然在面试中有一些回答不出来很正常,但是如果能够做到出乎面试官的意料,也是面试官对你很重要的加分项。

阿里三面(总监面)

三面与二面隔了5天,找了一个安静的地方开始电话面试。据说总监面会问项目多一点,所以在等待的这几天中给项目增加了几个比较肉的点。

总监刚上来非常不客气,最尴尬的是总监那边老感觉有回声,因为不好意思提就忍了。

下面是三面遇到的问题:

  • 自我介绍,不超过3分钟(这次好像时间更久了,也就2分钟多点)

  • 说一下你对哪个项目比较熟悉

  • 为什么做这个项目

  • 项目采用了什么架构,数据库如何设计的

  • 数据库由哪些表,为什么有这些表

  • 主要有哪些核心模块,模块之间如何通信的

  • session放在哪里

  • 如何保存会话状态,有哪些方式、区别如何

  • 分布式session如何管理,你有哪些方案

  • 学过数据结构和算法吗(当然),你说说二分搜索的过程

  • 说一下快排的过程,写一下伪代码

  • 了解哪设计模式,举例说说在jdk源码哪些用到了你说的设计模式

  • 你有什么问我吗(仍然上面三个问题)

三面总结

本以为三面是交叉面,没想到是阿里的总监面试。由于具体的技术问题在前两轮面试中已经问过了,所以三面后不会有具体的技术问题,总结来看,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。

针对项目,面试官关注的无非以下几点:

  • 项目中某个比较重要的点是如何实现的(需要深入技术的原理)

  • 遇到的最大困难是什么(有哪些),你怎么解决的?

  • 如果需要扩展某个功能,如何降低系统的耦合度

  • 如果针对某个功能进行优化,你会怎么设计和优化

对于写在简历上面的项目,自己对照上面四个问题进行思考,才会在面试中游刃有余。因为任何在简历中作假的行为,面试官只要详细问你就露馅了。在听到面试官说有机会下次面试的时候,心中自然是非常高兴的。

阿里四面(总监)

果然,在第二天下午四点多接到了部门总监的电话,简单沟通后开始了面试。这次面试感觉是最放松的,没有什么高深的技术问题,感觉就像和朋友聊天的感觉,真的很感谢这位面试官。

下面是面试中的问到的问题:

  • 来个自我介绍呗,不超过3分钟

  • 介绍下你最熟悉的项目

  • 项目使用了什么架构,亮点是什么

  • 平时主要学习什么课程

  • 你目前的研究方向是什么

  • 家是哪的

  • 喜欢看什么书

  • 大概什么时候能来实习呢

四面总结

虽然这面比较轻松,也没有什么具体的技术问题,但对项目仍然是面试官关注的,后面了解到总监面除了看你的基础,主要看你的潜力(就是有没有培养的价值),这个东西看起来挺虚的,但是从你平时的学习中仍然是可以看得出来的。

所以,作为一名开发人员,平时对技术的研究也是很重要的。在听到面试官说让我好好等HR通知的时候可开心了,感觉饭都吃得更香了。

阿里五面(HR面)

在隔了4天左右,终于接到了HR的电话,那叫一个激动啊。感觉离阿里offer已经不远了,于是振奋精神,聊得还不错。

下面是HR问我的问题:

  • 自我介绍下吧

  • 做了哪些项目

  • 看你在问题中说你在杭州看到很多商贩使用付款二维码,你对支付宝怎么看

  • 每天有那么多人使用支付宝,这些数据如果给你存储,你会怎么设计呢(不是说HR不问技术问题吗?不愧是阿里的HR)

  • 为什么想来支付宝实习呢

  • 你身边同学如何评价你、老师呢

  • 如果与同事发生了意见的不一致,你会如何解决呢

关于HR面试

其实早就听说HR面试的最终的录取结果具有一票否决权,在面完前面的技术面试之后,还是很担心的。所以咨询了师兄以及网上找了阿里HR面试的资料,大概得到以下结论:

  • 诚信至上,所以在简历中不要存在任何虚假信息,企图通过虚假信息得到面试机会的后果得不偿失

  • HR更关注你的表达能力、与同事相处的能力以及对工作的态度

  • 对自己的是否一个明确的职业规划(前提是首先得对自己有一个清晰的定位)

  • 关于待遇的问题(由于面的实习岗位,所以这个没有提,但是就我而言,能力才是最重要的,能力上来了待遇自然就水涨船高)

关于面试的心态

在自己拿到阿里offer之前,一直都在想一个问题:我到底该如何做才能离阿里更近?一年的成长与思考让我认清了这点,虽然中间也遇到过很多坑,但却真正让我对自己有了一个清晰的定位,也有了比较明确的目标。

正因为如此,我每天所学习的都给我莫大的动力,让我不断进步,并最终实现自己的目标。所以迷茫才是最可怕的,只有摆正心态,对找工作保持十二分的热情,勤奋努力,才能离目标更近一步。

但是有了目标和努力外,不一定就能实现目标,说到底还有一个运气的成分在里面,只能说你找到心仪的工作概率更大而已。遇到一个好的面试官绝对赚了。

这四位阿里的面试官我感觉都挺好的,没有因为他们资历深就为难我,所以还是非常感谢这四位技术面试官的。

总结

由于本科是非科班出身,也仅仅是接触过Java而已,在大三的时候对自己的未来的发展道路很迷茫,不知道何去何从,感觉自己就是一个loser。

那会考完研后有幸进入了实习,也就是那段时间让我认清了自己的短板,自己欠缺的是什么,那段时间也是我确立自己目标的过程。

读研后疯狂看书、写代码、写博客、做项目,每天都在对自己进行总结和反思,正是这样一个不断的自我反思与努力的过程中,我得到了真正的成长与进步。

也是这段经历让我能够面对阿里技术面试官的提问应答自如,从而顺利拿到阿里的offer。

最后,想送给自己两句话以鞭策自己:

越努力,越幸运!

以现在大多数人的努力程度之低,根本轮不到可以拼天赋。

【END】

近期热文

 
  • 阿里巴巴2020招聘正式启动!附内推和微信联系信息

  • 面试珍藏:最常见的200多道Java面试题(2019年最新版)

  • 阿里面试官给你的一些忠告,这样做肯定错不了!附视频

  • Java面试详解(2020版):500+ 面试题和核心知识点详解

  • 面试突击 | Redis 如何从海量数据中查询出某一个 Key?视频版

关注下方二维码,订阅更多精彩内容

朕已阅 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SCOM 2012知识分享-9:配置警报解决状态

适应平台:System Center 2012 RTM/SP1-------------------------------------------------------------------------------------------------------------设置警报的解决状态在操作控制台中,请单击监视。单击任何视图,将显示警告&#xff0c…

Linux debian ubuntu安装GIMP软件

一、GIMP简介 名称由GNU Image Manipulation Program(GNU图像处理程序)的首字母组成,是一个自由及开放原始码的点阵图图像编辑器,用于图像照片润饰及编辑、自由绘图、调整大小、裁剪、相片蒙太奇、装换图像格式以及其他专业任务。…

面试突击 002 | Redis 是如何处理已过期元素的?

1 面试题 Redis 如何处理已过期的元素?2 涉及知识点 此问题涉及以下知识点:过期删除策略有哪些?这些过期策略有哪些优缺点?Redis 使用的是什么过期策略?Redis 是如何优化和执行过期策略的?3 答案 常见的过期…

Linux debian安装PyCharm教程、配置pyqt5开发环境

一、PyCharm下载 首先需要下载一个PyCharm社区版压缩包:pycharm-community-2021.1.3.tar.gz。 Linux PyCharm社区版下载 二、PyCharm安装 1.我们最好在普通用户下解压并启动这个软件。如果你在超级用户下启动,你的pycharm就不能输入中文了&#xff0c…

10大iOS开发者最喜爱的类库

该10大iOS开发者最喜爱的库由“iOS辅导团队”成员Marcelo Fabri组织投票选举而得,参与者包括开发者团队,iOS辅导团队以及行业嘉宾。每个团队都要根据以下规则选出五个最好的库:1)不能投自己写的库;2)排除大…

面试突击第 3 期 | Redis 如何实现查询附近的人?视频实战版

这是我的第 33 篇原创文章作者 | 王磊 (javacn666)1 面试问题 Redis 如何实现查询附近的人?2 相关面试问题 Redis 中如何操作位置信息?GEO 底层是如何实现的?如何在程序实现查询附近的人?在实际使用中需要注…

Linux debian ubuntu的PyCharm无法正常输入中文

debian ubuntu中 PyCharm 当全拼输入2~3个汉字时,会被强行打断,然后就无法继续输入(也无法切换中英文),并且汉字下会有下划线。 解决方案: 1.点击PyCharm菜单 “Help ->Edit Custom VM options…” 2.添加 -Drecreate.x11.in…

面试突击 004 | 如何排查 Redis 中的慢查询?视频实战篇

这是我的第 34 篇原创文章作者 | 老王(javacn666)1 面试题如何排查 Redis 中的慢查询?2 涉及相关问题 Redis 中有没有慢查询排查工具或者相关排查手段?慢查询日志都包含哪些信息?慢查询的相关配置项有哪些?…

[转]Android 之 Window、WindowManager 与窗口管理

这篇是对前两天研究的悬浮窗的内容的一个小小的资料整理吧。首先是转载一篇介绍Android窗口的内容,觉得写得不错:http://blog.csdn.net/xieqibao/article/details/6567814 为防止丢失还是把内容也拷一遍吧(*^__^*) 嘻嘻…… 其实在android中真正展示给用…

面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」

这是我的第 35 篇原创文章作者 | 老王(javacn666)这部视频的录制、剪辑、做 PPT、写文稿大约花费了 5 个小时的时间,希望这种形式能被更多的人喜欢,希望这篇文章会给你带来更多的价值。1 面试题 Redis 是如何实现高可用的&#xf…

Linux debian安装和使用Navicat16 for MySQL

Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并…

windosw7 Hosts文件的位置

2019独角兽企业重金招聘Python工程师标准>>> 1.Hosts文件的位置 : C:\Windows\System32\drivers\etc\Hosts 一般个人电脑都在这位置, 例如:118.144.78.38 www.51cto.com ip 域名 # Copyright…

Redis都不懂?就别去面试了!聊聊我的Redis新专栏「视频版」

前不久,有一个读者在后台留言,说他面试 Java 开发工程师岗位时,居然大部分的面试问题都是关于 Redis ,他都差点都忘记了自己应聘的是 Java 工程师了。而然这种现象在现在的后端面试中很常见,对 Redis 的掌握已经变成了…

Linux Debian Python弹出信息框、警告框和询问框

利用PyCharm开发平台和Python编程语言开发PyQt5界面程序,有时需要弹出信息框、警告框和咨询框,使用win32api和win32con在windows系统可以,但是在Linux系统不可以。为了解决这个问题,可以使用QMessageBox。 # pip install pywin32…

面试突击 | Redis 如何从海量数据中查询出某一个 Key?附视频

1 考察知识点 本题考察的知识点有以下几个: Keys 和 Scan 的区别Keys 查询的缺点Scan 如何使用?Scan 查询的特点 2 解答思路 Keys 查询存在的问题Scan 的使用Scan 的特点 3 Keys 使用相关 1)Keys 用法如下 2)Keys 存在的问题…

分享两个好用的nosql GUI工具

redis: 真是千呼万唤始出来,终于有了redis gui 谢谢作者,但中文乱码问题貌似还没有解决呀! https://github.com/caoxinyu/RedisClient mongoDB: MongoVUE这个还是很完善的 http://www.mongovue.com/ 转载于:https://www.cnblogs.com/tankaixi…

Linux Debian11安装MySQL8详细教程

一、下载MySQL Community Server Debian11使用了MariaDB 在APT的软件包存储库中并没有mysql,在这里下载MySQL Community Server 然后选择Debian时会出现建议使用 Mysql APT Repository。所以我们下载安装 Mysql APT Repository 的方式更新 APT Repository 之后使用 dpkg -i安…

HashMap 为什么会导致 CPU 100%?文章看不懂?来看这个视频吧!——面试突击 006 期...

无论是在实际工作中还是在面试中,HashMap 无疑是使用频率最高的知识点之一,所以我们需要搞懂每一个关于 HashMap 的知识点才行。哈喽,大家好,我是老王,欢迎来到 Java 面试突击,我们今天来开始第 6 期的内容…

Linux debian利用ifconfig查看IP地址

net-tools工具箱包括arp,hostname, ifconfig, netstat, rarp, route, plipconfig, slattach, mii-tool and iptunnel and ipmaddr等命令。 debian系统使用ifconfig命令查看IP 地址时,出现如下提示: 一、查看debian系统是否安装ifconfig命令 使用wherei…

Redis 中的过期元素是如何被处理的?「视频版」——面试突击 002 期

本文以面试问题「Redis 中的过期元素是如何被处理的?」为切入点,用视频加图文的方式和大家聊聊 Redis 过期元素被处理的相关知识点。 涉及的知识点 过期删除策略有哪些?这些过期策略有哪些优缺点?Redis 使用的是什么过期策略&…