总结
- 因为面试的时候没有记笔记, 只能回忆起部分问题了. 主要还是考察基础和算法.
一面(2021/4/14, 60min)
JVM:
- 垃圾回收, 什么是垃圾, 有什么回收垃圾的算法?
- 并发垃圾回收导致的问题, 咋解决啊?
- 讲讲CMS和G1.
计网:
- HTTP报文头, 状态码.
- TCP咋保证可靠呢?
- linux怎么监视端口被占用?
- HTTPs怎么就安全了, 他是哪种加密?
- 对于网络层和运输层, 你都用过那些linux命令? (我只知道网络层的ping和ifconfig, 运输层我不到啊)
知道排序算法吗?
- 讲讲你知道的排序算法
- 现在有一百万个范围在1~1亿的数字, 想要进行排序, 你会使用什么排序算法? 算一算这么多个数字到底多大再说要不要用外排序.
- 你使用的排序, 还是O(nlogn)的排序, 还能在加快吗? (那就只能使用不基于比较的排序了, 使用桶排序) 用桶排序的话, 又要用多大的内存呢?
数据库:
- 写个SQL, 从(id, 班级, 成绩)里查出每个班级的平均分(没写好换了下一道).
- 写个SQL, 从(id, 班级, 成绩)里查出成绩前十的人.
算法: 二叉树的最近公共祖先
- 一面之后不到20分钟就打电话约二面了. 但是我晚上还有点事就改到了第二天.
二面(2021/4/15, 60min)
JVM:
- 什么是垃圾?
- 4种引用类型?
- volatile, 讲讲JMM以及volatile底层实现.
- 具体讲讲CMS和G1的垃圾回收
- 讲讲增量回收和原始快照是针对什么问题, 具体怎么解决的?
计网:
- TCP三次握手, 四次挥手细说
- 四次挥手为什么最后有个TIME-WAIT?
- HTTPs四次的过程.
JUC相关:
- 死锁, 咋产生的
- 用过啥控制并发的关键字和工具类啊? 具体原理说说.
- 讲讲synchroized, 讲讲4种锁状态
java相关命令用过那些? (jps, javac, jstack...)
数据库索引:
- 为啥要用b+树
- 什么时候优化, 怎么优化
- 编写sql的原则.
算法: 滑动窗口最大值 我直接用的暴力, 面试官说那也行吧.
- 二面之后也是20分钟之后就约三面了, 但是我第二天要开组会就约到了下周一. 许愿三面顺利吧!
全部评论
(3) 回帖