经历
毕业也一年了,想着也可以出去磨炼一下,然后就投了蚂蚁。
一面(电话面试)
一个挺年轻的声音
- 谈谈你的经历
- 简要说一下自己负责的项目
- 线程池用过吗,作用和原理
- jvm内存模型,静态变量,成员变量,构造方法,局部变量等分别是放在哪里的
- 类的加载过程
- 有什么要问我的吗?
晚上的邮件为笔试两道算法题,相对挑的是简单的
二面:(视频面试)
- 谈谈项目
- jvm内存模型
- ⽤过 CountDownLatch 么,有什么方法,await是线程安全的吗
- 多线程高并发怎么保证线程安全
- ConcurrentHashMap的实现原理
- 乐观锁和悲观锁
- 消息队列有了解吗?有几种模式,讲讲订阅-消费模式
- 聊一聊什么情况下会发生fullgc,怎么排查,怎么dump
- 你是如何创建一个线程池的,有哪些方法参数,讲一下流程
- 有什么要问我的
三面 (视频面试,技术最终面)
- 谈谈项目
- 让你去设计分布式微服务的日志中心你怎么设计
- 线上出问题了你改怎么去排查
- 你的redis还是单点吧,万一是高并发的场景你怎么保证程序能正常运行,怎么去优化
- 聊聊乐观锁悲观锁,怎么实现的。有1000个并发去写数据库用乐观锁还是悲观锁
- 有什么要问的
结果
三面没过,毕竟支付宝嘛,对高并发相关还是很注重的。redis那一块没答上来,其实当时我是知道一点的,她提示我三大运营商怎么存储号码的时候我就有点知道了,但是还是没敢说,因为前面说的不好。还是得多看多学吧,等我吃透了《并发编程的艺术》、《深入理解java虚拟机》后再试试吧。同时也要多去了解秒杀场景下的一些问题