一共80分钟左右,体验很好 一、自我介绍 二、问会什么?介绍下springboot 三、基础 JVM部分: 介绍一下双亲委派 为什么要用双亲委派? jvm垃圾回收有哪些算法? 操作系统部分: 线程和进程的区别? 进程IPC有哪些?用过哪些? 管道和有名管道的区别? 死锁解决 计算机网络部分: UDP和TCP的区别?用过网络编程吗?端口被占用怎么办? 三次握手四次挥手了解吗?讲一讲为什么要有四次挥手,四次挥手的各个阶段? Linux部分: 学过linux吗?讲一下僵尸进程,怎么查找一个进程是不是僵尸进程 Linux的常用指令 数据库部分: Redis: Redis一般用来做什么? Redis为什么快? 讲一讲基本的数据结构?有几种?分别为什么?各有什么优势? 如果设计一个高校校花排行榜,需要用到什么数据结构? ZSET的底层实现?你能自己设计一个吗? 缓存雪崩缓存穿透讲一讲? mysql(问得比较细): mysql有什么索引引擎?有什么区别?用过什么索引? myisam为什么只支持表级锁? 数据库锁了解多少?隔离级别呢? 讲一讲innodb有什么索引?为什么要用b+树不用b树或者红黑树? b+树和b树的区别? 聚集索引和非聚集索引的区别?什么时候用聚集索引什么时候用非聚集索引? 讲一讲最左匹配原则,面试官举两个例子问能不能走索引? 其他: treemap的底层实现 红黑树插入的时间复杂度 数组和链表的区别 数组为什么查找比较快 算法题: 字符串有三种编辑操作:插入一个字符、删除一个字符、或者替换一个字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 输入:first = "pale" second = "ple"输出:True 输入:first = "pal" second = "pel"输出: True 输入:first = "pales" second = "pal"输出: False 反问环节 问在平时学习中应注意什么? 答:应注重实践 要多想怎么做 为什么这么做 这么做有什么好处 能改进吗?