蚂蚁金服一面:
- 先自我介绍,讲讲自己基础掌握情况,以及项目经历平时会用到哪些数据结构?
- 链表和数组的优缺点?
- 解决hash冲突的方法有哪些?
- 讲讲自己对HashMap的理解,以及和Weakhashmap的区别?
- 你刚才讲的是JDK1.7版本的实现,知道JDK1.8做了哪些改动么?
- 你们在微服务中用RPC通信还是REST?
- RPC和HTTP的关系是什么?
- 谈谈什么是HTTP的长连接和短连接?
- TCP的三次握手和四次挥手,以及为什么要三次握手,而不是二次?
- TCP 有哪些状态,相应状态的含义?并发包中锁的实现底层(对AQS的理解)?
- 乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
- SynchronizedMap和ConcurrentHashMap有什么区别?如何使用阻塞队列实现一个生产者和消费者模型?
- 简述一下Java 垃圾回收机制?
- 如何判断一个对象是否存活?
- 什么是tomcat类加载机制?
- 类加载器双亲委派模型机制?
- 让你评价一下你自己?
蚂蚁金服二面:
- 扯了下项目、讲一下项目经历redis的底层数据结构了解多少?
- 知道动态字符串sds的优缺点么(redis底层数据结构之一)?
- redis的单线程特性有什么优缺点?
- 用过 Redis 的哪些数据结构, 分别用在什么场景?怎么解决缓存击穿问题的?
- Hytrix的隔离机制有哪些?
- Hytrix常见配置是哪些?
- 做过哪些调优?
- JVM调优、数据库调优都行!给了个场景,问你怎么调?
蚂蚁金服三面:
- 依然是介绍自己数据库的高可用架构是怎么样的?
- 如何保证数据库主从一致性?
- 知道mysql的索引算法吗?
- 为什么mongodb的索引用了B树,而mysql用B+树?
- 用mysql过程中,有遇到什么问题么?
- 生产用的是哪种事务隔离级别,为什么?
- 谈一谈你对微服务架构的理解?
- 用过哪些RPC框架,讲讲他们优缺点?
- 用过docker吗,对容器了解多少?
蚂蚁金服四面:
聊人生谈理想,HR很ncie,主要交流为什么选择来阿里,未来的打算职业规划以及待遇等,交流挺愉快。
面试经验总结:
技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。
技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。
技术原理深入:重点还是提前准备好JVM、多线程高并发这块。
参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。
以上就蚂蚁金服后端研发面试题,以下该面试题的部分参考答案。
总结
面试难免让人焦虑不安。经历过的人都懂的。但是如果你提前预测面试官要问你的问题并想出得体的回答方式,就会容易很多。
此外,都说“面试造火箭,工作拧螺丝”,那对于准备面试的朋友,你只需懂一个字:刷!
给我刷刷刷刷,使劲儿刷刷刷刷刷!今天既是来谈面试的,那就必须得来整点面试真题,这不花了我整28天,做了份“Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法等”
且除了单纯的刷题,也得需准备一本【JAVA进阶核心知识手册】:JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring 原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。
、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。