一面
-
先自我介绍,由于简历上写了熟悉 GC,所以面试官上来先让我谈谈 GC。
第一次被问这个,有点不知道怎么开头,犹豫了几十秒后,我把我当时记得的主要内容从头到尾说了下,然后说“大致只了解这些”...面试官 get 到我意思后,放过了我,流汗~
-
学过操作系统,谈谈信号量,信号量如何访问(当时我一直以为没明白他的意思,以为要问操作系统硬件互斥机制,后面才明白要问 PV 操作),PV 具体如何操作
-
Redis 的持久化机制有哪些?Redis 如何进行快照?快照快结束时,发生写操作,写操作的数据是否会保存到快照?(我回答不会,快照的数据都是开始快照那个时刻的全量数据)
-
B+树的时间复杂度,为什么是 log(N)(当时不清楚怎么回答,胡乱说了下),B+树上查询数据的流程
算法题:
-
旋转打印 M*N 二维数组(快速过)
二面
-
上来没让自我介绍,直接问项目,在项目学到了什么,然后我 babababa...乱说了一通
-
谈谈 RPC 的工作过程
-
nginx 的 5 种负载均衡算法(当时忘记了,直接说的是我项目中实现的负载均衡算法)
-
进程通信方式有哪些?其中哪个速度最快?
-
get 和 post 请求的区别(好久没问这个问题了,只说出了两种方式作用和参数的区别)
算法题:
-
毒蘑菇(两问,一问贪心,一问动态规划)
当时有点蒙,面试官让我讲思路,我想了半天也没头绪,在面试官提醒下换了一题,面完之后再想想那题,我觉得第一问想出来不难的,第二问想了较长时间,不清楚对不对
-
实现 double sqrt()函数
心里有点慌,脑子不在状态,结果写第二题调了好久,不过还好最后调好了
当时面完就觉得很可能没了,不过下周一的时候 HR 通知过了,我一脸庆幸
三面
应该是 leader,说话很温和,当我不太明白问题的时候,会很耐心地尝试换下说法引导我,是我至今遇到的一个最 nice 的面试官。
-
先让我自我介绍下,然后让我谈谈如何学习一个新技术,我长篇大论了一堆,然后他帮我总结成了几句话,让我觉得自己以后要学习下如何简明扼要==
-
谈谈项目中几种序列化方式的不同点
-
为什么需要序列化?(因为网络底层传输的是比特流)
-
谈谈为什么会发生粘包黏包?
-
为什么网络中会发生丢包?(接收到的分组校验出错、分组在网络中超出最大存活时间、路由器接收分组数量达到上限后,会丢弃多余分组)
-
为什么会发生网络卡顿现象?(网络拥塞)TCP 为什么可靠?
算法题:
-
求数组的最大、最小数对的个数
面试总结:
1,多刷面经
总结他人的成功经验,有极大的几率会遇到相同的面试题!
2,算法是重中之重,现在的中小厂子都开始看中算法,更别说头条这种头部大厂了,在这边推荐小伙伴们学习左程云老师的算法,通俗易懂,非常的 nice,分享一下大神总结的 PDF,都是力扣上经常面试的题,也省的大家受到算法的苦
Java 基础
JVM
Spring
Zookeeper、Redis
MySQL
自己总结的一些上面面试大厂的 PDF 及其答案,免费分享给大家,希望对大家今年找工作有所帮助
Java 基础技术
Java 集合
JVM
多线程与高并发
SSM 框架
-
Java 横向技术
数据库
消息中间件
Linux
Elasticsearch
最后
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,需要的小伙伴扫码免费领取: