Skip to content

Commit

Permalink
网易二面
Browse files Browse the repository at this point in the history
  • Loading branch information
wabc1994 committed Mar 19, 2019
1 parent e7a9606 commit 5e1afef
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions InterviewHistory/2019_3_19网易二面.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# 3.3.19网易二面

## 数据库


1. innodb的持久化方案是什么?
>redo重做日志,undo log 保证原子性
所谓原子性就是事务要么完成,要不不执行,不能只执行一半

数据库里面的原子性和持久性都是通过日志系统来完成的,

"In computer science, write-ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems."——维基百科

预写式日志
>重做日志分为东西:一个是内存当中的重做日志缓存区,另一个是磁盘当中的重做日志

[innodb重做日志缓冲 ](https://blog.csdn.net/Maikilee_sys/article/details/51753888)

[MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)](https://www.cnblogs.com/wy123/p/8365234.html)


## linux操作系统
2. Linux 下面的shell 输入命令行该如何作用?
>shell 是一种命令解释器,用来解决用户如何与操作系统通信的问题,说白了就是一种程序替换的功能,使用到exec函数族

****

bash shell的命令分为两种,一种是外部命令和内部命令,外部
>故shell命令解释器在执行命令时,是应先执行内部指令,若要执行的指令不是内部指令,则应是调用的外部指令。

[Linux内建命令和外部命令pwd](https://blog.csdn.net/taohuaxinmu123/article/details/10845001)


1. 读取用户由键盘输入的命令行;
2. 对命令进行分析,以命令名为文件名,并将其他参数改造为系统调用execve()参数处理要求的格式。**(将读取到的字符串按照空格分成多个字符串,放进指针数组argv中,并在指针数组的最后加一个NULL。)**
3. 终端进程调用fork()

[具体执行流程看这个就够了](https://blog.csdn.net/YEYUANGEN/article/details/6858062)


[shell 命令的执行—fork & exec](https://blog.csdn.net/cooling88/article/details/52302544)

[Linux实现一个简单的shell](https://blog.csdn.net/peiyao456/article/details/56038655)

## 项目
1. 静态资源
2. 如果针对项目进行一个优化?
3.

0 comments on commit 5e1afef

Please sign in to comment.