阿里菜鸟久违的二面
# 阿里二面
1. 自我介绍
balabala~
1. 你在项目中遇到哪些有挑战性的点
流量在某一时刻暴涨,然后又猛跌
1. 流量削峰填谷
在客户端与服务器加入消息队列作为缓存机制
接入层与各模块都采用***增加QPS
1. redis 消息队列如何对过期信息/无效信息进行删除
1. 添加过期时间上限
2. 不同组团信息采用不同队列,当该组团满额之后删除队列
2. redis 的持久化机制
1. RDB
2. AOF
3. 为什么JAVA类加载要用双亲委派
实例:Object类唯一
3. 怎么实现同步
Synchronized关键字
Volatile变量
Lock对象
4. JAVA锁有哪几种
1. Sychronized
2. ReentrantLock
5. 两种锁的区别
1. Synchronized 由JVM实现
2. ReentrantLock 由JDK实现
3. ReentrantLock 可中断、公平锁、多条件
6. 了解过AQS吗?
AQS(Abstract Queue Synchronizer)队列同步器
由一个Valotaile变量标记状态State,以及一个CLH(同步、FIFO)队列构成
具体实现类:
1. CountdownLatch: 等待多个线程完成
2. CyclicBarrier:同步屏障
3. Semaphore:控制并发线程数
7. 场景题:给一个方法加上超时异常
1. 使用AspectJ进行AOP开发
2. 将方法调用进行Around切入
3. 采用Future对象创建一个线程,在调用方法同时进行计时
4. 若Future率先返回值则抛出超时异常
5. 否则则正常调用
#内推##阿里巴巴##面经##秋招##提前批##算法工程师#
1. 自我介绍
balabala~
1. 你在项目中遇到哪些有挑战性的点
流量在某一时刻暴涨,然后又猛跌
1. 流量削峰填谷
在客户端与服务器加入消息队列作为缓存机制
接入层与各模块都采用***增加QPS
1. redis 消息队列如何对过期信息/无效信息进行删除
1. 添加过期时间上限
2. 不同组团信息采用不同队列,当该组团满额之后删除队列
2. redis 的持久化机制
1. RDB
2. AOF
3. 为什么JAVA类加载要用双亲委派
实例:Object类唯一
3. 怎么实现同步
Synchronized关键字
Volatile变量
Lock对象
4. JAVA锁有哪几种
1. Sychronized
2. ReentrantLock
5. 两种锁的区别
1. Synchronized 由JVM实现
2. ReentrantLock 由JDK实现
3. ReentrantLock 可中断、公平锁、多条件
6. 了解过AQS吗?
AQS(Abstract Queue Synchronizer)队列同步器
由一个Valotaile变量标记状态State,以及一个CLH(同步、FIFO)队列构成
具体实现类:
1. CountdownLatch: 等待多个线程完成
2. CyclicBarrier:同步屏障
3. Semaphore:控制并发线程数
7. 场景题:给一个方法加上超时异常
1. 使用AspectJ进行AOP开发
2. 将方法调用进行Around切入
3. 采用Future对象创建一个线程,在调用方法同时进行计时
4. 若Future率先返回值则抛出超时异常
5. 否则则正常调用
经确认,过了。本周也拿到自己第一份Offer thoughtworks~
我删除了对于ReentrantLock的部分评价。ReentrantLock是基于AQS实现的,AQS的基础又是CAS
#内推##阿里巴巴##面经##秋招##提前批##算法工程师#