写点什么

阿里技术官打造 790 页 SpringCloud 笔记,GitHub 已标星 81.6k

发布于: 2021 年 04 月 10 日

前言

前两天,我收到了蚂蚁金服的 offer,从朋友的内推开始面试到拿到最后 offer 经历了 4 面技术、一面交叉面和一面 HR 面。经过了漫长的等待和几次几乎折磨的面试之后,终于拿到了 offer。

蚂蚁花呗第一次技术面(60min):

  1. Java 容器有哪些?哪些是同步容器,哪些是并发容器?

  2. ArrayList 和 LinkedList 的插入和访问的时间复杂度?

  3. java 反射原理, 注解原理?

  4. 说说一致性 Hash 原理

  5. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?

  6. HashMap 在什么情况下会扩容,或者有哪些操作会导致扩容?

  7. HashMap push 方法的执行过程?

  8. HashMap 检测到 hash 冲突后,将元素插入在链表的末尾还是开头?

  9. 1.8 还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是 AVL、B 树之类的?

  10. https 和 http 区别,有没有用过其他安全传输手段?

  11. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?

  12. linux 怎么查看系统负载情况?

  13. 请详细描述 springmvc 处理请求全流程?

  14. spring 一个 bean 装配的过程?

  15. 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

一面一共问了 15 个问题,信息量还是很大的,但是可以看到这些问题都不算难,主要是考察基础知识的掌握情况,这一轮面试的难度数据一面的正常难度,持续的时长也算是正常范围。

蚂蚁花呗二次技术面(30min)

  1. 查询中哪些情况不会使用索引?

  2. 数据库索引,底层是怎样实现的,为什么要用 B 树索引?

  3. Mysql 主从同步的实现原理?

  4. MySQL 是怎么用 B+树?

  5. 谈谈数据库乐观锁与悲观锁?

  6. 有使用过哪些 NoSQL 数据库?MongoDB 和 Redis 适用哪些场景?

  7. 描述分布式事务之 TCC 服务设计?

  8. Redis 和 memcache 有什么区别?Redis 为什么比 memcache 有优势?

  9. Redis 的数据结构

  10. 海量数据过滤,黑名单过滤一个 url。

  11. 讲一讲 AtomicInteger,为什么要用 CAS 而不是 synchronized?

蚂蚁花呗三次技术面(25min)

  1. 考虑 redis 的时候,有没有考虑容量?大概数据量会有多少?

  2. Redis 的 list zset 的底层实现

  3. solr 和 mongodb 的区别,存数据为什么不用 solr?

  4. 分布式 session 的共享方案有哪些,有什么优劣势

  5. 谈谈分布式锁、以及分布式全局唯一 ID 的实现比较?

  6. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?

  7. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?

  8. 数据库分库分表需要怎样来实现?

  9. 排序算法的复杂度,快速排序非递归实现。

  10. 消息中间件有哪些?他们之间的优劣势?

蚂蚁花呗四次技术面(15min)

  1. 分布式架构设计哪方面比较熟悉

  2. 介绍你实践的性能优化案例,以及你的优化思路

  3. 介绍项目

  4. 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里

  5. 各种聊项目,从项目的架构设计到部署流程。

  6. 最近有没有学习过新技术?

  7. 有什么想问我的?

  8. 最近两年遇到的最大的挫折,从挫折中学到了什么?

  9. 三年到五年的职业规划?

HR 面

  1. 1.工作中遇到的最大挑战是什么,你如何克服的?

  2. 2.你最大的优点和最大的缺点,各自说一个?

  3. 3.未来的职业发展,短期和长期的规划是什么?

最后,你懂的,主要就是 HR 走流程了,主要问了未来的职业规划。

总结:

每一次面试都感觉是煎熬,虽然之前看过很多阿里的面经,都说阿里面试官会抓住某一点一直问下去,直到问到你不会为止,但是当第一次亲身体会的时候,还是感觉很煎熬。

不过最终的结果还是好的,至少收到了心仪的 offer,能在这个疫情期间,大环境不好的情况下找到工作。

