面经--问题
面试 社招(都是1面,以前也没面过)
下午 腾讯云:
1.为什么不用threadlocal而是用CompututableFuture?说说CompututableFuture底层的实现?我要怎么指定顺序
使用CompututableFuture?
2.java有哪些锁?ReentrantLock是怎么保证线程安全的?
3.你怎么优化视频大小?
4.如果大量网络请求堵塞,你能不能从tcp层来优化?
5.你为什么创建对象池,而不是直接new?有了解过new一个对象具体消耗多少资源吗?对象池怎么知道什么时候创建对象的,什么时候销毁对象的呢?上限会怎样?
晚上 阿里
1.这个场景为什么会使用多线程?感觉你的场景并发量不大?瓶颈是出现在哪里?
2.对象池是如何借对象的?
3.说下nio吧
4.考了道算法题:动态规划的(随便找的,中等的leetcode)
总结:
大厂专注从你的项目点出发,然后考到底层逻辑实现,然后还有算法题

建议提前6个月做准备,不要像我12月才做准备。
一家学前教育公司
- 自我介绍
- 介绍一下你最了解的一个项目中的某个模块,你在这个模块做了什么功能
- 这种手机卡一般在去下单的时候一般都是要实名信息的,你们对于身份证这一块的信息是怎么保存的?
- 直接明文存到数据库里面如果你们数据库泄露了怎么办?
- 如果现在要把身份证信息不进行明文处理你会怎么做?
- 你简历上这个百万级的数据更新大概需要多长的时间呢?实现过程有发现什么问题吗?
- 为什么MySQL单条更新慢,而多条更新它会更快一点呢
- 在问问几个Java问题,你说说你在项目中对多态的理解是怎么样?
- 在Java中,我要对一个对象进行一个排序,有哪几种实现方式?
- 讲讲你们项目中线程池的配置
- Spring里面的常用的注解有哪些?那些简单的MVC的注解就不要说了
- Spring的循环依赖是如何解决的,然后它不能解决的时候,我们采用哪些办法
- 如果我想要一个Bean对象依赖另外一个Bean对象的顺序去注入应该怎么做?
- Spring 生态里面经常会有一些start,这些包,你是怎么理解这些 start 这些包呢?
- 再说一下SpringBoot的自动装配吧
- 我看到你有实现一个功能,保存用户视频播放进度,你可以说一下你是怎么设计的吗?
- 为什么你们这个视频播放要设置到80%就算播放完成了?
- 你们这个视频课程长度,一个视频大概是多少时间
- 那你有没有发现过进度前端给你的进度和你后端实际记录的进度数值不一样的情况?
- 假设你们这个视频播放后面有毫秒,那这种毫秒前端它在取整给你的时候可能取不到。那这一块你们是怎么去进行一些数据的合并?这些进度的合并啊。
- 假设那这时候前端它每 15 秒发送一次请求,那如果它不到 15 秒,不到 15 秒这一段数据是不存到你们库里面,还是说怎么着?
- 那么拖拽进度你们这一块是怎么处理的
- MySQL 这一块你可以说一下 union 和 union all 的区别吗?.
- MySQL 的索引你知道的有哪几种索引
- 唯一索引和主键索引,他们两个的执行效率,你认为哪一个是比较快的
- 在索引里面有Hash索引和B+树索引,它们两个的区别在哪里
- 如果在做一些查询的时候遇到深度分裂问题,你一般会怎么去解决?
- 实际业务场景中 ID 很少是自增的ID。怎么去优化深度分页的这么一个问题?
- Websocket怎么去保证线上它是一个存活的一个状态的。
- DockerFIle一般是怎么去写的?你说一下它写的一个思路是怎么样的
- 反问