当前位置:网站首页 > 安全测试 > 正文

存储测试面试题(存储工程师面试题目)



答案:

什么是字节对齐:

需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐;常见就是求复合类型大小,比如结构体、联合体。

为什么需要字节对齐

需要字节对齐的根本原因在于CPU访问数据的效率问题

答案:

从右往左,并且内存中栈是由高向低扩展,所以先入栈的是右边并且地址是高位。

比如printf()函数,也都是先打印最右边。

答案:

有可能,因为malloc是相进程申请虚拟内存,与物理地址空间没有直接关系。

答案:

申请堆内存

说明:

1. malloc    内存未初始化,如果size为0,则malloc()返回NULL或一个稍后可以成功传递给free 的唯一指针值。

2. realloc    如果size_t>原来的s申请的空间大小,比如原来是100个字节,现在是150个字节,那么就有以下两种情况:

3.calloc   申请内存空间后,会自动初始化内存空间为 0。

答案:

指针其实也是个变量,只不过这个变量里面存储的是内存地址。

举例说明:

int * a;指针类型为int *

char *c;指针类型为char *

答案:

占用内存的大小,在32为系统中无论是什么类型的指针都是4个字节。64位为8个字节。

答案:

1.概念

数组:是同种类型的集合

指针:里面保存的地址的值

2.赋值:

同种类型指针之间可以直接赋值,数组只能一个个元素赋值

3.存储方式:

数组是连续的一段空间,指针的存储空间是不确定的

4.修改内容不同

比如:

char p[] =”hello”,我们可以执行p[0] = ‘s’操作原因是p是数组,可以使用下标的方式进行修改数组内容

Char * p = “hello” 执行p[0] = ‘s’是错误的,原因是p是指针,指向字符串常量,常量是不允许修改的

5.所占字节不同

指针永远是4个字节在32为系统中,而数组是不固定的,要看数组的类型和元素个数

答案:

野指针:是指指针指向的地址是不确定的;

原因:释放内存之后,指针没有及时置空;

避免:

答案:

智能指针是个类,用来存储指针(指向动态分配对象的指针)。

C++程序中使用堆内存是非常频繁的,堆内存的申请和释放由程序员手动管理,这很容易造成堆内存的泄漏,使用智能指针能更好的管理堆内存。

答案:

为了解决循环引用导致的内存泄漏,引入了weak_ptr。

答案:

对于一维数组来说

num+1是偏移到下个元素,&num+1是偏移整个数组

对于二维数组来说

num+1是偏移一个一维数组,&num+1是整个数组

答案:

直接的原因是为了支持运算符重载。

用指针的使用经常犯得错:

1. 操作空指针,

2. 操作野指针,

3. 不知不觉改变了指针的值,而后还以为该指针正常。如果我们要正确的使用指针,我们不得不人为地保证这三个条件。而引用的提出就解决了这个问题。

引用区别于指针的特性是 :

1. 不存在空引用(保证不操作空指针);

2. 必须初始化(保证不是野指针);

3. 一个引用永远指向他初始化的那个对象(保证指针值不变)

到此这篇存储测试面试题(存储工程师面试题目)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 文本框测试用例设计(文本框测试是什么)2025-04-11 07:45:05
  • 浏览器兼容性测试工具哪个好用点(网站浏览器兼容性测试)2025-04-11 07:45:05
  • 手机安全认证码(手机安全认证码第1位和第2位)2025-04-11 07:45:05
  • ipv4测试在线测试(ipv6测试网址)2025-04-11 07:45:05
  • 服务器压力测试方案(服务器压力测试方案怎么写)2025-04-11 07:45:05
  • ip44测试标准(ip44试验方法)2025-04-11 07:45:05
  • sdk测试的前景(sdk测试demo)2025-04-11 07:45:05
  • 安全选项卡怎么获得权限设置(安全选项卡怎么获得权限设置的)2025-04-11 07:45:05
  • 流量回放测试是什么意思啊(测试口中的流量回放啥意思)2025-04-11 07:45:05
  • 104规约测试帧(101规约测试帧)2025-04-11 07:45:05
  • 全屏图片