字节跳动提前批面经及答案

大家好,首先自我介绍一下,我是小牛, 微软 程序员一枚,秋招开始了,我和阿里,字节跳动的老哥们翻出了自个压箱底的背诵版八股文,希望对大家有所帮助。

背之前先来看看 阿里巴巴的常问计算机网络你们会几个

这次面经基本都被我之前整理的大厂面试八股文涵盖了,有兴趣的同学可以到我之前的讨论贴查看我之前整理的八股文

简述http1.0

规定了请求头和请求尾,响应头和响应尾(get post)

每一个请求都是一个单独的连接,做不到连接的复用

简述http1.1的改进

HTTP1.1默认开启长连接,在一个TCP连接上可以传送多个HTTP请求和响应。使用 TCP 长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。

支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。

服务端无法主动push

简述http2.0的改进

提出多路复用。多路复用前,文件时串行传输的,请求a文件,b文件只能等待,并且连接数过多。引入多路复用,a文件b文件可以同时传输。

引入了二进制数据帧。其中帧对数据进行顺序标识,有了序列id,服务器就可以进行并行传输数据。

https如何保证数据传输安全

http所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份。 https具有安全性的ssl加密传输协议,加密采用对称加密, https协议需要到ca申请证书,一般免费证书很少,需要交费。

为何TCP可靠

TCP有三次握手建立连接,四次挥手关闭连接的机制。 除此之外还有滑动窗口和拥塞控制算法。最最关键的是还保留超时重传的机制。 对于每份报文也存在校验,保证每份报文可靠性。

单台服务器客户端能维护几个连接

操作系统端口号的范围是0-65535 因此可以创建65536个链接。但实际情况下,会有系统保留端口号,不可使用,所以达不到理论值。

https的连接过程

  • 浏览器将支持的加密算法信息发给服务器
  • 服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器
  • 客户端(SSL/TLS)解析证书验证证书合法性,生成对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,用服务器的公钥对客户端密钥进行非对称加密。
  • 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端对称密钥发送给服务器
  • 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。
  • 服务器将加密后的密文发送给客户端
  • 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成

事务是什么

事务满足如下几个特性:

  • 原子性(Atomicity):一个事务中的所有操作要么全部完成,要么全部不完成。
  • 一致性(Consistency): 事务执行前后数据库的状态保存一致。
  • 隔离性(Isolation) 多个并发事务对数据库进行操作,事务间互不干扰。
  • 持久性(Durability) 事务执行完毕,对数据的修改是永久的,即使系统故障也不会丢失

关系型数据库和非关系型数据库区别

关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。
非关系型数据库就是不是按这种型式组织数据,比如图数据库,键值对数据库,文档型数据库等等

redo log与binlog的区别

redo log是InnoDB引擎特有的,只记录该引擎中表的修改记录。binlog是MySQL的Server层实现的,会记录所有引擎对数据库的修改。
redo log是物理日志,记录的是在具体某个数据页上做了什么修改;binlog是逻辑日志,记录的是这个语句的原始逻辑。
redo log是循环写的,空间固定会用完;binlog是可以追加写入的,binlog文件写到一定大小后会切换到下一个,并不会覆盖以前的日志。

mysql事务如何保证持久性

MySQL采用了WAL机制保证持久性。
WAL的全称是Write-Ahead Logging,它的关键点就是先写日志,再写磁盘。事务在提交写入磁盘前,会先写到redo log里面去。如果直接写入磁盘涉及磁盘的随机I/O访问,涉及磁盘随机I/O访问是非常消耗时间的一个过程,相比之下先写入redo log,后面再找合适的时机批量刷盘能提升性能。

#java求职##字节测试开发一面面经#
全部评论
自己顶一个
3 回复 分享
发布于 2022-07-17 09:59
红名大佬
1 回复 分享
发布于 2022-07-17 10:34
顶一个
1 回复 分享
发布于 2022-07-17 18:22
m
点赞 回复 分享
发布于 2022-07-17 18:00
大哥多发一点哇,大厂这些八股太多了。。。实在是不知道咋整合适
点赞 回复 分享
发布于 2022-07-18 11:53
好多细节不对啊
点赞 回复 分享
发布于 2022-07-18 15:13
23届提前批内推码: UZA32MP,提前批相对来说要求还是低一些,把握住机会。就只能帮你到这了😁需要内推海报的可以私聊我。
点赞 回复 分享
发布于 2022-07-19 13:12
顶一个
点赞 回复 分享
发布于 2022-07-19 20:07
23届提前批:5K5TKPY,可以投递开放平台,主要负责字节第三方平台相关内容,辅助抖音和小程序高速发展,巨缺人,来大佬!!
点赞 回复 分享
发布于 2022-07-20 00:00
dd
点赞 回复 分享
发布于 2022-07-21 07:39
字节面完,看看我司,提前批已开,内推免笔试直通面试,私我或进我帖子看链接。
点赞 回复 分享
发布于 2022-07-27 21:29
m
点赞 回复 分享
发布于 2022-08-01 22:15

相关推荐

劝退式:我也是,小米的笔试题是我目前为止做过最难得😂
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
49 303 评论
分享
牛客网
牛客企业服务