Skip to content

Commit 56fac08

Browse files
committed
Feat: 新增面试笔记
-新增面试笔记
1 parent d39bed5 commit 56fac08

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

Other.Tec/Interview/DailyRecord.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,21 @@ $a[] = &$a;
230230
* HTTP1.0需要keep-alive参数来告知服务器建立一个长连接,HTTP1.1默认使用长连接.
231231
* HTTP2.0使用了多路复用技术,做到同一个链接并发处理多个请求.
232232
* HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样体积小了,在网络传输上也就更快.
233+
5. 进程和线程的区别:
234+
* 进程是操作系统资源分配的基本单位.线程是任务调度和执行的基本单位.
235+
* 在开销方面: 每个进程有自己独立的代码和数据空间,进程之间切换会有较大的开销;线程之间切换的开销较小.
236+
* 内存分配: 系统在运行时会为每个进程分配不同的内存空间;线程所使用的的资源来自其所属进程的资源.
237+
6. 进程的各种状态:
238+
* 三态模型:
239+
* 运行态(running): 进程占有处理器正在运行.
240+
* 就绪态(ready): 进程具备运行条件,等待系统分配处理器以便运行.
241+
* 等待态(wait): 又称为阻塞态或睡眠态.指进程不具备运行的条件,正在等待某个事件的完成.
242+
* 五态模型:
243+
* 新建态: 创建一个子进程.
244+
* 就绪态
245+
* 运行态
246+
* 终止态
247+
* 等待态
233248
#### 0X03 自如一面
234249
1. 二叉树遍历:
235250
* 前序遍历: 对于树中的任意节点来说,先打印这个节点,然后在打印它的左子树,最后打印它的右子树.
@@ -240,4 +255,31 @@ $a[] = &$a;
240255
* 范围解析操作符: ::,可以用于访问静态成员,类常量.
241256
* 在类内部可以使用new self,new static,new parent创建新对象.
242257
* static::只能用于静态属性.
243-
258+
3. MySQL锁机制:
259+
* MySQL里面的锁大致可以分为全局锁,表级锁和行级锁三类.
260+
* 全局锁:
261+
* 全局锁就是对整个数据库实例加锁.
262+
* MySQL提供了一个加全局读锁的方法,命令是Flush tables with read lock,如果需要让整个库处于只读状态时可以使用这个命令.
263+
* 全局锁的典型使用场景是,做全库的逻辑备份.
264+
* 表级锁:
265+
* MySQL里的表级锁有两种,一种是表锁,一种是元数据锁.
266+
* 表锁的语法是: lock tables ... read/write.
267+
* lock tables除了会限制别的线程的读写外,也限定了本线程接下来的操作对象.
268+
* 读锁会阻塞写,但是不会阻塞读;写锁会阻塞读和写.
269+
* MDL锁不需要显示的使用,在访问一个表的时候会自动加上.
270+
* 在MySQL5.5的版本中引入了MDL,当对一个表做增删改查操作的时候,加MDL读锁;当对表结构做变更操作的时候,加MDL写锁.
271+
* 读锁之间是不互斥的,因此可以多个线程同时对一张表增删改查.
272+
* 读写锁之间,写锁之间是互斥的,用来保证表结构变更操作的安全性.
273+
* 事务中的MDL锁,在语句执行开始时申请,但是语句结束后并不会马上释放,二会等到整个事务提交后释放.
274+
* 应用场景: 给小表加个字段,导致真个库挂了.
275+
* 行级锁:
276+
* MySQL的行锁是在引擎层由各个引擎自己实现的.
277+
* 在InnoDB中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放,而是要等到事务结束时才释放.
278+
4. MySQL事务的特性:
279+
* 原子性: Atomicity
280+
* 一致性: Consistency
281+
* 隔离性: Isolation
282+
* 持久性: Durability
283+
284+
285+

0 commit comments

Comments
 (0)