蚂蚁一二三四面面经
一面0930
gateway怎么实现
限流-令牌桶算法原理-漏桶算法场景-是不是所有场景都可以用令牌桶算法替代
Redis实现令牌桶
GateWay的作用:跨域问题,负载均衡
验证码登陆实现:连续点击发送验证码怎么解决
前端不能完全解决(直接访问接口怎么限制)
RabbitMQ消息队列选型,分别适用于什么场景
redis缓存 读写一致
微信登陆原理 Oauth2
Java容器 线程安全List:Vector与CopyOnWriteArrayList 需不需要加锁
ReentrantLock原理 AQS
synchronized锁的优化 jdk1.6
http与https,怎么防止中间人攻击
二面1010
常用语言
线程与进程
内存调度算法
死锁条件
为什么做这个项目
项目是几个人做的,怎么验证
做登录功能需要考虑哪几个方面
攻击风险
gateway跳转、限流、事务
实名认证怎么做的
消息队列的有序性怎么实现
消息队列怎么保证事务
高并发、大量重复请求、秒杀能力 怎么设计
为什么使用springboot框架
CMS回收底层算法,哪些阶段需要STW
拦截、增强怎么实现
java集合 hashmap 1.8链表长度 红黑树
java复制 三种拷贝 clone方法
三面1013
JVM
JVM的组成(JVM四大组件)
垃圾回收运行在JVM的哪一个区域
双亲委派机制
JDK8之后JMM的变化
为什么要废弃永久代,引入元空间
JDK
创建线程池有哪些方法
固定大小的线程池的风险
concurrentHashMap优化,怎么获得高性能,为什么用红黑树
数据库
定位慢sql原因,如果是扫描语句,几种扫描类型
第三方开源框架
redis集群锁怎么实现:redlock
应用题
while(true){ 新建线程; 线程sleep; }
大概创建多少个线程的时候会挂掉
算法
n个不同的数随机取m个数(时空复杂度)
四面1018
项目技术难度,挑战比较大的东西
怎么测试,并发量 qps
部署的环境,看程序运行的状态
CPU多核,超线程的情况下CPU占用率超过100%
死锁的表现
使用的操作系统的文件系统,应该怎么选取
数据库怎么实现事务的原子性
并发的事务对数据库的挑战
多线程并发的瓶颈,怎么增强
项目中出现过什么bug吗
平时怎么关注行业最新动态
许愿个hr面555