阿里暑期实习java开发面试经验

2022 3.17更新
写了一篇站在面试管视角看春招的文章https://www.nowcoder.com/discuss/865882 ,希望可以帮助到大家

去年4月投了阿里供应链的暑期实习,没想到很顺利的就上岸了,与同组一起上岸的同学合作了这篇面试经历分享,希望可以帮助到想去阿里暑期实习的同学。

3.20
还有很多
希望内退的同学可以把简历投递到sikai.zsk@alibaba-inc.com欢迎大家有问题及时咨询!期待你们的加入!

流程

2020年4月3号进入内推流程

4月11号左右笔试

4月16号一面

4月22号二三面

4月27号交叉面

4月28号HR面

4月30号收到offer

6月1号入职

面试流程持续了半个月,4次技术面都是围绕着之前做过的项目展开的,用到的技术栈,为什么用这些中间件,要对用到的技术栈有较深刻的认识,理解设计的意图。

一面更偏向基础二三四面则偏向思考,面试的题目都不算特别困难,难点在于是否在学习一个中间件(知识点)对其有过思考的过程(比如一个场景ABCD四种技术都能够实现,但是并不存在一种最优解,要能够针对具体使用场景(可能是多情况)选择合适的技术)。

面试准备

Java

基础

  • 面向对象三大特性:封装、继承、多态如何在Java中体现

  • String StringBuilder StringBuffer区别 ""+""实现过程

  • 什么时候重写hashcode和equals方法

  • 深拷贝浅拷贝

  • BIO、NIO、AIO原理及应用场景

Java的东西很多而且很深,上面说的只是一小部分,面试结束尤其推荐java是突击学来的同学再系统的学学,《Java核心技术》一共两卷,非常厚。

容器

  • List、Map、Set区别及使用场景

  • 对比List、Map、Set的各种子类

  • HashMap原理 扩容缩容机制、存储结构、rehash实现方法等 一定要熟悉底层代码实现及算法原理

  • HashSet如何查重

  • ArrayList 和 Vector 的区别

一定要耐下心看各个常用容器(HashMap、ArrayList)常用方法的实现算法及代码实现

并发

  • 进程、线程、协程和程序各自是什么及区别

  • 上下文切换

  • synchronized实现原理(结合JVM 连带讲锁升级)

  • 可重入锁代码实现及原理

  • ThreadLocal 一定要看源码 与Thread的关系、hash算法、内存泄漏及如何避免

  • 线程池 针对不同情况参数如何选择

  • 原子类

  • CAS

  • AQS原理

不光要背面试题 建议面试结束后再深入学学java并发 推荐《Java并发编程的艺术》

JVM

  • JMM结构(最好可以针对不同虚拟机 不同版本 或者只说HotSpot虚拟机)每部分的作用,及什么时候会用到

  • java对象创建过程

  • 类加载机制

  • 内存分配与回收策略

  • 如何判断对象是否可被回收

  • 四种引用

  • 垃圾回收算法

  • 垃圾回收器

MySQL

  • 一条sql语句(增加、删除、修改语句)在MySQL中如何执行

  • 对比常见的存储引擎(主要对比innodb 和 myisam 最好能多说出几种常见的存储引擎及特点)

  • 索引(能说出innodb 和myisam 的策略最好)

  • 事务 什么是事务 并发事务带来的问题

  • 事务隔离级别 innodb如何保证(主要说如何解决幻读)

  • innodb 锁机制

  • innodb 日志 mysql 日志 两段式提交

  • 一条sql执行的慢的原因

  • 大表优化

  • mysql不同存储引擎存储结构

  • MySQL 索引为什么采用B+树?

想深入学习mysql的同学推荐这本《高性能MySQL》,极客时间上的MySQL45讲同样也非常经典

Redis

  • 为什么用缓存(不光是说redis 可以先从计算机cache说起,再到具体环境中,比如网上商城怎么怎么样需要缓存,然后各种缓存什么特点,最后为什么选redis,这里就可以顺便说说redis的结构)

  • 对比两种常用缓存中间件redis和Memcached

  • redis单线程模型及为什么不需要多线程(6.0后又引入了多线程)

  • 持久化策略

  • 数据过期淘汰策略

  • 内存淘汰机制

  • 缓存穿透 缓存雪崩 如何避免

  • 事务

  • 如何保证redis-数据库数据一致性

  • 主从结构如何保证(主机-从机)数据一致性

  • 主机坏了如何选出新的主机

