2018年9月,我面试了蚂蚁金服Java岗 稳了!!
电话一面(60分钟)
1、自我介绍、自己做的项目和擅长的技术领域
2、项目用 Spring 比较多,有没有了解 Spring 的原理?为什么要用Spring,有什么处好?
3、Spring Bean 的生命周期
4、Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?
5、HashMap 、Concurrenthashmap和 hashTable 区别
6、Concurrenthashmap 是怎么做到线程安全的?
7、Object 的 hashcode 方法重写了,equals 方法要不要改?
8、JDK 中有哪几个线程池?线程池的原理是什么?
9、微服务涉及到的技术以及需要注意的问题有哪些?
10、SQL 优化的常见方法有哪些
11、SQL 索引的顺序,字段的顺序
12、查看 SQL 是不是使用了索引?(有什么工具)
13、什么时候出现幻读?
14、MySQL 事务特性和隔离级别
15、lock 和 synchronized 的区别?
16、volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因
17、happens before 原理
18、git rebase 和 merge 有什么区别?
19、SpringMvc原理
20、简单说下你了解得设计模式
21、你了解得Linux命令
22、MYSQL使用了哪种引擎以及它们的区别
23、有什么问题想问我的吗?
推荐 Spring Boot/Cloud /Redis视频:
电话二面(90分钟)
1、项目中那些部分是觉得有挑战性的。会对你的回答进行提问。
2、JVM运行时区域划分,每个区域有什么作用
3、出现内存溢出的时候怎么进行排查?什么时候会出现方法区溢出?怎么进行排查?
4、出现线程堵塞时怎么排查
5、项目中使用过那些设计模式?每个设计模式有什么优点在哪里用的比较多,结合项目或者源码分析一下。
6、谈谈你最熟悉的开源代码
7、Dubbo、spring中令人印象深刻代码设计。dubbo大概可以分为几层?
8、实现自定义注解需要那几个步骤,spring在自定义注解上做了哪些优化
9、JDK的集合类了解多少?hashmap怎么解决hash冲突?如何扩容的?
10、对锁的了解有多少,分别讲讲怎么实现的?
11、谈谈高并发的了解,可以分为哪几个方面优化?
12、你是如何设计一个接口的?有哪些方面可以优化?
13、分布式锁有用过吗?用在哪个项目场景?
14、Dubbo实现原理是什么
15、Zookeeper如何实现选举?
16、Redis如何实现选举?
17、Kafka写入消息的几种方式,怎么保证消息不重复消费,消息会丢吗?
18、缓存穿透如何应对?分布式下怎么刷新缓存?
19、微服务如何切分,以及微服务有哪些问题?
20、分布式事务如何解决?
21、Mysql哪些情况下索引失效?如何优化索引?索引的原理。
22、分库分表解决方案以及扩容问题。
23、服务降级、限流、熔断如何实现、实现原理是什么?
24、有什么问题想问我的吗?
后面一起聊high了,之间扯了些蛋,哈哈哈。
最终顺利收到offer!!
关注下面公众号,将上面面试问题一条一条解答: