分享
社招3年后端面试报告
输入“/”快速插入内容
社招3年后端面试报告
50%
50%
🦄
项目经验 🌟
基础知识 🌟🌟
网络 🌟
操作系统 🌟
数据结构 🌟🌟🌟
数据库 🌟🌟🌟
系统设计 🌟🌟
1.
简单介绍一下你做过的项目
介绍项目的时候,面试者本身不够自信,可能是觉得自己的项目不够丰满、不够有挖掘点。如果已经意识到这个问题,就不应该把这样一份简历发给面试官,一定要把一份自己满意的简历呈现出来。面试的时候,首先要做到自信。
其次,描述自己项目的时候要逻辑清晰、重点突出,但这也只是基本要求,要把其中的一些技术亮点、难点,能够体现个人思考的地方讲给面试官,并故意吸引他,尝试把握主动权,吸引提问者向你提问。
这个就是经典的smart法则了
:
求职| 如何用star法则描述自己的经历
2.
有什么亮点或者困难的地方?是怎么做到的高可用
是一个很好的抛出技术思考和个人亮点的地方,没有把握住。
看看这个高可用性架构应该如何回答
: 用这里的思维框架套一下
a. 从70万字SRE神作,我提炼出7千字精华与君共
b.
稳定性全系列——如何做好系统稳定性建设
3.
尝试挖掘难点:复杂和巨量的数据的存储是怎么处理的。
还是没有讲出复杂的技术问题,估计是做的真的很简单,或者自己不负责这部分逻辑。
如果过往的技术确实没什么好说的,一定要去找可以讲的项目来丰富简历。
a.
关注一下 TIDB 社区,看看大规模的关系型数据库的建设:
TiDB 产品文档
b.
看看谷歌大数据论文:
MapReduce 论文导读
BigTable论文解读
GFS论文导读
4.
物联网关是用 Netty 写的,数据的量级是多少?有没有做过
压测
?
回答没有投产,
会使得面试官失去继续提问的兴趣
。
所以不要说OK?
没有做过
压测
,当然不能编一个数据出来,但也给面试者提了一个醒,以后自己的项目、代码,一定要对自己的作品负责。
5.
设计:客户端与服务端建立长链接
网络知识比较差,计算机基础薄弱,这块进本是大厂死穴,打不好直接pass
推理把
Unix 网络编程
这本书多看几遍
6.
项目中可能遇到的一些问题探究
a.
TCP 与 UDP 的区别
b.
物联网关场景适合用 UDP 还是 TCP
c.
弱网环境下的表现
对自己做过的项目没有延伸思考,说明平时看的大厂实践比较少,对业务思考少,对自己负责的事情没有想过如何优化,这也是不ok的
7.
网络相关知识
a.
为什么三次握手?不是两次或者四次
b.
四次挥手过程中TIME_WAIT 的状态了解吗?
8.
Netty 框架解决了什么问题?怎么解决的?SELECT 和 EPOLL 的区别
网络方面的八股文都没背,简历中写的都经不住推敲,八股文该被还是要背的,简历里写的技术,一定要是自己的强项,否则非常非常减分。
9.
三次握手之后为什么就可靠了?
经过提示后答出来。这里只是提问者没有按照八股文的方式去提问:三次握手的过程,面试者就有些不清楚该怎么去回答这个问题。
对于看面经多、缺少独立思考,或者没有遇到实际场景的同学来说,很容易不知道提问者到底想问什么,这也给面试者一个提醒,对于所有的问题一定要思考理解清楚。
TCP 协议的出现就是解决数据传输可靠性的问题,具体怎么解决的,不要只看网上总结的八股文,要思考每一步的作用。
你可以思考一下,如果让你设计一个网络传输协议,你会怎么解决网络环境差、丢包、包不按顺序到达、拥塞等问题。并且思考后,把这些问题跟 TCP 的设计做对比,真正理解每一步的作用。
10.
线程、协程的区别?协程为什么轻量级
面试者是了解一些知识的,答不出来的话比较减分,答得出来也不会加分。这种面试题,尽量不要出现
我不太了解
的回答,因为实在太基础了。
11.
Mysql 的索引结构、B+树的特点、B 树与 B+树的区别
回答的不错,提问的很八股,回答的也很八股。
除了 MySQL 这种关系型数据库,可以再去了解一下经典 KV 存储的实现方式,比如 LevelDB
🚅
【手把手深度剖析leveldb源码(第一部分)】
https://www.bilibili.com/video/BV16B4y1N7Qh?share_source=copy_web&vd_source=eb187007dab10f161bde4cf74471a21a