发个面经,攒攒人品
部门:阿里集团-阿里控股-企业发展产品技术部
时间线:3.31投递--4.7笔试--4.23约面--4.24一面--面完半小时挂
面试官感觉像是从题库选题问八股,回答结果有反馈但不多。前期被狠狠拷打项目,后面纯八股,无手撕,无自我介绍。
项目
- 项目基于什么情况做的?
- nginx反向代理如何实现?
- 一共几台机器?如何实现负载均衡?
- nginx可以实现限流功能吗?如何实现限流?
- 场景题:限流功能,每10s限制5个请求,如何设计?(不会,没答上来)
- 假设第1s来了一个请求,第10s来了4个请求,第11s又来了请求还可以处理吗?
八股
- 什么是B树,什么是B+树?
- 什么是红黑树?
- 什么是ConcurrentHashmap?
- 一个key-value结构存放到ConcurrentHashmap中,需要几次哈希?
答了要根据解决冲突的算法来判断,如果拉链法就一次,再次哈希就两次,不知道对不对
- 什么是LRU算法?
- TCP如何解决粘包问题?
- 什么是volatile关键字?
- 什么是happens-before?
- 什么是synchronized?如何实现?
- 是否了解synchronized的锁升级过程?
- 什么是NIO(异步IO)、AIO(同步非阻塞IO)?
- 什么是select、poll、epoll?
- 什么是零拷贝?
- G1垃圾回收步骤,使用什么垃圾回收算法
- G1和CMS的区别
- Spring如何解决循环依赖问题?
- 生成bean除了普通生成和依赖注入外,还有什么方法?
- Mysql的innodb如何实现行锁?
- 什么是聚集索引、什么是非聚集索引?
- 什么是回表查询?
- 非聚集索引一定会发生回表查询吗?
- 什么是脏读、幻读?
- 幻读如何解决?
- 间隙锁场景考察:有一张表user,有id和name,id为主键,值有1,3,5,7
- select * from user where id=1; 会有间隙锁吗
- select id from user; 会有间隙锁吗
- select * from user where id>3; 会有间隙锁吗