蚂蚁金服经典技术面试题: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线程锁有使用过哪些?比如乐观锁、悲观锁类似这样使用区别?

最后

想要了解更多的面试题的朋友,欢迎加QQ群:590918100,进群免费领取以下资料
蚂蚁金服经典技术面试题:Tomcat+Redis+线程池与锁+MQ实现
蚂蚁金服经典技术面试题:Tomcat+Redis+线程池与锁+MQ实现

猜你喜欢

转载自blog.51cto.com/14207399/2432076