Skip to content

Commit

Permalink
add more question
Browse files Browse the repository at this point in the history
  • Loading branch information
wolverinn committed Dec 29, 2019
1 parent ba90abc commit bbb2923
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
12 changes: 9 additions & 3 deletions Operating Systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -343,14 +343,20 @@ IO多路复用(IO Multiplexing)是指单个进程/线程就可以同时处
<details>
<summary>展开</summary>

(我自己的见解:)

- 安全性:防止用户程序恶意或者不小心破坏系统/内存/硬件资源;
- 封装性:用户程序不需要实现更加底层的代码;
- 利于调度:如果多个用户程序都在等待键盘输入,这时就需要进行调度;统一交给操作系统调度更加方便。
</details>

##### 如何从用户态切换到内核态?
<details>
<summary>展开</summary>


- 系统调用:比如读取命令行输入。本质上还是通过中断实现
- 用户程序发生异常时:比如缺页异常
- 外围设备的中断:外围设备完成用户请求的操作之后,会向CPU发出中断信号,这时CPU会转去处理对应的中断处理程序
</details>

### 什么是死锁?
Expand Down Expand Up @@ -466,10 +472,10 @@ IO多路复用(IO Multiplexing)是指单个进程/线程就可以同时处
- [面试/笔试第二弹 —— 操作系统面试问题集锦 - CSDN博客](https://blog.csdn.net/justloveyou_/article/details/78304294)
- [线程同步与并发 - - SegmentFault](https://segmentfault.com/a/1190000018970361)
- [彻底搞懂epoll高效运行的原理](http://baijiahao.baidu.com/s?id=1641172494287388070&wfr=spider&for=pc)
- [用户态与内核态的切换](https://www.cnblogs.com/lirong21/p/4213028.html)

### 待完成
- [ ] IPC
- [ ] 进程同步问题:生产者-消费者问题...
- [ ] 银行家算法
- [ ] 文件与文件系统、文件管理?
- [ ] 如何实现LRU缓存淘汰算法?
- [ ] 文件与文件系统、文件管理?
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

你可以将其作为模拟面试的问题来源,测试你的熟练程度;也可以当作面试前的知识点梳理,对一些细节问题进行填补;

当然,这个笔记本也同样适用于那些能够通过简历筛选,但是对计算机基础所知甚少的人,如果你之前从未在学校修过或者自学过这些课程,你依然可以通过这份笔记从容不迫地应对面试
当然,这个笔记本也同样适用于那些能够通过简历筛选,但是对计算机基础所知甚少的人,如果你之前从未在学校修过或者自学过这些课程,你依然可以通过这份笔记快速备战面试

在这份笔记中(没有包含数据结构与算法),对于面试来说,最基础也最高频的是计算机网络和操作系统部分;数据库部分需要了解数据库的基础,但MySQL和redis是加分项;设计模式不是必须的;Git/命令行/RESTful是加分项,不会也没太大关系;编程语言因人而异,我用的是Python。当你浏览每个版块的目录时,你可能会觉得并没有涉及到多少问题,但其实,每个问题下的一连串追问才是这些笔记的精华所在。如果你觉得你已经对目录中的问题了然于胸,你可以点进这些问题,多看看它们的 follow-up questions.

Expand Down

0 comments on commit bbb2923

Please sign in to comment.