京东一面

  1. JVM 内存分哪几个区,每个区的作用是什么?JVM 有哪些回收算法,对应的收集器有哪些?

  2. GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。

  3. hashmap 源码问题

  4. HashMap、HashMap 如何保证线程安全、ConcurrentHashMap

  5. HashMap 底层结构 put 操作讲一下

  6. GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。

  7. java 线程同步都有哪几种方式,在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?

  8. cas 的原理,变量要用哪个关键字修饰,volatile 实现的原理。

  9. 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?

  10. MYSQL 数据库服务器性能分析的方法命令有哪些?

  11. 什么是通用 SQL 函数?

  12. 手撕代码:按层次遍历二叉树?

  13. Java 配置的方式配置 Spring

  14. spring 中用到了什么, 简述 AOP 和 IOC 概念,aop 是怎么实现的?

京东二面

  1. 自我介绍 &项目

  2. 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

  3. 分布式锁原理

  4. CAS 算法,CAS 与 synchronized 的使用情景

  5. 简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

  6. 分别解决什么问题?

  7. dubbo 有哪些模块,底层通信的原理?Dubbo 集群的负载均衡有哪些策略? 

  8. 如果让你实现一个 https,你会怎么实现?

  9. 常用的负载均衡,该怎么用,你能说下吗?

  10. 常见的分布式事务方案有哪些?

  11. Dubbo 的核心功能?如何从 0 到 1 设计一个类似 Dubbo 的 RPC 框架?

京东三面

  1. 再谈谈一致 hash 算法(redis)?

  2. 数据库索引,B+树的特性和建树过程。

  3. mysql 相关的行锁,表锁;乐观锁,悲观锁

  4. 分布式锁的方案,redis 和 zookeeper 哪个个好,如果是集群部署,高并发情况下哪个性能更好。

  5. activeMQ 发送消息的方式有哪些?activeMQ 如何调优

  6. 设计模式与重构,谈谈你对重构的理解

  7. Collections.sort 底层排序方式

  8. 说说 Redis 哈希槽的概念?Redis 集群如何选择数据库?

  9. spring cloud 的服务注册与发现是怎么设计的?

京东四面

  • 自己参与的项目,技术难度高的有哪些?

  • 线上有实际的性能优化经验?

  • 从 SQL、JVM、架构、数据库四个方面讲讲优化思路,以及如何优先排序?

  • redis 的持久化方式,redis3.0 原生集群和 redis 读写分离+哨兵机制区别

  • 如果让你实现一个 mq,怎么样保证消息不丢失

  • 你熟悉哪些中间件,谈谈你对他们的理解,以及对应的使用场景区别?

  • 最后,你有什么想问我的?

HR 面

  1. 自我介绍

  2. 项目介绍

  3. 如何学习新技术?

  4. 遇到的最大挑战以及如何解决?

  5. 大学最大的收获?

  6. 如何团队合作的?

  7. 职业规划

写在最后

很多人感叹“学习无用”,实际上之所以产生无用论,是因为自己想要的与自己所学的匹配不上,这也就意味着自己学得远远不够。无论是学习还是工作,都应该有主动性,所以如果拥有大厂梦,那么就要自己努力去实现它。

读者福利

由于文章的篇幅有限,我把这次的蚂蚁金服和京东面试题答案整理在了 PDF 文档里(文末获取)


需要获取得话麻烦一键三连+评论,然后添加 VX(tkzl6666)即可免费领取


用户头像

微信:tkzl6666 添加获取你想要的Java资料 2019.01.29 加入

添加VX(tkzl6666 ) 获取大厂面试真题,面试复习资料,Java进阶资料,Java实战项目。

评论 (1 条评论)

发布
用户头像
阿里技术官打造 790 页 SpringCloud 笔记,GitHub 已标星 81.6k
2021 年 04 月 10 日 16:24
回复
没有更多了
阿里技术官打造790页SpringCloud笔记,GitHub已标星81.6k