阿里巴巴五轮面试经验分享

2023-05-16

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

我本科毕业于中南大学信管专业,真正开始学习Java是在大三下学期,研究生就读北航的移动云计算专业。刚开始也是小白,也是一步步成成起来的。需要提的一点是,你将来是需要靠这个吃饭的,所以请对找工作保持十二分的热情,而且越早准备越好。

阿里一面

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

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

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

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

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

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

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

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

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

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

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

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

  • 操作系统的页式存储

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

  • happen-before原则

  • Lucene全文搜索的原理

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

  • 想去哪里实习,杭州?

反问面试官的问题:

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

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

  • 有机会下次面试吗

一面总结:

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

可以看出一面的问题不是很难,但是要得到面试官比较高的评价,还是需要一定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。我回答问题的遵循一定的步骤:先回答问题本质,在回答具体细节,最后做一些平时编程中的扩展。这样,会让面试官觉得你确实是在这个技术上面下过功夫的。

阿里二面

等了将近6天(还以为被刷了呢)终于在第二周的周四接到阿里面试电话,那叫一个激动啊。赶紧找了一个安静的地方,准备好后开始正式面试。二面的面试官是一个部门主管,自然还是有点小紧张的。这次面试官上来就直接问,没有一面的面试官那么好说话。

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

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

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

  • 如何保证内存可见性

  • Http请求的过程与原理

  • TCP连接的特点

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

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

  • AOP的原理

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

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

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

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

反问面试官的问题:

  • 可以来杭州实习吗

  • 评价一下我的面试表现

  • 有机会下次面试吗

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

二面总结:

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

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

虽说这次面试过了,但是我在思考的是为什么面试官对我的表现是中规中矩。后面我知道我的回答虽然答到了点子上,但是扩展程度不够,对一些问题的理解缺乏足够的实践经验。面试官告诉我,有时间可以去研究字节码的编译过程,以及JVM调优方面的知识(特别强调这个很重要)。针对自己的不足,面完后又投入疯狂的看书写代码的生活中。虽然在面试中有一些回答不出来很正常,但是如果能够做到出乎面试官的意料,也是面试官对你很重要的加分项。

阿里三面(总监面)

三面与二面隔了5天,找了一个安静的地方开始电话面试。据说总监面会问项目多一点,所以在等待的这几天中给项目增加了几个比较肉的点。总监刚上来非常不客气,最尴尬的是总监那边老感觉有回声,因为不好意思提就忍了。

下面是三面遇到的问题:

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

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

  • 为什么做这个项目

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

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

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

  • session放在哪里

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

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

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

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

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

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

三面总结:

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

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

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

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

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

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

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

阿里四面(总监面)

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

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

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

  • 介绍下你最熟悉的项目

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

  • 平时主要学习什么课程

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

  • 家是哪的

  • 喜欢看什么书

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

四面总结:

虽然这面比较轻松,也没有什么具体的技术问题,但对项目仍然是面试官关注的,后面了解到总监面除了看你的基础,主要看你的潜力(就是有没有培养的价值),这个东西看起来挺虚的,但是从你平时的学习中仍然是可以看得出来的。所以,作为一名开发人员,平时对技术的研究也是很重要的。在听到面试官说让我好好等HR通知的时候可开心了,感觉饭都吃得更香了。

阿里五面(HR面)

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

下面是HR问我的问题:

  • 自我介绍下吧

  • 做了哪些项目

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

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

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

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

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

关于HR面试:

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

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

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

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

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

关于面试的心态:

在自己拿到阿里offer之前,一直都在想一个问题:我到底该如何做才能离阿里更近?一年的成长与思考让我认清了这点,虽然中间也遇到过很多坑,但却真正让我对自己有了一个清晰的定位,也有了比较明确的目标。正因为如此,我每天所学习的都给我莫大的动力,让我不断进步,并最终实现自己的目标。所以迷茫才是最可怕的,只有摆正心态,对找工作保持十二分的热情,勤奋努力,才能离目标更近一步。

但是有了目标和努力外,不一定就能实现目标,说到底还有一个运气的成分在里面,只能说你找到心仪的工作概率更大而已。遇到一个好的面试官绝对赚了。这四位阿里的面试官我感觉都挺好的,没有因为他们资历深就为难我,所以还是非常感谢这四位技术面试官的。

