蚂蚁金服经典技术面试题: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
基本就是走流程,聊人生、谈未来、以及薪资要求了。
以上就最新阿里中间件面试题,以下年最新阿里资深Java必考题和答案。
敲黑板!
转发后+私信关键词即可获取~
重要的话说三遍,先转发,转发,转发,然后私信才可拿到阿里必考题答案哦!