说到阿里,想必很多Java后端开发攻城狮都十分向往,不但薪资待遇高,里面的技术大牛也多,可以学到技术,还能接触到很多大的项目。
下面就来分享一位朋友的阿里面试经历,刚刚上岸淘系,总包50W。文末送复习资料和笔记,
记得收藏
一面(电话面试一小时)首先做一个简单的自我介绍,主要包括学校经历和工作经历。我工作经历只有一年,大部分时间都是在做产品设计和UI/UX Design,因此隔着电话都能感受到面试官的shock。
Java基础。自动拆装箱如何实现,String,StringBuffer,StringBuilder的异同以及各自的实现。
JVM基础。JVM的内存模型,常见的垃圾回收算法。
事务ACID,编程时如何保证事务,分布式情况下如何保证事务。
由于分布式相关场景我没有接触过,因此面试官一直诱导我去设计实现一个分布式事务。
数据库乐观锁和悲观锁。如何实现一个乐观锁。
消息队列使用场景,Kafka的架构以及原理。
什么是restful api,和rpc调用有什么区别。
单例的几种写法。volatile关键字有什么作用。
以上就是电话面试的大体问题,面试完之后,又发给我三道算法题目,要求我一小时内完成,下面是三道算法题:
翻转一个long类型数字。例如输入123456L,输出654321L。- Leetcode翻转integer的变种。考察能否正确处理溢出的情况。
输入一个double,要求返回与它最接近的.49或.99的数字。例如12.77返回12.99,11.02返回10.99,12.61返回12.49。
有三个线程ABC分别向一个数组中写入a,l,i,要求最终的写入结果形如alialiali...写入次数由A线程决定。
这三道题目做的还比较顺利,第二天面试官又联系我阐述一下第一题和第三题的思路,然后通知我可以参加下一轮了。
二面(电话面试一小时)二面主要考察了一些开放式的问题。
首先还是自我介绍。主要是工作后的经历。介绍一下工作一年所在team的产品,我承担了什么职责。
开放式问题。如何设计一个rpc框架。
开放式问题。如何设计一个服务注册中心。
集合类源码。HashMap是如何实现的,扩容的过程,为什么要扩容为2倍。HashMap中的链表替换为数组可以吗?时间复杂度相同吗?
集合类源码。线程安全的HashMap是什么?(HashTable和ConcurrentHashMap)ConcurrentHashMap是如何实现的?(Java7分段锁和Java8的CAS+Lock)和HashTable相比有什么优势?
红黑树的结构,时间复杂度是多少,如何计算的
什么是CAS *** 作,如何实现一个自定义锁
数据库设计。有一张很大的order表,如何设计能够提升查询效率(同时满足根据买家id和卖家id查询)?
二面也同样是一小时左右,面试过程还算顺利。只是当时我在厦门鼓浪屿的一家小餐馆吃晚饭,周围的嘈杂和闷热使我很烦躁,感觉面试官态度有些傲慢……
ps.一面二面结束后面试官都各种暗示我要疯狂加班能不能接受blabla……
三面(电话面试一个半小时)二面结束后的第三天,就收到了现场三面的通知。然而我还在厦门旅行,因此改为了电话面试。
三面是一个大Boss,因此面试的问题都更考察一些分析问题的能力。
介绍一下你工作一年学习到什么?所在项目的架构是什么样的?UI/UX设计有哪些规范(由于我说我学到了一些UI/UX设计方法,因此面试官就问了)?
数据隔离级别,脏读幻读。
线程池原理。
Synchronized的实现,锁的升级过程。
K8s的作用,K8s的底层架构。
对我业余时间做的一些项目做了介绍。
你觉得加入阿里你能给阿里带来什么?
进入阿里你需要忍受很多困难,需要迎难而上,如果绩效考评拿到差评,你会怎么办?
三面总的来说也还算顺利,面试官也算和蔼。
四面+HR面总结:
五面的面试官是高P,主要关注我在团队中的角色。我对自己的定义集中在参与前端技术栈选型&推动新的前端架构&参与对新人培训指导等。
建议:一定要多刷题(打好技术基础)
春招即将开始,校招的朋友普遍是缺少项目经历的,所以底层逻辑,基础知识要掌握好!
而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。
总结整个流程从一面到三面结束大约持续了10天左右。总的来说,问题都是预期范围内的,虽然面试过程中问到了一些分布式相关问题,我都没有任何经验,这时候不要放弃,主动说出你的思路,然后在面试官的诱导下,相信你能说出属于的答案。
这里给大家提供一份汇集各大厂面试高频核心考点前端学习资料。涵盖 HTML,CSS,Javascript,HTTP,TCP协议,浏览器,Vue框架,算法等高频考点238道(含答案)!
因篇幅内容过多,仅展示部分内容,有需要的伙伴可+VX: q1472750149 免费获取看完这份[Java 突击面试笔记]后我把它分为以下 5 篇内容
准备篇:求职指南+简历怎么写+面试前关心的问题+如何学习等
基础篇:Java 基础+Java 集合计算机网络+ *** 作系统+数据结构+算法+ *** 作系统等
数据库篇:MySQL+Redis 等
框架篇:Spring+MyBatis+Kafka+Netty+SpringBoot 等
面经篇:蚂蚁金服+百度+华为+字节+腾讯+京东+网易+滴滴+阿里现场等
说明:本文限于篇幅,故而只展示部分的面试内容,完整的 Java面试学习文档小编已经帮你整理好了,有需要的朋友点赞+关注我后,点击此处领取Java、大厂面试学习资料哦
准备篇求职指南
简历怎么写
面试前关心的问题
如何学习?
基础篇Java 基础面试题
计算机网络面试题
*** 作系统面试题
算法面试题
Java 集合面试题
面经蚂蚁金服面经分享(全程细节)
百度面经分享(双非本科)
华为|字节|腾讯|京东|网易|滴滴面经分享(已拿 offer)
阿里面试现场 上
阿里面试现场 下
由于篇幅过多,仅展示部分内容文档,有需要的伙伴可+VX:q1472750149 免费获取
分享不易,如果你觉得文章还不错,你的转发、分享、点赞、关注、留言就是对我最大的鼓励。感谢您的阅读!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)