一点总结

由于本科是非科班出身,也仅仅是接触过Java而已,在大三的时候对自己的未来的发展道路很迷茫,不知道何去何从,感觉自己就是一个loser。那会考完研后有幸进入了金蝶实习,也就是那段时间让我认清了自己的短板,自己欠缺的是什么,那段时间也是我确立自己目标的过程。读研后疯狂看书、写代码、写博客、做项目,每天都在对自己进行总结和反思,正是这样一个不断的自我反思与努力的过程中,我得到了真正的成长与进步。也是这段经历让我能够面对阿里技术面试官的提问应答自如,从而顺利拿到阿里的offer。

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

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

 

转自:https://www.sohu.com/a/214245597_177618

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里巴巴五轮面试经验分享 的相关文章

  • Linux安装pqsql

    PostgreSQL安装部署 1 解压 tar xvf postgresql 10 5 1 linux x64 binaries tar gz 将解压文件重命名 mv pgsql postgresql PostgreSQL无法在root用户
  • 高考失败的程序员的逆袭

    高考作文不得出现真实的校名和人名 xff0c 所以本文不包含任何真实的校名 人名乃至赞助学校的企业名 xff0c 小说情节纯属虚构 如果情节与现实生活的事实雷同 xff0c 请谨记 xff1a 英国有个人叫牛顿 xff0c 德国有个人叫莱布
  • Android程序员的十大转型之路

    IT行业是一个瞬息万变的行业 xff0c 程序员是一个不进则退的职业 我作为一个Android程序员 xff0c 多年来一直保持随时可以转型其他技术领域的状态 xff0c 保持对新技术敏感的嗅觉 我先说说Android程序员不可能转型的几个
  • 【玖哥乱弹】编程语言间的斗争

    在初级程序员阶段 xff0c 每个人都不可避免遇到选择编程语言和职业方向的难题 我挑选了几个常见的编程语言 xff0c 分析了优缺点和职业方向 xff0c 以供想当程序员的人参考 C C 43 43 一句话概括 xff1a 大多数中国程序员
  • 【玖哥乱弹】成功的IT人士这样转型AI

    AlphaGo在与围棋世界冠军的对弈大获全胜 xff0c 不但让我们领略到了AI的巨大潜力 xff0c 还把AI推上了新的浪潮之巅 作为一个从即将过去的移动互联网时代走来的Android工程师 xff0c 我深深感受到自己成了传统行业 xf
  • 【玖哥乱弹】程序员如何成为别人的男朋友

    这个世界上程序员数量很多 xff0c 有女朋友的程序员在其中的比例却很少 究其原因 xff0c 不外乎大多数程序员根本不知道怎么才能成为别人的男朋友 成为别人的男朋友对于富二代和拆迁户很容易 xff0c 而对于程序员却很难 xff0c 潘驴
  • Linux库函数之opendir/closedir/readdir

    在Linux环境下 xff0c 有时候需要编写一些实用的工具 xff0c 比如检索功能 xff0c 最近在做病毒查杀应用开发 xff0c 涉及到批量扫描指定目录下文件 xff0c 因为要测试大量病毒文件 xff0c 该部分功能又是要通过AP
  • 编译ROS包出现错误 提示:invoking "make cmake_check_build_system" failed

    问题原因 xff1a 不同包里不允许有重名的节点 解决方案 xff1a 编辑重复的package文件夹里的CMakeLists txt文件 xff0c 对涉及到节点名称的代码进行修改 调试过程 xff1a 逐行分析问题代码 xff0c 问题
  • Centos7.X添加本地至Docker用户组

    根据上篇文章 Centos7 X通过rpm包安装Docker 安装好Docker之后 xff0c 发现必须使用sudo提权的方式或者直接使用root方式才能操作docker xff0c 实际上我们平常登录都是自己的账户 xff0c 这样操作
  • pytorch填坑:RuntimeError: cudnn RNN backward can only be called in training mode

    运行pytorch时 xff0c 训练很正常 xff0c 但是如果切换到eval 模式之后再继续训练 xff0c 发现报错 xff1a RuntimeError cudnn RNN backward can only be called i
  • Linux Mint 18.2安装VMware Workstation Pro 12

    VMware Workstation xff08 中文名 威睿工作站 xff09 是一款功能强大的桌面虚拟计算机软件 xff0c 提供用户可在单一的桌面上同时运行不同的操作系统 xff0c 和进行开发 测试 部署新的应用程序的最佳解决方案
  • ubuntu 使用nginx和gunicorn 部署服务

    1 安装gunicorn pip install gunicorn 2 创建下列名为web py的文件 xff1a from flask import Flask app 61 Flask name 64 app route 39 39 d
  • unable to execute ':/usr/local/cuda/bin/nvcc': No such file or directory

    仔细看下面的错误 xff1a unable to execute 39 usr local cuda bin nvcc 39 No such file or directory 是多了一个冒号 解决方式 xff1a vi bashrc 将
  • ubuntu系统设置ssh连接端口

    1 sudo vim etc ssh sshd config 将其中的 Port 22行取消注释 xff0c 并且将22换成自己想要的端口 xff0c 例如5677等 2 重启ssh服务 systemctl restart sshd net
  • anaconda 环境查找虚拟环境

    1 查找虚拟环境 conda info envs 会出现如下结果 2 选择虚拟环境 source activate tensorflow p36 3 退出虚拟环境 source deactivate 4 安装librosa conda in
  • python logging.info在终端没输出

    问题描述 在pyhton脚本中logging info 34 hello world 34 希望输出 39 hello world 39 但是在终端没有输出 解决方法 在文件开始的地方添加以下内容 span class pln style
  • ImportError: libSM.so.6: cannot open shared object file: No such file or directory解决

    运行如下命令即可解决 span class pln style margin 0px padding 0px border 0px font style inherit font weight inherit font size 6 lin
  • linux 查看版本信息

    1 uname xff0d a xff08 Linux查看版本当前操作系统内核信息 xff09 Linux ml 4 4 0 109 generic 132 Ubuntu SMP Tue Jan 9 19 52 39 UTC 2018 x8
  • 你真的了解串口吗(示波器串口波形分析)

    串口是最常用的外设了 xff0c 串口基本都是单片机的标配 串口通信只需要3条线组成 xff0c 分别为RX TX GND 下面将重点分析串口数据帧组成 一 串口通信帧 串口通信帧数据如此 xff0c 每帧由空闲位 起始位 数据位 校验位

