2021 年 Java 高级面试题总结,2021 最新大厂高频微服务面试总结
蚂蚁花呗第一次技术面(60min):
Java 容器有哪些?哪些是同步容器,哪些是并发容器?
ArrayList 和 LinkedList 的插入和访问的时间复杂度?
java 反射原理, 注解原理?
说说一致性 Hash 原理
新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
HashMap 在什么情况下会扩容,或者有哪些操作会导致扩容?
HashMap push 方法的执行过程?
HashMap 检测到 hash 冲突后,将元素插入在链表的末尾还是开头?
1.8 还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是 AVL、B 树之类的?
https 和 http 区别,有没有用过其他安全传输手段?
线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
linux 怎么查看系统负载情况?
请详细描述 springmvc 处理请求全流程?
spring 一个 bean 装配的过程?
项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
一面一共问了 15 个问题,信息量还是很大的,但是可以看到这些问题都不算难,主要是考察基础知识的掌握情况,这一轮面试的难度数据一面的正常难度,持续的时长也算是正常范围。
蚂蚁花呗二次技术面(30min)
查询中哪些情况不会使用索引?
数据库索引,底层是怎样实现的,为什么要用 B 树索引?
Mysql 主从同步的实现原理?
MySQL 是怎么用 B+树?
谈谈数据库乐观锁与悲观锁?
有使用过哪些 NoSQL 数据库?MongoDB 和 Redis 适用哪些场景?
描述分布式事务之 TCC 服务设计?
Redis 和 memcache 有什么区别?Redis 为什么比 memcache 有优势?
Redis 的数据结构
海量数据过滤,黑名单过滤一个 url。
讲一讲 AtomicInteger,为什么要用 CAS 而不是 synchronized?
蚂蚁花呗三次技术面(25min)
考虑 redis 的时候,有没有考虑容量?大概数据量会有多少?
Redis 的 list zset 的底层实现
solr 和 mongodb 的区别,存数据为什么不用 solr?
分布式 session 的共享方案有哪些,有什么优劣势
谈谈分布式锁、以及分布式全局唯一 ID 的实现比较?
集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
数据库分库分表需要怎样来实现?
排序算法的复杂度,快速排序非递归实现。
消息中间件有哪些?他们之间的优劣势?
蚂蚁花呗四次技术面(15min)
分布式架构设计哪方面比较熟悉
介绍你实践的性能优化案例,以及你的优化思路
介绍项目
谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
各种聊项目,从项目的架构设计到部署流程。
最近有没有学习过新技术?
有什么想问我的?
最近两年遇到的最大的挫折,从挫折中学到了什么?
三年到五年的职业规划?
HR 面
1.工作中遇到的最大挑战是什么,你如何克服的?
2.你最大的优点和最大的缺点,各自说一个?
3.未来的职业发展,短期和长期的规划是什么?
最后,你懂的,主要就是 HR 走流程了,主要问了未来的职业规划。
Ending
Tip:由于文章篇幅有限制,下面还有 20 个关于 MySQL 的问题,我都复盘整理成一份 pdf 文档了,后面的内容我就把剩下的问题的目录展示给大家看一下
开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对 MySQL 底层实现以及索引实现问的很多)
吃透后这份 pdf,你同样可以跟面试官侃侃而谈 MySQL。其实像阿里 p7 岗位的需求也没那么难(但也不简单),扎实的 Java 基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来 p7 岗差不多没什么问题,还是希望大家都能拿到高薪 offer 吧。
评论