(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优

Posted 敲代码的程序狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优相关的知识,希望对你有一定的参考价值。

前言

前两天,我收到了蚂蚁金服的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.工作中遇到的最大挑战是什么,你如何克服的?

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

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的服务注册与发现是怎么设计的?

京东四面

  1. 自己参与的项目,技术难度高的有哪些?
  2. 线上有实际的性能优化经验?
  3. 从SQL、JVM、架构、数据库四个方面讲讲优化思路,以及如何优先排序?
  4. redis的持久化方式,redis3.0原生集群和redis读写分离+哨兵机制区别
  5. 如果让你实现一个mq,怎么样保证消息不丢失
  6. 你熟悉哪些中间件,谈谈你对他们的理解,以及对应的使用场景区别?
  7. 最后,你有什么想问我的?

HR面

  • 自我介绍
  • 项目介绍
  • 如何学习新技术?
  • 遇到的最大挑战以及如何解决?
  • 大学最大的收获?
  • 如何团队合作的?
  • 职业规划

写在最后

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

读者福利

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

以上是关于(五面蚂蚁金服+四面京东)面经分享:基础+索引+网络+架构设计+分布式+调优的主要内容,如果未能解决你的问题,请参考以下文章

金九银十:蚂蚁金服技术五面(Java研发岗),已拿offer

自信,紧张,焦虑,意外?蚂蚁金服难忘的四面经历,真的太刺激了

阿里蚂蚁金服Java程序员面试的11个问题,你会几个呢?

「面经」阿里蚂蚁金服 offer 之路

GitHub 最新蹿火! 蚂蚁金服,拼多多 , 百度面经分享

蚂蚁金服Java研发三面(电面+现场面),终获offer分享我的面经感悟