随机推荐

  • C++——类和对象(4)

    作者 xff1a 几冬雪来 时间 xff1a 2023年5月6日 内容 xff1a C 43 43 类和对象内容讲解 目录 前言 xff1a 1 运算符重载 xff08 续 xff09 xff1a 2 赋值重载 xff1a 结尾 xff1a
  • Shell脚本-NF、FS(OFS)、RS(ORS)、NR(FNR)

    1 NF xff1a number of fileds xff08 字段 域的个数 xff09 整数 NF xff1a 取最后一列的字符串 xff0c 等同于 1 2 xff0c NF 1 NF等等 来看个例子吧 kdvmt 64 kdvm
  • 七月历程

    六月底老师通知让我提前返校 xff0c 去长春自我隔离一段时间 xff0c 这几天一直在收拾东西 空余时间没用来学习 xff0c 不过倒是上 steam 上买了个游戏 QAQ 2020 是个多灾多难的年份 澳洲火灾 xff0c 东非蝗虫肆虐
  • Shell脚本 - cut、sort、paste

    1 cut xff1a 用来提取文件的片段 d 后面指定分隔的符号 f 指定显示第几列 c 后面跟显示的字符1 n xff0c character b 后面根据显示的字节 xff0c byte kdvmt 64 kdvmt temp cat
  • 儿童诗词学习

    鹿寨 xff08 王维 xff09 空山不见人 xff0c 但闻人语响 返景入深林 xff0c 复照青苔上 独坐敬亭山 xff08 李白 xff09 众鸟高飞尽 xff0c 孤云独去闲 相看两不厌 xff0c 只有敬亭山 杂诗 xff08
  • 分页存储管理中的页表项长度是什么?

    看到很多人有疑问 xff1f 读到这里的时候我也有疑问的 在操作系统的分页存储管理方式中 xff0c 写道 xff1a 将页表始址与页号和页表项长度的乘积 相加 xff0c 便得到该表项在页表中的位置 于是可从中得到该页的物理块号 xff0
  • apt-get和aptitude

    1 apt get apt get是一条linux命令 xff0c 适用于deb包管理式的操作系统 xff0c 主要用于自动从互联网的软件仓库中搜索 安装 升级 卸载软件或操作系统 Advanced Package Tool xff0c 又
  • SPOOLing技术

    虚拟性是OS的四大特征之一 如果说可以通过多道程序技术 将一台物理CPU虚拟为多台 逻辑CPU xff0c 从而允许多个用户共享一台主机 xff0c 那么通过SPOOLing技术 便可将一台物理I O设备虚拟为多台 逻辑I O设备 xff0
  • C语言 gets()和scanf()函数的区别

    scanf 函数和gets 函数都可用于输入字符串 xff0c 但在功能上有区别 若想从键盘上输入字符串 34 hi hello 34 xff0c 则应该使用gets 函数 gets可以接收空格 xff1b 而scanf遇到空格 回车和Ta
  • vector删除元素之pop_back(),erase(),remove()

    向量容器vector的成员函数pop back 可以删除最后一个元素 而函数erase 可以删除由一个iterator指出的元素 xff0c 也可以删除一个指定范围的元素 还可以采用通用算法 remove 来删除vector容器中的元素 x
  • setw()使用方法

    1 setw xff08 int n xff09 只是对直接跟在 lt lt 后的输出数据起作用 xff0c 而在之后的 lt lt 需要在之前再一次使用setw xff1b xff08 Sets the number of charact
  • 主存到Cache直接映射、全相联映射和组相联映射

    Cache的容量很小 xff0c 它保存的内容只是主存 xff08 内存 xff09 内容的一个子集 xff0c 且Cache与主存的数据交换是以块 xff08 cache line xff09 为单位的 为了把信息放到Cache中 xff
  • 图的存储结构-十字链表和邻接多重表

    1 十字链表 对于有向图来说 xff0c 邻接表是有缺陷的 关心了出度问题 xff0c 想了解入度就必须要遍历整个图才能知道 反之 xff0c 逆邻接表 解决了入度 却不了解出度的情况 有没有可能把邻接表和逆邻接表结合起来呢 xff1f 答
  • U3D开发的逆天级大型游戏有哪些

    1 World of Diving 潜水世界 一款潜水游戏 潜水世界 xff1a http dx60 downyouxi com qianshuishijie zip 氛围不错 xff0c 不过细看建模好像不是特别精细的样子 2 The F
  • 中断屏蔽技术

    1 中断屏蔽技术 xff1a 主要用于多重中断 多重中断 xff1a xff08 中断嵌套 xff09 当CPU 正在执行某个中断服务程序时 xff0c 另一个中断源又提出了新的中断请求 xff0c 而CPU 又响应了这个新的请求 xff0
  • 互斥锁Mutex和信号量

    Mutex是一把钥匙 xff0c 一个人拿了就可进入一个房间 xff0c 出来的时候把钥匙交给队列的第一个 一般的用法是用于串行化对critical section代码的访问 xff0c 保证这段代码不会被并行的运行 Is a key to
  • TCP/UDP的Socket编程接口详解

    socket概述 xff1a socket是在应用层和传输层之间的一个抽象层 xff0c 它把TCP IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信 socket起源于UNIX xff0c 在Unix一切皆文件哲学的
  • release版本程序调用libvlc接口出现异常

    release版本程序调用libvlc接口出现异常 super raymond lu at gmail dot com 转载请注明出处http blog csdn net raymond lu rl article details 7515
  • 对基于深度神经网络的Auto Encoder用于异常检测的一些思考

    一 前言 现实中 xff0c 大部分数据都是无标签的 xff0c 人和动物多数情况下都是通过无监督学习获取概念 xff0c 故而无监督学习拥有广阔的业务场景 举几个场景 xff1a 网络流量是正常流量还是攻击流量 视频中的人的行为是否正常
  • 阿里巴巴五轮面试经验分享

    拿到阿里实习offer xff0c 经历了5次面试 xff0c 其中4轮技术面 xff0c 1轮HR面试 在这里分享一下自己的面试经验和学习心得 希望能够帮助更多的小伙伴 我本科毕业于中南大学信管专业 xff0c 真正开始学习Java是在大