2021 年最新腾讯 Java 面经,Java 面试高级题目
蚂蚁金服一面:
先自我介绍,讲讲自己基础掌握情况,以及项目经历平时会用到哪些数据结构?
链表和数组的优缺点?
解决 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、多线程高并发这块。
参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
很多所用第三方库 &中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。
以上就蚂蚁金服后端研发面试题,以下该面试题的部分参考答案。
最后,附一张自己面试前准备的脑图:
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
Java 核心知识整理
Spring 全家桶(实战系列)
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。
开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
最后祝愿各位身体健康,顺利拿到心仪的 offer!
评论