写点什么

花费 6 个月的时间,五面阿里 java 岗,最后竟然差点倒在最后 HR 面?

发布于: 2020 年 10 月 30 日

不知道多少人为了去阿里技术部看看,经历过什么,本人的为了面阿里,前后准备时间和面试一共花费了6个月的时间。

在面试前三面真的有点急促,一周内就面完了三次面试,接着就开始无尽的等待,整整等了三周左右,终于完成了四面和HR面。整个过程还是比较曲折的,技术面试还是挺考察技术深度的。现在已拿到offer。

面试问题如下:一面(主要看基础):

先自我介绍,讲讲自己基础掌握情况,以及项目经历

平时会用到哪些数据结构?

链表和数组的优缺点?

解决hash冲突的方法有哪些?

讲讲自己对HashMap的理解,以及和Weakhashmap的区别?

你刚才讲的是JDK1.7版本的实现,知道JDK1.8做了哪些改动么?

你们在微服务中用RPC通信还是REST?

RPC和HTTP的关系是什么?

谈谈什么是HTTP的长连接和短连接?

TCP的三次握手和四次挥手,以及为什么要三次握手,而不是二次?

TCP 有哪些状态,相应状态的含义?

并发包中锁的实现底层(对AQS的理解)?

乐观锁和悲观锁的理解及如何实现,有哪些实现方式?

SynchronizedMap和ConcurrentHashMap有什么区别?

如何使用阻塞队列实现一个生产者和消费者模型?

简述一下Java 垃圾回收机制?

如何判断一个对象是否存活?

什么是tomcat类加载机制?

类加载器双亲委派模型机制?

让你评价一下你自己?

二面(主要问了底层和算法):

扯了下项目、讲一下项目经历

redis的底层数据结构了解多少?

知道动态字符串sds的优缺点么(redis底层数据结构之一)?

redis的单线程特性有什么优缺点?

用过 Redis 的哪些数据结构, 分别用在什么场景?

怎么解决缓存击穿问题的?

Hytrix的隔离机制有哪些?Hytrix常见配置是哪些?

做过哪些调优?JVM调优、数据库调优都行!

给了个场景,问你怎么调?

三面(数据库):

依然是介绍自己

数据库的高可用架构是怎么样的?

如何保证数据库主从一致性?

知道mysql的索引算法吗?

为什么mongodb的索引用了B树,而mysql用B+树?

用mysql过程中,有遇到什么问题么?

生产用的是哪种事务隔离级别,为什么?

谈一谈你对微服务架构的理解?

用过哪些RPC框架,讲讲他们优缺点?

用过docker吗,对容器了解多少?

四面(偏架构方面):

介绍一下自己,讲讲项目经历

项目中微服务是怎么划分的,划分粒度怎么确定?

在实践微服务架构中,有遇到什么问题?

在关于微服务间数据一致性问题,是如何解决的?

为什么不用其他的MQ,最终选择了RokcetMQ?

为什么RocketMQ没有选择ZooKeeper,而是自己实现了一个NameServer集群?

Zookeeper在选举的过程中,还能对外提供服务么?

对Paxos算法了解多少?

如果让你来设计一个春晚抢红包架构,你会怎么设计?

有什么想问我的?

五面(HR面):

聊人生谈理想,HR很ncie,主要交流为什么选择来阿里,未来的打算职业规划以及待遇等,交流挺愉快。(差点因为说错话倒了......)

面试小结:

技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。

技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。

技术原理深入:重点还是提前准备好JVM、多线程高并发这块。

参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。

很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。

最后,千万不要倒在HR面试环节,避重就轻是重点,特别是优点和缺点,如果问到你的规划是什么,请记得一定告诉HR你想成为一名优秀的技术专家!

分享一些我个人的学习资源,有需要的朋友免费获取方式在文末:

Java面试核心知识点原理篇整理

Java开发1—2年基础:JVM篇

本篇主要讲述了JVM原理,涉及JVM运行机制、JVM内存模型、常用垃圾回收算法和JVM类加载机制等内容。



1—2年Java工程师必会:Java基础篇

本篇讲解Java基础知识,涉及集合、异常分类及处理、反射、注解、内部类、泛型和序列化等内容。



Java开发2—3年高级工程师:Java并发编程篇

本篇讲述讲解Java并发编程知识,涉及Java多线程的工作原理及应用、Java线程池的工作原理及应用,以及锁、进程调度算法等内容。





Java面试中必问的数据结构:数据结构篇

本篇讲解数据结构知识,涉及栈、队列、链表、散列表、二叉树、红黑树、图和位图等内容。



3—4年Java架构师必问:常用算法篇

本篇讲解Java中的常用算法,涉及二分查找、冒泡排序、插入排序、快速排序、希尔排序、归并排序、桶排序、基数排序等算法。



5年Java架构师面试必问网络底层:网络与负载均衡篇

本篇讲解网络与负载均衡原理,涉及TCP/IP、 HTTP、常用负载均衡算法和LVS原理等内容。



Java架构师进阶:数据库及分布式事务篇

本篇讲解数据库及分布式事务原理,涉及数据库存储引擎、数据库并发操作和锁、数据库分布式事务等内容。



Java高级架构师必备:分布式缓存的原理及应用篇

本篇讲解分布式缓存的原理及应用,涉及分布式缓存介绍、Ehcache原理及应用、Redis原理及应用、分布式缓存设计的核心问题等内容。



设计模式篇

本篇讲解设计模式,涉及常见的23种经典设计模式。



这份笔记是对Java程序员面试必备知识点的总结,详细讲解了JVM原理、多线程、数据结构和算法、分布式缓存、设计模式等面试必备知识点,在讲解时不拖泥带水,力求精简。

这份笔记可以作为大家面试突击的一份宝典,肯定会有奇效!大厂面试真题整理

深圳-腾讯-Java高级

杭州-蚂蚁金服-Java高级

杭州-蚂蚁金服-资深工程师

上海-拼多多-Java高级

深圳-丰巢科技-Java高级

100%免费获取方式:点赞这篇文章+关注我,加助理老师VX:wjj2632646免费获取!



发布于: 2020 年 10 月 30 日阅读数: 29
用户头像

还未添加个人签名 2020.10.09 加入

还未添加个人简介

评论

发布
暂无评论
花费6个月的时间,五面阿里java岗,最后竟然差点倒在最后HR面?