字节上海业务中台一面复盘

11.7投简历,11.9来电话,11.11一面,11.12被拒

1.自我介绍,面试官表示他也是信软的

2.工作室的工作内容说一下

3.项目的哪一个功能花的时间比较长

4.HTTPS的加密原理

非对称加密获得对称加密密钥,用对称加密密钥传输。

5.把非对称加密原理说详细点

用公钥加密,用私钥解密。

6.浏览器输入url后发生了什么

把拿到的域名通过DNS转成IP,与拿到的IP建立TCP连接,通过TCP向服务器发送HTTP请求,服务器处理请求,服务器通过TCP将数据发送回来,浏览器解析HTML,最后渲染。

7.DNS展开说一下

DNS先查询本地的DNS缓存,如果没有,则去本地DNS服务器查询。查询分为迭代查询和递归查询,迭代查询就是DNS服务器告诉你下一步去哪个服务器查询,递归查询就是DNS服务器帮你去下一个服务器查询。本地服务器会先找自己的缓存,然后去根服务器查,然后一级域名服务器查,等等。

8.TCP拥塞控制说一下

一开始处于慢启动,从1开始,每收到一个应答就将窗口值*2。当超过阈值之后,变为拥塞避免阶段,每收到一个应答将窗口值+1。如果超时,就将阈值设为原来的一半,窗口值设为1,重新慢启动。如果收到三个重复应答,那么就进行重传,将阈值设为原来的一半,窗口值设为一半+3。

9.进程和线程说一下

进程是程序的一次执行,是操作系统资源调度和分配的基本单位。线程可以说是进程子任务,是操作系统能调度的最小单位。进程是有自己的内存空间的,而线程共享进程的内存空间。进程创建、销毁、切换的开销都很大,而线程则没那么大。进程之间不会相互影响,但线程挂掉会导致整个进程崩溃。

10.进程之间的通信方式

匿名管道,半双工,固定的读端和写端,存在内存中。

命名管道,以特殊设备文件存在文件系统中。

消息队列,独立于进程,进程销毁后消息队列依然存在,有权限的进程可以进行读写,虽然叫队列,但是可以随机查询,消息有格式和优先级等概念。

信号量,用于进程之间对资源的互斥访问,本质是个计数器。

信号,通知进程某个事件已经发生,如SIGINT。

共享内存,多个进程同时拥有对某块进程的读写权。

套接字,不仅可以用于本地,还可用于不同机器之间。

11.数据库事务说一下

数据库事务就是一系列数据库操作的集合。事务有四大特性,ACID。A,原子性,指事务的操作要么全部成功,要么全部失败,失败后对数据库不会有任何改变。C,一致性,即在事务执行前后数据保持一致。I,隔离性,事物之间是相互隔离的,互不干扰。D,持久性,事务对数据库的改变是持久的。

隔离级别有读取未提交,读取已提交,可重复读,串行化。读取未提交,就是可以读取其他事务还未提交时的数据,会遇到脏读、不可重复读、幻读的问题。读取已提交,就是可以读取其他事物已经提交的数据,会遇到不可重复读、幻读的问题。可重复读,在一个事务中对同一份数据的读取结果总是相同的,会遇到幻读的问题。串行化,可解决所有并发导致的问题。

12.哦对了你大三是吧,也就是说应聘的是下学期的实习?(呃,这学期去也不是不可以)

13.学过SQL吗

14.说一下数据库索引的类型

普通索引,就是通过数据结构加速搜索。

唯一索引,取值唯一,可NULL。

主键索引,取值唯一,不可NULL。

组合索引,通过多个键共同组成索引。

全文索引,解决字符串包含的问题。

15.B+树说一下

多叉搜索树,与B树相比,把所有数据放在叶子节点,使得非叶子节点关键字更多,从而整棵树的高度更低,搜索更快。高度高了之后硬盘IO多。

16.redis看过吗

17.leetcode 54

18.反问

上海字节很缺人吗?我感觉什么时候都很缺人。

我基础是不是不太行?字节面试都是偏基础,建议你回去顺着问题脉络再巩固一下。

如果过了,入职时间可以下学期吗?这个好商量。

19.总结

基本都是模板题,但是我答的不太好,C++相关一个没问,估计凉了

发表评论

电子邮件地址不会被公开。 必填项已用*标注