一面 50min
主要就是问基础知识,由于没有录音只能记个大概了
讲讲 JVM 内存区域?什么时候会产生 OOM 问题?
讲讲 wait-notifly ?
知道 HashMap 的原理吗?具体讲讲
进程的状态?
虚拟地址和物理地址是什么?
讲讲段页式存储管理方式?
HTTP 和 HTTPS 的区别?
讲讲 UDP 和 TCP 的区别?
知道拥塞控制算法吗?快重传?
讲讲 TCP 四次回收
Redis 为什么快?
知道跳表吗?具体讲讲
MySQL 数据库两种引擎的区别?
聚簇索引和非聚簇索引?
讲讲 Innodb 四种隔离级别?
排序算法
二面 54min
问题不多,大多是从一个点扩展开的。
排序算法?(讲了各种排序算法)
堆排序的实现?时间复杂度是多少?为什么?
Mysql 索引基于什么数据结构?这么做有什么好处?为什么不用 B 树?
为什么 MongoDB 选用 B 树作为索引实现?
并发编程了解的怎么样?AQS 了解吗?能讲讲它的内部原理吗?
了解字节码文件的内部结构吗?具体说说
讲讲类加载机制?怎么自定义类加载器?
有没有使用过什么命令去查看堆内存?使用什么命令可以导出 dump 文件?
讲讲 Spring AOP 的原理? 实现了什么接口? 如何使用 AOP ?
有了解过 AspectJ 吗?它的原理是什么?有看过 ASM 的源码吗?
有用过 Springboot 的 starter 吗?Springboot 的自动配置原理能讲讲吗?
有了解过函数式编程吗?(说了一些函数式接口)
反问环节:
部门技术栈
推荐书籍
哪方面还需要提升
三面 30min
讲讲你项目中的难点?
你项目中的 Stream 并行流是如何解决计算效率的?
如果我需要先并行执行几个子任务,然后再串行执行后续流程怎么实现?
假如你的项目中频繁出现 Full GC,你会怎么做?
你能讲讲 Spring IoC 的原理吗?
你的后续打算是读研还是就业?为什么?
反问环节:
部门的新人培养