?
蚂蚁金服经典技术面试题:Tomcat+Redis+线程池与锁+MQ实现
一面:技术面
1.讲一下项目
2.做的主要是Java对吧,讲一下多线程把,用到哪些写一下
3.写了thread和runnable,然后写了线程池,又问了线程池由哪些组件组成,有哪些线程池,分别怎么使用,以及拒绝策略有哪些。
4.什么时候多线程会发生死锁,写一个例子吧,然后我写了一个两个线程,两个锁,分别持有一个,请求另一个的死锁实例。
5.集合类熟悉吧,写一个题目,一个字符串集合,找出pdd并且删除。
6.然后说一下Redis吧,是单线程还是多线程,Redis的分布式怎么做?
7.RPC了解么,我说了主要是协议栈+数据格式+序列化方式,然后需要有服务注册中心管理生产者和消费者。
9.TCP三次握手的过程,如果没有第三次握手有什么问题。
二面:主要问解决问题的思路
1、如果让你实现一个MQ,怎么样保证消息不丢失?
2、硬盘io速度会变慢,有什么解决办法吗?
3、mysql的innodb索引数据结构为什么是b+树,用hash来实现可以吗?
4、分布式事务的实现?
5、如何解决redis和mysql数据一致性?
6、常见的MySQL主从同步方案有哪些?优劣势比较过?
7、先谈秒杀的设计思路?
8、再谈谈秒杀如何防止超卖?
9、你有什么想问我的?
三面
- 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点?
- 讲讲jdk1.7和1.8的区别?
- 几种内置的线程池
- MySQL事务隔离级别以及MVCC机制
- Redis缓存雪崩、缓存穿透以及如何解决?
- 分布式架构简单介绍
- CMS收集器和G1收集器最大的区别在哪里?
- 有实际的JVM性能优化经验?重点应该监控哪些指标,以及如何来调整参数?
- Java线程锁有使用过哪些?比如乐观锁、悲观锁类似这样使用区别?
?
阿里中间件(4轮题目):MVCC+缓存穿透+悲观锁+NIO+负载均衡等
?
第一轮
- 说说HaspMap底层原理?再说说它跟HaspTable和ConcurrentHashMap他们之间的相同点和不同点?
- 讲讲jdk1.7和1.8的区别?
- 几种内置的线程池
- MySQL事务隔离级别以及MVCC机制
- Redis缓存雪崩、缓存穿透以及如何解决?
- 分布式架构简单介绍
- CMS收集器和G1收集器最大的区别在哪里?
- 有实际的JVM性能优化经验?重点应该监控哪些指标,以及如何来调整参数?
- Java线程锁有使用过哪些?比如乐观锁、悲观锁类似这样使用区别?
第二轮
- 熟悉哪些NIO框架,以及谈谈你对NIO、BIO、AIO的认识?
- 谈谈Java线程池的运行机制?
- 常用的中间件有哪些?Dubbo、RocketMQ、Redis..
- 然后继续随着中间件开始深入,RocketMQ的核心组件,以及如何解决消息去重?
- MySQL和Redis的缓存如何解决数据一致性?
- Redis是单进程单线程的?为什么Redis高并发快?
第三轮
- 介绍最有挑战的项目?技术难度在哪里?
- 画一个典型的分布式架构图,从前端负载均衡到中间件,以及后端数据库,整个流程?
- SOA和微服务有什么关联?以及你对微服务的理解
- 随着这个话题谈到了Dubbo的架构设计?
- 秒杀的设计思路?
- 个人平时怎么提升技术?
第四轮:HR
基本就是走流程,聊人生、谈未来、以及薪资要求了。
以上就最新阿里中间件面试题,以下2020年最新阿里资深Java必考题和答案。
?
?
?
敲黑板!
Tomcat+Redis+线程池锁+悲观锁+NIO-阿里P8总结三面四轮技术面试
原文:https://www.cnblogs.com/jiagouX/p/13861140.html