2019滴滴面经
2026/1/31大约 2 分钟
2019滴滴面经
一面:
1、自我介绍
2、讲下快速排序,经典快排存在的问题
3、1000万个取其中最大的100个数
3、1 MapReduce的设计思想,但是有内排序的问题
3、2堆排序,堆排序的过程
4、树的中序遍历实现
4.1递归
4.2借助栈
5、介绍下osi7层模型
6、arp协议缓存的过程
7、TCP的控制位
8、TCP的状态
9、TCP建连的状态
10、TCP的头部信息
11、jvm监控系统是通过jmx做的么?再改进中,用的jdk自带的工具
12、java内存结构
13、jvm的栈跟线程关系
14、是每个线程都会创建一个栈还是共用一个栈?
15、介绍volatile的功能
16、总线锁的副作用
17、内存屏障的汇编指令是啥?
18、你有看过什么源码嘛?AQS
19、介绍一下AQS
20、扯到了CAS的原理
21、AQS怎么阻塞当前线程
22、locksupport的park在jvm怎么实现的?
23、你了解垃圾回收吗?
24、垃圾回收器让工作线程停顿下来是怎么做的?
25、GC ROOts对象有几种?
26、gc roots怎么判断一个对象没有被引用?
二面:
1、介绍项目
2、spark用的多吗?
3、在java开发平时做了哪些项目
4、看过源码吗?
5、介绍下ConcurrentHashMap
6、介绍下CAS
7、介绍下volatile
8、手写生产者和消费者
9、mysql的索引失效和优化问题
10、mysql的索引结构
11、回表操作分析
13、介绍下左连接、右连接、全连接查询
14、redis的应用场景
15、redis是单线程还是多线程
16、redis存在线程安全的问题吗?为什么
17、spring aop怎么使用及其原理
18、怎么实现远程rpc?
19、es的应用场景
20、服务被别人攻击,不断刷新页面,怎么解决这个问题