蚂蚁金服一面
1 自我介绍
2 讲一下ArrayList和linkedlist的区别,ArrayList的扩容方式,扩容时机。
3 hashmap的实现,以及hashmap扩容底层实现。
4 NIO了解么,讲一下和BIO的区别,AIO呢。阻塞,非阻塞,异步。具体。
5 你说了解分布式服务,那么你怎么理解分布式服务。
6 你说了解Tomcat的基本原理,了解的是哪一部分,基本架构,connector和container
7 你在项目中怎么用到并发的。
8 docker和虚拟机讲一下。
9 高并发情况下,如何使用线程池
10 并发juc了解么,有哪些线程安全的list。
蚂蚁金服二面
1 项目
2 说一下Spring源码把,它的架构,流程。
3 Spring的bean如果要在实例化过程中修改其某一个成员变量,应该怎么做呢。不通过构造方法,并且AOP也并不能实现。
4 Tomcat的类加载器了解么,回答不了解只了解Java的类加载器。
5 自定义类加载器怎么实现,其中哪个方法走双亲委派模型,哪个不走,不走的话怎么加载类(实现findclass方法,一般用defineclass加载外部类),如何才能不走双亲委派。(重写loadclass方法)
6 布隆过滤器了解么,讲了ip地址过滤的布隆过滤器实现。
7 听说你项目用过docker,讲一下docker的实现原理,说了虚拟机一般要对内核进行虚拟化,docker则用cgroup和namespace分别进行硬件和命名空间的隔离。
8 dubbo的基本架构,几个组件说一下
9 dubbo的负载均衡怎么做,讲一下具体代码实现。
10 参与项目的挑战在哪里,有哪些收获。
蚂蚁金服三面
主要还是问中间件
1 阿里的dubbo,rocketmq的事务消息的架构设计
2 mycat实现分表分库方案实现
3 消息队列kafka和rabbitmq等
4 分库分表,分片规则hash和取余数。
5 数据库万级变成亿级,怎么处理
6 双11秒杀的设计思路
参考答案
已将上面这些Java面试题及参考答案整理成了一份面试文档。
扫码发送:面试手册,即可获取详细的面试题答案~
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》