消息队列

  • 有哪些常见的消息队列?用过哪些?

  • 队列模型和发布/订阅模型的区别?

  • 如何保证消息的有序性?

  • 如何保证消息不丢失?

  • 如何不重复消费消息?也就是消息消费的幂等性

  • 如果让你来设计一个消息队列,该如何考虑

Spring

  • 介绍一下spring( or spring boot)吧(什么是spring 有什么特点 优势 对比不用的情况)

  • 列举一些比较重要活比较常用的模块(aop orm test... 官网那张图)

  • AOP IOC

  • bean 生命周期 如何加载一个自己的bean进容器

  • 事务

  • 解释一下常用的注解

设计模式

  • 最容易考到是手写一个单例设计模式,一定要搞清楚那几种各自哪里有问题。

  • spring、redis、rocketmq中用到了什么设计模式?在哪用到的?

  • 你的项目中用到设计模式了么 ?为什么用? 在什么情况下用? 用它的好处是什么? 如果不用会怎样?

计算机网络

  • 网络的七层通信模型,常见的协议比如 TCP、IP、UDP、ARP、HTTP、FTP 等都位于哪一层

  • 常见 Http 的状态码的含义(常见的502,500,404,302,204,200等),遇到对应问题知道如何去处理

  • Http请求的构成

  • GET 和 POST 有什么区别

  • TCP 和 UDP 的区别(TCP 为什么可以保证传输的可靠性)

  • TCP 的三次握手和四次挥手(为什么挥手需要四次)

  • TCP 的拥塞控制(慢开始,拥塞避免,快重传,快恢复)

  • TCPTCP

  • 什么是 ARP 协议。

  • ping 命令的实现原理,ping 命令为什么不需要端口号

  • 从输入 URL 到页面加载发生了什么?

  • 长连接和短连接

操作系统

  • 操作系统的线程与进程的区别,线程有几种状态?

  • 线程间通信的方式与进程间通信的方式。

  • 什么是死锁?死锁的必要条件,如何避免死锁?

  • 进程的调度算法

  • 磁盘的寻道算法

  • I/O 模型

  • 如何线程同步?有哪些方式

其他

  • 了解 Hadoop 吗,介绍一下 hdfs 与 mapreduce

  • Nginx 做反向代理以及负载均衡

  • 微服务主要有哪些相关技术?

  • 会重点问到项目用到的技术,并深挖细节来问,为什么这样做?现在有没有什么更好的解决方式?因此准备项目经历时不要广而要深

  • 对自己进行评价,优点缺点各是什么

简历

项目经验(实习经验)非常重要,一定要把用到的技术栈(千万得是自己熟悉的)写上,尽量遵循STAR法则与FAB法则。面试官会结合你的项目去问你所掌握的技术栈。

STAR法则(Situation Task Action Result)
Situation: 事情是在什么情况下发⽣;
Task:: 你是如何明确你的任务的;
Action: 针对这样的情况分析,你采⽤了什么⾏动⽅式;
Result: 结果怎样,在这样的情况下你学习到了什么。
简⽽⾔之,STAR法则,就是⼀种讲述⾃⼰故事的⽅式,或者说,是⼀个清晰、条理的作⽂模板。不管是什么,合理熟练运⽤此法则,可以轻松的对⾯试官描述事物的逻辑⽅式,表现出⾃⼰分析阐述问题的清晰性、条理性和逻辑性。-
FAB 法则(Feature Advantage Benefit)
Feature: 是什么;
Advantage: ⽐别⼈好在哪些地⽅;
Benefit: 如果雇佣你,招聘⽅会得到什么好处。
简单来说,这个法则主要是让你的⾯试官知道你的优势、招了你之后对公司有什么帮助。
转自https://github.com/Snailclimb/JavaGuide

最后 如果还有哪里我没说清楚或者想暑期实习内推的同学可以****************

