好文档 - 专业文书写作范文服务资料分享网站

2020年中兴精选50面试题及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

3.综合代码植人和流程控制技术

最常见和最简单的緩冲区溢出攻击类型就是在一个字符串里综合了代码植人和启动记 录。攻击者定位一个可供溢出的自动变Q,接着向程序传逢一个很大的字符串,在引发 缓冲区溢出改变启动记录的同时植人了代码(C语言程序员习惯上只为用户和参数开辟 很小的緩冲区)。 代码植人和緩冲区溢出不一定要在一次动作内完成,攻击者可以在一个緩冲区内放置代 码(这时并不能溢出緩冲区),接着攻击者通过溢出另一个緩冲区来转移程序的指针。 这样的方法通常用来解决可供溢出的緩冲区不够大(不能放下全部的代码)。如果攻击 者试图使用已经常驻的代码而不是从外部植入代码,他们通常必须把代码作为参数。举 例说明,在Hbc(几乎所有的C程序都用它来连接)中的一部分代码段会执行 \其中的something就是参数,攻击者使用緩冲区溢出改变 程序的参数,然后利用另一个緩冲区溢出攻击,使程序指针指向Hhc中的特定的代码 段。

46. 如何判断两个结构体是否相等?

判断两个结构体是否相等:重载操作符”==”

不能用函数memcpy来判断两个结构体是否相等:memcmp函数是逐个字节进行比较的, 而

struct存在字节对齐,字节对齐时补的字节内容是随机的,会产生垃圾值,所以无 法比较。 #include using namespace std; struct s

{

int a; int b;

bool operator == (const s &rhs);

};

bool s::operator == (const s &rhs)

return ((a == rhs.a) && (b == rhs.b)); int main() {

struct s si, s2; si.a = 1; sl.b = 2; s2.a = 1; s2.b = 2; if (si == s2)

cout ”两个结构体相等\endl; else

cout << \两个结构体不相等\endl; return 0;

47. 云盘中秒传功能是什么原理,说说其中一个算法.

秒传原理:

上传大文件时,会对文件进行比对操作,这里的对比操作其实就是将我们下载的插件对 要上传的文件进行”哈希值”的计算,跟百度的“哈希值”数据库中的文件进行匹配操作. 如果发现两者的”哈希值“相同,那么,将已存在于百度数据库里面的文件对应的文件链 接到我们对应的帐号里,做一个关联就可以,其实并没有对本地文件进行上传,所以我 们也就看到了秒传的效果.

1、 因为在上传文件之前,如果你是第一次使用百度网盘,那么会提示你安装一个极速 控

件.

2、 该极速控件的下载是为了更方便的来检测我们将要上传文件的哈希值.也就是文件 的唯

一识别码. 哈希算法

48. 栈上分配内存和堆上分配内存有什么区别?

栈上:分配简单,只需要移动栈顶指针,不需要其他的处理。

堆上:分配复杂,需要进行一定程度清理工作,同时是调用函数处理的。

49. 如何将一棵树转化成二又树?

将节点的孩子放在左子树; 将节点的兄弟放在右子树。

50. 请解释分段与分页机制.

1 .分段机制

1) 什么是分段机制

分段机制就是把虚拟地址空间中的虚拟内存组织成一些长度可变的称为段的内存 块单元。

2) 什么是段

每个段由三个参数定义:段基地址??段限长和段属性。

段的基地址、段限长以及段的保护属性存储在一个称为段描述符的结构项中。

3) 段的作用

段可以用来存放程序的代码、数据詛堆栈,或者用来存放系统数据结构。

4) 段的存储地址

系统中所有使用的段都包含在处理器线性地址空间中。

5) 段选择符

逻辑地址包括一个段选择符或一个徧移量,段选择符是一个段的唯一标识,提供了 段描述符表,段描述符表指明短的大小、访问权限和段的特权级、段类型以及 段的第一个字

节在线性地址空间中的位置(称为段的基地址)。逻辑地址的偏 移量部分到段的基地址上就可以定位段中某个字节的位置。因此基地址加上偏 移量就形成了处理器线性地址空间中的地址。

6 )逻辑地址到线性地址的变换过程

如果没有开启分页,那么处理器直搠巴线性地址映射到物理地址,即线性地址被送 到处理器地址总线上:如果对线性地址空间进行了分页处理,那么就会使用二级地 址转换把线性地址转换成物理地址。

7 )虚拟地址到物理地址的变换过程 2 .分页机制

1) 什么是分页机制

分页机制在段机制之后进行的,它进一步将线性地址转换为物理地址。

2) 分页机制的存储

分页机制支持虚拟存储技术,在使用虚拟存储的环境中,大容量的线性地址空间 需要使用小块的物理内存(RAM或ROM)以及某些外部存储空间来模拟。当使用 分页时,每个段被划分成页面(通常每页为4K大小),页面会被存储于物理内存 中或硬盘中。操作系统通过维护一个页目录和一些页表来留意这些页面。当程序

(或任务)试图访问线性地址空间中的一个地址位置时,处理器就会使用页目录和 页表把线性地址转换成一个物理地址,然后在该内存位置上执行所要求的操作。

3 )线性地址和物理地址之间的变换过程 3. 分段机制和分页机制的区别

1) 分页机制会使用大小固定的内存块,而分段管理则使用了大小可变的块来管理 内存。 2) 分页使用固定大小的块更为适合管理物理内存,分段机制使用大小可变的块更 适合

处理复杂系统的逻辑分区。

3 )段表存储在线性地址空间,而页表则保存在物理地址空间。

2020年中兴精选50面试题及答案

3.综合代码植人和流程控制技术最常见和最简单的緩冲区溢出攻击类型就是在一个字符串里综合了代码植人和启动记录。攻击者定位一个可供溢出的自动变Q,接着向程序传逢一个很大的字符串,在引发缓冲区溢出改变启动记录的同时植人了代码(C语言程序员习惯上只为用户和参数开辟很小的緩冲区)。代码植人和緩冲区溢出不一定要在一次动作内完成,攻击者可以在一个緩冲区内放置代码(
推荐度:
点击下载文档文档为doc格式
4ux876kwwl47le14lopx1jxus0hl5300vug
领取福利

微信扫码领取福利

微信扫码分享