支付宝|阿里中间件/百度/蚂蚁中间件Java岗面试究竟有多难?你亲自体验下( 二 )

  • 重点问了Java线程锁:synchronized 和ReentrantLock相关的底层实现
  • 线程池的底层实现以及常见的参数
  • 数据结构基本都问了一遍 , 链表、队列等
  • Java内存模型:常问的JVM分代模型 , 以及JDK1.8后的区别 , 最后还问了JVM相关的调优参数
  • 分布式锁的实现比较
技术一面题目:
1:自我介绍
2:擅长哪方面的技术?
3;java有哪些锁中类?(乐观锁&悲观锁、可重入锁&Synchronize等)
4:比较重要的数据结构 , 如链表 , 队列 , 栈的基本原理及大致实现
5:J.U.C下的常见类的使用 。 Threadpool的深入考察;blockingQueue的使用
6:Java内存分代模型 , GC算法 , JVM常见的启动参数;CMS算法的过程
7:Volatile关键字有什么用(包括底层原理)?
8:线程池的调优策略
9:Spring cloud的服务注册与发现是怎么设计的?
10:分布式系统的全局id如何实现
11:分布式锁的方案 , redis和zookeeper那个好 , 如果是集群部署 , 高并发情况下那个性能更好?
Java中间件二面
技术二面考察范围:
  • 问了项目相关的技术实现细节
  • 数据库相关:索引、索引底层实现、mysql相关的行锁、表锁等
  • redis相关:架构设计、数据一致性问题
  • 容器:容器的设计原理等
技术二面题目:
  1. 参与的项目 , 选一个 , 技术难度在哪里?
  2. Collections.sort底层排序方式
  3. 负载均衡的原理
  4. 设计模式与重构 , 谈谈你对重构的理解
  5. 谈谈redis相关的集群有哪些成熟方案?
  6. 再谈谈一致hash算法(redis)
  7. 数据库索引 , B+树的特性和建树过程
  8. Mysql相关的行锁 , 表锁、乐观锁、悲观锁
  9. 谈谈多线程和并发工具的使用
  10. 谈谈redis的架构和组件
  11. Redis的数据一致性问题(分布式多节点环境&单机环境)
  12. Docker容器
Java中间件三面
技术三面考察范围:
  • 主要谈到了高并发的实现方案
  • 以及中间件:redis、rocketmq、kafka等的架构设计思路
  • 最后问了平时怎么提升技术的
技术三面题目:
  1. 高并发情况下 , 系统是如何支撑大量的请求的?
  2. 接着上面的问题 , 延伸到了中间件 , kafka、redis、rocketmq、mycat等设计思路和适用场景等
  3. 最近上过哪些技术网站?最近再看哪些书?
  4. 工作和生活中遇见最大的挑战 , 怎么去克服?
  5. 未来有怎样的打算
Java中间件四面
最后 , 你懂的 , 主要就是HR走流程了 , 主要问了未来的职业规划 。
蚂蚁中间件团队面试题
蚂蚁中间件一面
  1. 自我介绍
  2. JVM垃圾回收算法和垃圾回收器有哪些 , 最新的JDK采用什么算法?
  3. 新生代和老年代的回收机制
  4. 讲一下ArrayList和linkedlist的区别 , ArrayList与HashMap的扩容方式
  5. Concurrenthashmap1.8后的改动
  6. Java中的多线程 , 以及线程池的增长策略和拒绝策略了解么?
  7. Tomcat的类加载器了解么?
  8. Spring的ioc和aop , Springmvc的基本架构 , 请求流程