阿里Java实习7面面经
2021年2月25日 周四 部门C 一面(通过)
- RPC调用的过程
- 项目中遇到的困难
- 实习慢SQL调优
- 什么是死信和延迟队列
- 使用的业务场景?
- 类加载过程
- 啥时候破坏双亲委派
- 线程类加载器实现原理
- HashMap数据结构,插入过程,扰动函数
- ConcurentHashMap如何保证线程安全
- synchronized
- new一个对象的过程
- JVM内存模型
- MinorGC和FullGC发生场景
- 新生代对象啥时候晋升老年代
- TCP三次握手四次挥手
- Time_wait的作用
- 为啥握手是三次而挥手是四次
- MySQL中索引的数据结构
- B+树和B树区别
- BeanFactory和FactoryBean的区别
- Spring如何解决循环依赖
- SpingIOC注入对象过程
- Spring三级缓存机制
- 消息队列如何保证消息被消费到
- 如何检测网络抖动导致的数据丢失
- 大数据量查询如何优化效率
- 分库分表的设计思路
- 线程池处理任务的过程
- 四大拒绝策略
- AOP的实现原理
1.慢sql优化
2.介绍消息队列整体架构
3.死信队列,延迟消费(如何实现延时策略,多次失败控制)
4.如何保证消息消费的幂等性
5.如何保证分布式系统中数据库插入的幂等性
6.介绍跳表数据结构
7.redis为啥用跳表不用B+树
8.如果让你设计一个服务注册中心,怎么设计
9.追问:服务注册信息的拆分要怎么做,如果注册中心服务器宕机怎么保证高可用,服务注销怎么实现
10.Netty中的select过程
11.Netty为啥效率高(零拷贝,线程模型)
12.零拷贝讲讲(mmap优化,sendfile)
13.TCP拥塞控制(慢启动,快速重传,快速恢复)
14.SpringBoot启动过程
15.算法 LC30(hard)的加强版
16.算法 反转双向链表
2021年2月26日 周六 部门B 一面(通过)
- 慢sql优化
- 如果起十个线程收集数据,其中一个卡住了咋办
- RPC调用中服务注册怎么做的
- 服务注册怎么进行服务注销监听
- 服务注册中心的功能除了放在额外的服务器上实现还能放在哪里?怎么实现
- RPC调用中如果出错怎么处理
- RPC框架写了多少行
- 在美团实习写代码写了多少行
- 在美团实习有啥收获
- 讲讲sychronized(偏向锁,锁升级,轻量级锁,锁膨胀,批量重偏向,对象头中epoch字段的作用,锁消除)
- 讲讲volatile(可见性怎么保证,有序性怎么保证,内存屏障LL,LR,RR,RL,CPU缓存行,lock汇编指令)
- 反问,部门业务
- 你微信号多少,以后多交流(还有这操作?)
2021年2月28日 周日 部门B 二面(通过)
- RPC调用中使用随机算法和轮转算法做负载均衡的优缺点
- RPC调用中服务器宕机之后发生了什么
- RPC服务注册和服务发现服务注销怎么做的
- RPC心跳怎么实现的,是服务端给服务注册中心心跳还是服务端给客户端心跳
- 讲讲MQ了解多少
- MQ中如何保证消息消费的幂等性
- MQ能保证不出现重复消息吗
- 项目中的MQ怎么保证幂等性的
- 实习慢SQL调优介绍下
- 这样做有啥问题
- 如果让你再优化呢
- Java中什么时候会出现线程不安全
- Java中的锁有哪些
- 锁的状态?
- ConcurrentMap解决了HashMap的什么问题
- 讲讲ConcurrentMap
- 讲讲JVM中的堆的分区和作用
- 智力题1:3点15分时针分针夹脚
- 智力题2:一个3升的桶,一个5升的桶,隔4升的水,要求两种方法
- 结束:我觉得你基础不错,表达能力不错,也有自己的思考,但是实践经历还是比较欠缺,这边面试通过了,其他的等系统开了之后再跟进吧
2021年3月1日 周一 部门C 二面(通过)
1.对TCP/IP协议的了解
2.假设有个包到达服务器网卡之后发生了什么(回答:报头的波形同步时钟,起始帧分界符,MAU模块,MAC模块,检查FCS,知计算机收到了一个包)
3.打断+追问:网卡如何通知计算机收到包(回答:扩展总线,中断信号线,中断控制器,中断处理程序,网卡的驱动程序)
4.打断+追问:中断处理程序怎么知道调用网卡的驱动程序,不同中断有啥区别(回答:硬件的中断号和相应的驱动程序绑定)
5.对于高并发场景怎么处理(开始介绍Netty......)
6.介绍NIO
7.介绍Reactor
8.介绍Proactor(不记得了.......)
9.为啥要用异步IO不用多线程,不是一样可以加速吗?
10.如果让你设计一个RPC框架,要设计啥(服务注册中心,负载均衡,无感调用,服务注销)
11.如果服务调用过程中服务器突然宕机怎么处理?(答服务注销钩子,心跳检测,二次请求)
12.追问,如果插入5个数据,插入完第一个服务器宕机了咋办?(答思路,和服务注册中心维护一个执行偏移量,然后从偏移点继续执行)
13.追问,如果连偏移量都还没来得及同步呢(die了,不会)
14.实习工作中的产出
15.慢sql优化?
16.如何解决数据groupby的时候哈希不均衡问题(答:定时任务定时捏合数据,追问,只从sql层面,凉。。。)
17.反问:如何学习上述没答出来的问题?(多实践,多看源码)
18.反问:今天面试表现如何?(整体还是ok的,可以看出在很多地方有自己的思考)
2021年3月2日 周二 部门A 二面(通过)
1.实习过程中的产出
2.在校期间的项目
3.线上问题怎么排查
4.平时咋学习的
5.长达40分钟的反问时间
6.反问1.如何在面试中拿到更高的评级
7.反问2.如何学习
8.反问3.如何解决数据groupby的时候哈希不均衡问题?
9.反问4.后续面试有啥准备的建议
10.反问5.工作中如何更好的提升自己
11.后续的部门交叉面试保持联系