#Java开发##面经##阿里巴巴##Java工程师#
全部评论
感觉讲的很好,要好好消化
3 回复 分享
发布于 2021-03-18 21:37
牛牛牛,培养高精尖程序员
2 回复 分享
发布于 2021-03-18 16:39
楼主好人一生平安😊
1 回复 分享
发布于 2021-03-19 20:56
感谢分享!楼主好人
1 回复 分享
发布于 2021-03-18 22:57
这只是实习吗 怎么感觉有正式工作的水平了
7 回复 分享
发布于 2021-03-18 21:08
挺全面的 感谢楼主分享
点赞 回复 分享
发布于 2022-03-17 11:53
点赞 回复 分享
发布于 2022-03-17 11:45
顶起来顶起来
点赞 回复 分享
发布于 2022-03-17 11:45
点赞 回复 分享
发布于 2022-03-15 20:14
顶起来顶起来
点赞 回复 分享
发布于 2022-03-15 19:46
这个帖子好棒,能帮助不少人!
点赞 回复 分享
发布于 2022-03-07 10:29
淘系内推~
点赞 回复 分享
发布于 2022-03-05 11:13
点赞 回复 分享
发布于 2022-03-04 14:58
厉害了
点赞 回复 分享
发布于 2022-03-03 19:12
感谢分享!楼主好人
点赞 回复 分享
发布于 2022-03-03 17:54
想问一下 暑期实习的时间时3个月吗
点赞 回复 分享
发布于 2021-03-20 20:15
淘系交易招人。base杭州,21,22 java测开均有。机会多多
点赞 回复 分享
发布于 2021-03-19 17:48
谢谢!
点赞 回复 分享
发布于 2021-03-19 14:00
感谢啊!!
点赞 回复 分享
发布于 2021-03-19 12:28
楼主好人
点赞 回复 分享
发布于 2021-03-19 10:23

相关推荐

入职一个多月了,来分享一些landing的感受~ 整体说下:可以打85分,毕竟当时辞职就是想要走出舒适圈,的确也会有些不舒适,但基本上是因为阿里和网易风格有差别,需要一些时间适应 我所在的产品线整体风格不卷,加班不严重,周末大家都安排自己的生活,可以安心放下手机,也让我彻底放下“不秒回羞耻症” 阿里云团队规模太大,分工很细,人也很多,想搞清楚一件事情要对接好多好多人,要熟悉的流程也贼多,这个过程的确有些累,但我估计只要在大厂都会这样 感觉这边做事情自由度更高,换句话说,老板只要结果,过程怎么做自己想办法去 凡事凡人都爱讲价值。初次对接的其他部门的同事,也会直接问我,“你对业务的价值是什么” 前线上线下接触到的同事估计有四五十个,99%交流都顺畅,有话都直说 一个月约了不少coffee talk,即使没有直接的工作关联,大家还都挺热心解答我各种疑惑,很开心 和+1 沟通很顺畅,一是我刚入职就和她确认了沟通风格,二是我会主动表达自己的一些困惑,寻求帮助。当我不知道怎么和其他团队TL 开展协同的时候,她也会帮我丝滑落地 另外有几个我师兄给的tips: ❶抛开对情绪的关注,过分关注对方是老员工or说了句什么重话or质疑了什么,就没法协作了 ❷即使不喜欢,在该刷存在感的时候也得刷 ❸等过了前半年蜜月期,也许你也会感到工作很痛苦 新环境让我的状态好了很多,或许是因为还在蜜月期,or团队的风格,or只是还没接触到那么多人和事儿,我也不确定从多久后开始,我也会感到烦躁、痛苦。 那,既然不知道,当然是能快乐一天是一天啦~ 还有就是,我相信这一次的转变,我个人在心境上的调整和成长也起到了很大的作用。 无论世界怎样,把情绪掌握在自己手中。阿里云2026届可转正实习生招聘正式开启!【公司介绍】阿里云是全球领先的云计算及人工智能科技公司,坚持让计算成为公共服务,助力全球客户加速价值创新。【招聘岗位】技术类、运营类、设计类、营销类、产品类、内容类、职能类等(每位同学仅有1次投递机会,2个意向)【工作地点】杭州、北京、上海、深圳、成都等城市【面向人群】海内外院校2026届毕业生,毕业时间在2025年11月-2026年10月内【内推步骤】点击「内推链接」开启内推->查看内推职位/部门->提交个人信息->点击邮件内链接确认接受内推,补充意向并完善简历->内推成功🎁内推一键投递:https://careers.aliyun.com/campus/qrcode/apply/positions?code=yzYD/K3PP/D42kc4e1WhOePAeAX7co5ZGo9MaGDwhhQ=    (内推简历优先筛选,后续有疑问/流程问题欢迎联系)使用内推码简历优先筛选,有任何问题包括进度查询可以私信我,内推后在评论区留言【姓名缩写+岗位】,方便捞人和确认投递状态 #春招#                                 #内推#                                 #内推码#                                 #阿里云#           
投递阿里云等公司10个岗位
点赞 评论 收藏
分享
04-02 13:46
门头沟学院 Java
美团二面2027人在聊 查看15道真题和解析
点赞 评论 收藏
分享
评论
78
580
分享

创作者周榜

更多
牛客网
牛客企业服务