抱歉鸽了这么久,主要是国庆回家了加上最近比较忙,以及试图弄好我的录音所以一直没来得及整理呜呜呜**时间线** 2024/08/21一面 2021/08/28二面 2024/09/04三面 2024/09/12HR面 2024/09/19意向**面试工具** 飞书**整体情况**一面不是问的很深入,重点倾向于算法考察,只会大概了解一下项目的情况以及写简单的八股二面主要是拷打项目以及延申一些八股的问题,项目和八股可能一半一半吧三面hr说是leader面试,感觉是压力面,全程都在拷打项目,中间可能有几个跟八股有点像吧,但是当时被拷打得有点乱了阵脚,没怎么答上来。**总体感受**整体感受还不错,一面面试官比较年轻,态度也很好,也会有一些引导,二面面试官应该是个老手,非常会引导,也会通过一些过场话来了解我熟悉的领域,然后也很接得住我的引导,除了有时候他也会揪着一个问题不放(可能是想压一压我的潜力?),所以感觉二面已经开始爆压力了,导致我面完就有点爆炸,感觉二面是压力面,结果三面才是真正上强度,直接自我介绍都不要,一个劲拷打项目,问得我怀疑人生,连环问题,是真的喘不过气的那种,思考时间都很少,导致我面试之后都一直觉得寄了,主要是面完一直没结果,我是BOSS上HR内推的也查不到进度(快一周的时候问对接的HR结果但他请假了,硬生生熬了一周才出结果,可能字节要求一周之内处理,所以HR还在休假中都给我打电话约面试时间,非常感动呜呜呜)。但能感觉到几位面试官还是很专业的,并且态度也很好(三面虽然是压力面,但只是项目问题拷打的比较深而已,而且可能面试需要所以会比较严肃,但是最后的反问能感受到还是很好的,虽然留给我反问的时间很少)。HR面就主要是很正常的HR面试了,氛围也很轻松。**上菜!**手撕代码(使用飞书自带代码编辑器,和刷题页面时类似的,可以编译运行,不能调试):一面:力扣2855.使数组成为递增数组的最少右移次数、力扣124.二叉树中的最大路径和二面:力扣128.最长连续序列三面:一直在拷打我的项目,硬生生拷打到我才提了一个反问的问题他那系统就提示面试时间到了草草结束了面试。面试问到的问题(由于一面和三面的录音没录上,所以凭记忆整理了一些问到的问题):一面&&三面:+ http和https的区别+ https是如何保证安全的+ HTTPS的RSA握手过程是怎么样的+ rsa握手过程中为什么要用这几个随机数?他们有什么用?这些随机数是如何保证安全的?每次会话的随机数是一样的吗?+ 在这个过程中客户端拿到的是公钥还是私钥?整个过程中涉及到几组密钥?为什么需要这样设计?+ 如果公钥私钥反过来可不可以,比如我用私钥加密,公钥解密,这样数据也是被加密了的?+ select,poll和epoll的区别?+ 讲一讲拥塞控制+ 其他的一些项目问题,比如项目的分工,前后端通信协议的设计我记得还有很多问题,但记忆只能想到这么多了(能回想的一部分是项目问题所以没展示),录音怎么就出问题了呢,但好在一面本身不是很难没问多少,主要是算法考察(两道题),三面主要是问项目。二面:+ 简历上写了编程语言是c++和python,他们两个有什么区别,以及各自的优势是什么?(面试官说回答停留在表象)+ (开始挖)编译型语言为什么要经过编译这一步呢,和解释型语言相比,这一步有什么作用?+ python支持多线程吗?+ python的多线程的执行效率和c++相比谁更好一些呢?为什么?+ 对于两种类型的任务一个是大量的磁盘数据读取(IO密集型),一个是大量的计算(CPU密集型),你觉得python和c++运行效果一样吗?+ c++的内存管理机制知道吗?内存的生命周期是怎么管理的?+ 讲一下OSI七层网络模型,你了解它具体都有什么吗?+ 你觉得七层网络模型中那些层次属于数据传输呢?+ 实际生产中是不是严格遵循OSI七层模型的?+ tcp三次握手,为什么要这样设计?比如变成两次握手行不行?四次挥手变成三次行不行?如果非要变成两次握手会怎么样,如果第三次握手丢失了怎么办?如果不等第三次握手直接开始传输数据会怎么样?会出现什么问题?(我要被问懵了,就说了个背离了可靠性的原则了,结果……面试官:我是背离了呀,但我想让你讲一下如果这样的话会有什么问题,你举一个例子)+ 丢包了怎么办?如果一个包没丢,只是在网络中滞留的时间比较久,但是服务器又发了一个新的包,那旧的包怎么处理?+ http常见的(请求)方法有哪些?+ post和put有什么区别+ 为什么要设计这么多方法,比如为什么需要区分post和put,如果全变成一个行不行?+ 你了解cookie,token和session吗?分别是什么,他们之间有什么关系?+ 几个数据库(mysql,sqlite,mongodb……)的区别?(我用到了sqlite)+ mysql为什么选用B+树?如果换成二叉树行不行?那b树和跳表呢?会带来什么问题?+ 你刚刚说B+树是为了控制树高,那为什么需要控制树高呢?变矮有什么好处?+ 了解mysql中的回表是什么吗?+ 事务的隔离级别了解吗?+ 为什么mysql把可重复读设为默认级别?+ 你刚才也说到可重复读没有解决所有的问题,那mysql有没有相应的优化,或者说有没有什么手段去降低这种问题的发生?+ 你刚刚说这些机制不能完全解决幻读的问题,那什么情况下,依然会出现幻读的问题?+ 那你还能讲一下,mysql当中会遇到一些慢查询的情况,你能讲一下比如常见的慢查询有哪些,然后有什么解决方案吗?三面主要是拷打项目,这里说几个遇到的一些比较通用的问题,细节的问题就不展现了(我也忘差不多了):+ 模块是如何划分的?你是怎么理解模块划分的?怎么样才能划分成一个模块?+ 为什么考虑XXX方案呢?有什么缺陷呢?怎么解决这个问题呢,有什么样的思路?+ 你的XX设计主要是为了解决什么问题?+ 整体的流程是什么?某一个模块的流程是什么?三面也有结合项目问一些八股的问题,但是因为录音没录上,所以就一起写在上面了。HR面很常规的HR面试,基本问的就是网上常说的问题,中间有问到我的校园经历等等,这些就不展示了,展示几个常规问题:+ 觉得自己之前表现怎么样?+ 遇到的最大的困难是什么?是怎么解决的?+ 你遇到过比较大的挫折是什么?+ 未来的规划?+ 你觉的你的优点是什么?+ 那你觉得自己有什么缺点?+ 如果有了更好的offer,你还会选择来字节吗?+ 看你没有实习的经历,你这边能提前来实习吗?#字节求职进展汇总##字节##面经##面试体验##面试总结##接好运#