借一位大佬的话来说:对于一个程序员来说,计算机的基础知识就是内功,就是咱们的专业素养,只有内功深厚的人行走江湖才能少翻车。
程序员能不能走的远,能不能写高质量的代码,能不能快速找到系统的瓶颈,能不能快速抽丝剥茧找到系统的核心功能,肯定和咱们的专业素养有关系。只有足够了解基础,才能在工作中真正的游刃有余,才能更高效优雅地解决问题。
而408包含四门科目,包含各种计算机基础理论,就算你不考研,做题了解掌握一些基础知识也是极好的。欢迎关注我和我的专栏!
🍺 数据结构
一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是___(中国科学院大学 2015年)
A. CABDEFG B. GFEABCD C. DACEFBG D. ADCFEGB 复制代码
解析
答案:D
📢 求中序序列,就看能不能和先序构成一棵二叉树。
依据先序遍历找到每个中序遍历序列的分割点即根节点,保证分割点左右两边所有的元素在先序遍历中也呈现先左后右的顺序。
- A项CBDEFG被A分割为C(左) BDEFG(右),则前序序列中的C应该在BDEFG之前,A错。
- B项被分割为GFE(左) BCD(右),则前序中GFE应该在BCD前,B错。
- C项被分割为D(左) CEFBG(右),则前序中D应该在CEFBG之前,C错。
故选D,可确定唯一的一棵二叉树(可能有点难想,不过选择题会排除就行了):
二叉树的四种遍历方式中:中序+前序,中序+后序,中序+层次三种都可以唯一确定一棵二叉树。
还有一种方法:
- 一棵二叉树的前序遍历结果,就是前序遍历遍历时的元素入栈顺序。
- 一颗二叉树的中序、后序遍历的结果,就是中序遍历、后序遍历遍历时的元素出栈顺序。
所以这个问题就变成了:给定一个栈,其入栈顺序是ABCDEFG,那么哪种出栈顺序是可能的。
🥂 计算机网络
当描述一个物理层接口引脚在处于高电平时的含义时,该描述属于____(重庆大学 2005年)
A.机械特性 B.电气特性 C.功能特性 D.规程特性 复制代码
解析
答案:C
📢 上一篇刚说过:看见电压表示二进制时,应该选电气特性。
但是题干中提到“含义”,某条线上出现的某一电平的电压表示何种意义,这时候就应该选功能特性了。
🍻 操作系统
与内核态线程相比,用户态线程的优点不包括____(中国科学院大学 2017年)
A. 线程切换不需要转换到内核空间 B. 可以采用定制的调度算法 C. 可以避免系统调用引起进程阻害 D. 实现与操作系统平台无关 复制代码
解析
答案:C
📢 一眼C,但还是说一下其他的为什么正确:
- 对一个进程而言,其所有线程的管理数据结构均在该进程的用户空间中,管理线程切换的线程也在用户地址空间运行,因此进程不必切模到内核方式来做线程管理,A正确。
- 在不干扰OS调度的情况下,不同的进程可以根据自身需要选择不同的调度算法,对自己的线程进行管理和调度,B正确。
- 用户级线程的实现与OS平台无关,因为对于线程管理的代码是属于用户程序的一部分,所有的应用程序都可以共享,用户级线程甚至可以在不支持线程机制的操作平台上实现,D正确。
🥃 计算机组成原理
某存储系统中,主存容量是Cache容量的4096倍,Cache被分为64个块,当主存地址与Cache地址采用直接地址变换时,地址变换表的大小应为 ___(假设地址变换表每行仅存储主存字块标记)(西安电子科技大学 2007年)
A.6×12bit B.6×4096bit C.64×12bit D.64×4096bit 复制代码
解析
答案:C
📢 Cache被分为64个块,地址变化表应该为64行。
主存容量是Cache容量的4096倍即212,所以每行存储主存字块flag标记为12位,故选C。
习题来源于@王道微博
解析都是我自己写的,如有问题或错漏烦请评论告知。
我是Mancuoj,欢迎关注我和我的计算机考研专栏 (≧∇≦)ノ