首页 > 阿里Java社招面试经历分享
头像
牛客541601154号
编辑于 2020-08-07 10:24
+ 关注

阿里Java社招面试经历分享

1、java并发基础:volitate关键字原理,AQS原理,线程池关键参数&原理,concurrenthashmap原理;

2、java虚拟机:java栈和堆内存分布,垃圾回收原理,常见的垃圾回收算法,常见的stackoverflowexception,outofmemoryexception是怎么回事;

3、消息中间件:消息中间件解耦&消峰特性的了解,消息中间件的原理,事务消息二阶段提交的原理;

4、远程服务框架:dubbo的通信过程,服务发现过程,序列化反序列过程原理理解;

5、分布式协调算法:zkpaxos协议原理,zab原理,metaqraft协议原理;

6、数据库mysql:innodb的索引原理、事务原理、锁的原理和实现、事务隔离级别mvcc原理,innodbmyisam的区别;

7、nosql系列:redis的核心api需要熟悉,大概的原理,如何解决缓存被击穿的问题,如何解决缓存热key

8、分布式锁的实现原理和有多少种实现方式?

目前主流的分布式锁的实现方式有三种:

①借助数据库来实现,新建一张锁表;

操作前向表添加一条锁记录(锁id建立唯一索引),成功添加者获得锁权限,处理完后删除锁记录来释放锁。


②基于缓存实现,如memcache redis

memcache的add操作具有原子性,可以保证同一个key add操作只有一个成功,来获取锁权限,利用缓存的失效时间来解决死锁问题。相对于第一种方案,这种方案性能更好,而且操作更方便。


③通过zookeeper实现;

客户端会在zookeeper生成一个临时的目录节点,存储在一个序列中,每次节点序号最小的节点对应的客户端获得锁,处理完成后删除最小节点,而且可重复获取锁(通过判断序号是否和最小的节点相同)。这种方式可以实现阻塞分布式锁,和锁的重复获取问题。


9、分布式限流如何实现,原理是什么?

10、运维命令:如何排查cpu100%,如果机器内存出了问题,应该要怎么排查?

11、分库分表的实现原理是什么,你所在业务一般是怎么分库分表的?对应逻辑是什么?

12、核心一些中间件的高可用是如何保证的?体系化看下;

更多模拟面试

全部评论

(1) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