-
自我介绍 x 1
-
项目深挖(整体架构,技术对比和选择原因,负载均衡策略,几种io模型,这块比较熟悉说了很多,面试官也没有打断,还追问了epoll具体实现,触发方式等)
-
hashmap原理,扩容,问了我hashmap怎么缩容(这里应该说红黑树退化链表的,hashmap没有缩容,我还以为自己记错了😭)
-
hashtable hashmap synchronizedmap concurrentmap(细说,这里我紧张,面试官开始引导我,爱了!!!)
-
代理模式(静态动态,动态的两种方式及区别,cglib缺点我说了final和首次字节码生成的效率)
-
快排归并,区别,手撕时间复杂度推导
思维题 两个人轮流扔硬币,谁先扔正面谁赢,求先抛的人赢得概率(淦,这里理解错题意了,就是简单的等比数列求和加极限就能做)
算法题 排列组合
二面-
自我介绍x2
-
看你第一个项目聊了很多,这次说说第二个项目(麻了,第二个项目是一个落地的crud,只问了5分钟不太感兴趣就没再问)
-
经典题~从输入url到显示页面的过程(这里提了dns,tcp连接,http协议,然后开始追问,把这几个玩意都细讲了)
-
dns解析出错,怎么排查错误
-
tcp,udp
-
http,https,https理解,秘钥交换过程
-
口述几个sql语句
-
mysql索引(这里说了b+树,感觉面试官问的是唯一索引聚集索引那些,理解错意思x2)
-
创建索引的原则(区分度,是否是查询时使用,插入性能和读取性能权衡,减少回表)
-
ACID(每个都问了细节)
-
MVCC
-
用过的设计模式(提了项目里的代理模式,aqs的模板方法模式)
-
spring,springmvc中代理模式用在哪些地方
-
aop
思维题 如何实现稳定的快速排序 对一个省上百万考生的考试成绩排序 要求o(n) 交叉链表找交叉节点
算法题 数组峰值元素
三面-
自我介绍x3
-
介绍项目
-
netty作用,自己的理解,组件(我明明记了很多!没说出来,我不李姐)
-
项目整体流程(三面项目问的很短,直接开始做题了还以为被挂了,慌得一b)
算法题 两个有序数组找第k小元素要求时间复杂度o(logn) 二叉树从根节点到叶子结点和为k的所有路径
聊学习方式,顺便问基础知识,三面后面还问了很多基础知识,挺广的,从csrf,xss到sql注入一大堆。
三面当时没记面经,靠回忆8太记得了三面主要是知识的深度广度还有场景题,ld面确实很顶
面试总结已oc,学历双非本科,大一打过算法比赛,后来学的java方向,学长帮我推的抖音直播。三轮面试官和hr都非常nice,因为才第二次面试,三轮都非常紧张,面试官会引导我说,直到我了解的最深的地方。