蚂蚁中间件团队面试题分享
蚂蚁中间件一面自我介绍JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法?新生代和老年代的回收机制讲一下ArrayList和linkedlist的区别,ArrayList与HashMap的扩容方式Concurrenthashmap1.8后的改动Java中的多线程,以及线程池的增长策略和拒绝策略了解么?Tomcat的类加载器了解么?Spring的ioc和aop,Springmvc的基本架构,请求流程HTTP协议与Tcp有什么区别,http1.0和2.0的区别?Java的网络编程,讲讲NIO的实现方式,与BIO的区别,以及介绍常用的NIO框架索引什么时候会失效变成全表扫描?介绍下分布式的paxos和raft算法
蚂蚁中间件二面你在项目中怎么用到并发的?消息队列的使用场景,谈谈Kafka你说了解分布式服务,那么你怎么理解分布式服务?Dubbo和Spring Clound的区别,以及使用场景讲一下docker的实现原理,以及与JVM的区别MongoDB、Redis和Memcached的应用场景,各自优势MongoDB有事务吗?Redis说一下sorted set底层原理讲讲Netty为什么并发高,相关的核心组件有哪些?
蚂蚁中间件三面完整地画一个分布式集群部署图,从负载均衡到后端数据库集群分布式锁的方案,Redis和Zookeeper哪个好,如果是集群部署,高并发情况下哪个性能更好?分布式系统的全局id如何实现?数据库从万级变成亿级,你如何来解决?常见的服务器雪崩是由什么原因引起的,如何来防范?异地容灾怎么实现?常用的高并发技术解决方案有哪些,以及对应的解决步骤?