1. ioc原理、aop原理和应用

    1. ioc原理 控制反转(依赖注入)
      1. 本质是,spring维护了一个实例的容器,在需要使用某个实例的地方,自动注入这个实例
      2. 主要运用了反射机制,通过反射来创建约定的实例,并维护在容器中
    2. aop原理 面向切面编程
      1. 原理是动态代理
      2. 比如日志、监控等公共行为可以通过AOP来实现,避免大量重复代码
      3. 元素
  2. 大数据相关,MapReduce

  3. Docker的原理

  4. Http协议

  5. cookie session介绍一下

  6. session表结构怎么设计,储存在哪里?

  7. 你们的session cookie在项目里运用到哪里?

  8. 算法题:[删除链表中重复的节点]在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留,返回链表头指针.例如,链表1-2-3-3-4-4-5处理后为1-2-5

  9. TCP/UDP的区别介绍一下

  10. TCP如何保证传输的有效性。

  11. TCP的拥塞控制

  12. TCP建立连接的三次握手

  13. TCP四次挥手断开连接

  14. Java的锁机制

  15. 死锁产生的原因

  16. 三次握手和四次挥手,time_wait是什么状态

  17. B树 B+树区别说一下

  18. 数据库平时用到过什么 咱们先问MySQL MySQL索引原理知道吗,问了两种索引的区别

  19. 索引的分类和优缺点

  20. innodb和myisam的区别

  21. 乐观锁悲观锁区别说一下

  22. 数据库四种隔离状态 分别有什么问题

  23. redis的数据结构

  24. sortset底层,原理,怎么保证有序

  25. 冯诺依曼计算机的结构

  26. 操作系统的虚拟内存

  27. 进程的调度

  28. 进程间的通讯方式

  29. 线程间的同步方式

  30. 进程和线程的区别

  31. 常见的排序算法

  32. spring 事务实现

蚂蚁花呗一面(近一个小时左右),主要是看简历里的经历。面试官很谦和,会用比较委婉的方式了解面试者更方面的经验和能力。

  1. Java容器有哪些?哪些是同步容器,哪些是并发容器?
  2. ArrayList和LinkedList的插入和访问的时间复杂度?
  3. java反射原理, 注解原理?
  4. 说说一致性 Hash 原理
  5. HashMap在什么情况下会扩容,或者有哪些操作会导致扩容?
  6. 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法?
  7. HashMap push方法的执行过程?
  8. HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头?
  9. https和http区别,有没有用过其他安全传输手段?
  10. 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?
  11. 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?
  12. linux怎么查看系统负载情况?
  13. spring 一个bean装配的过程?
  14. 请详细描述springmvc处理请求全流程?
  15. 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理

第一面能通过,后续被录用的可能性就比较高了,第一轮非常重要

蚂蚁花呗二面

  1. Mysql主从同步的实现原理?
  2. MySQL是怎么用B+树?
  3. 谈谈数据库乐观锁与悲观锁?
  4. 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?
  5. 描述分布式事务之TCC服务设计?
  6. Redis和memcache有什么区别?Redis为什么比memcache有优势?
  7. Redis 的数据结构
  8. 查询中哪些情况不会使用索引?
  9. 数据库索引,底层是怎样实现的,为什么要用B树索引?
  10. 海量数据过滤,黑名单过滤一个 url。
  11. 讲一讲AtomicInteger,为什么要用CAS而不是synchronized?

蚂蚁金服的面试非常严格,流程也很规范。

蚂蚁花呗三面

  1. solr和mongodb的区别,存数据为什么不用solr?
  2. 分布式 session 的共享方案有哪些,有什么优劣势
  3. 谈谈分布式锁、以及分布式全局唯一ID的实现比较?
  4. 考虑redis的时候,有没有考虑容量?大概数据量会有多少?
  5. Redis 的 list zset 的底层实现
  6. 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?
  7. 排序算法的复杂度,快速排序非递归实现。
  8. 消息中间件有哪些?他们之间的优劣势?
  9. 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?
  10. 数据库分库分表需要怎样来实现?

蚂蚁花呗四面

  1. 分布式架构设计哪方面比较熟悉
  2. 介绍你实践的性能优化案例,以及你的优化思路
  3. 介绍项目
  4. 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里
  5. 各种聊项目,从项目的架构设计到部署流程。
  6. 最近有没有学习过新技术?
  7. 有什么想问我的?
  8. 最近两年遇到的最大的挫折,从挫折中学到了什么?
  9. 三年到五年的职业规划?

HR面

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

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

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

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

以上就是蚂蚁花呗高级java面试题,以下最全蚂蚁花呗高级Java必考题范围和答案。

相信它会给大家带来很多收获。(更全的内容和资料,在文末获取)