计算机网络基础
- 简述一下HTTP建立连接的过程
- HTTP是一种请求-响应式协议,提供客户端浏览器和网站服务器之间的通讯
- HTTP建立在TCP传输协议上,客户端通过向服务器发起TCP连接来建立TCP连接
- 当TCP连接建立好了之后,服务端和浏览器的进程就可以通过TCP的80端口(默认)来向TCP传递信息
- 浏览器向TCP套接字发送HTTP请求和接收HTTP响应报文,服务器也通过TCP套接字发送HTTP响应报文和接收HTTP请求报文
- 其中报文采用明文方式,没有经过任何的加密
- 简述一下HTTPS的连接建立过程
- 客户端访问服务器的443端口,建立TCP连接
- 客户端向服务器发送算法列表和持有公钥
- 服务器向客户端发送证书,比较与客户端公有的加密算法列表,选择一个发送给客户端
- 客户端生成随机字符串,加密发送给服务器,发送完毕后向服务器发送finish报文
- 服务器同样加密信息发送给客户端,然后发送finish报文
- 建立SSL连接(Secure socket layer)
- 然后及逆行普通HTTP建立的流程,但是报文使用在SSL中建立的加密方式进行传输
数据库
- 锁的作用是什么?
- 锁的作用是,使得一个事务在对它的数据块进行操作的时候,另一个事务不能插足这个数据
- 有哪些锁?
- 共享锁(s):当事务读取数据块时,其他事务不能修改该数据块,直到共享锁释放,才能进行修改
- 排他锁(x):当数据块被一个事务修改时,其他的事务不能访问该块数据,直到数据被修改完成,释放排他锁,才能进行访问
- 更新锁(u):当事务进行先读后写的跟新操作时,可能会出现死锁现象(都持有读取的锁,但是等着对方释放读取从而进行写操作),更新锁可以避免死锁先想法,更新锁只能交给一个事务持有,如果进行写操作,会变为排他锁,如果进行读取操作会变成共享锁
- 意向锁:表示将在层级结构较低的资源加上共享锁或者排他锁,比如在表级加上意向锁,能够确保事务安全的在表中添加共享锁或者排他锁,防止其他事务插足,意向锁能够提高性能,这样就不用检查表中的每一行数据,而只需要检查每一张表的意向锁即可,意向锁分为意向共享(IS)、意向排他(IX)、意向共享排他(SIX)。
- 架构锁:当进行表的结构修改时,可以使用架构修改锁(Sch-M),当进行查询编译时,可以使用架构稳定锁(Sch-S)。
- 大容量跟新锁(BU):当事务需要对表中的数据进行大量的更新时,使用大容量更新锁,能够使得其他非大容量更新操作的事务访问数据
Web开发
- 说一说你对Spring Boot的理解。
- Spring Boot是Spring的一个手脚架工程,可以简化项目的构建,预置第三方配置,达到开箱即用的效果,它的优点有可以快速构建一个项目,可以快速进行部署和配置,简化主流框架的继承和配置,提供运行时的应用监控等
- Spring Boot Starter有什么作用.
- SpringBoot Starter起步依赖降低了项目依赖的复杂度,起步依赖的实质是Maven项目对象模型(Project Object Model)POM,定义了项目的一些列依赖库,这些库一起实现了某种功能。