《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj 《嵌入式软件笔试-23年真题汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm 单选题 递归调用非常危险,可能导致很多问题,即使程序编写没有逻辑错误,也可能导致下面哪种现象的发生: 死循环 栈溢出 内存泄漏 关于互斥,下面说法错误的是: 单核系统中,线程间对临界资源的互斥,可以采用互斥信号量 多核系统中,任务可以通过自旋锁或者(关闭)中断的方式独占cpu 临界资源必须很好的设计,避免对很大的一段代码区域进行粗放的保护,导致效率低下 spinlock是一种自旋锁,可以用来实现多核之间共享数据的互斥访问 以下哪个模型是基于需求开发的过程模型? 瀑布模型 增量模型 原型模型 螺旋模型 以下哪种情况适合使用数据库事务? 用户进行简单的查询操作 用户进行多次更新操作 用户进行单次更新操作 用户进行数据备份操作 以下哪种数据结构可以用于实现搜索引擎中的倒排索引? 数组 树 链表 哈希表 下面这个程序执行后,打印结果是什么___________ #define MAX 255 int main() { int j=0; unsigned char i; for (i=0;i<=MAX;i++) j+=i; printf("%d\n",j); } 255 32640 65280 以上都不是 现定义一个乘法的宏,下面宏定义正确的是:() #define multi(a,b) a*b #define multi(a,b) ((a)*(b)) #define multi(a,b) (a*b) #define multi(a,b) (a)*(b) 下列代码哪一行行在隐患 typedef struct param_in_s { BYTE*pln; WORD32 inLen; }PARAM _IN; VOID fun(PARAM IN *param) { ROSNG TRACE DEBUG(Mparam = %p,param->pln = %p,param->inLen = %u\n" param,param->pln,param-> inLen); if (NULL == param) { return; } if (0 == param->inLen) { return; } if (NULL == param->pln) { return; } ... ... return; } ROSNG_TRACE_DEBUG("param = %p,param->pln = %p,param->inLen = %u\n ,param,param->pln, param-> inLen); if (NULL == param) if (0 == param->inLen) if (NULL == param->pln) 以下哪个命令可以用于创建一个新的Linux用户,并指定其所属的用户组、主目录和Shell类型? adduser useradd newuser usernew 有以下两个文件,输出结果是:() 文件A: int a[10] ={100}; 文件B: #include <stdio.h> extern int *a; void main() { printf("%d",a[0]); } 100 0 段错误 编译错误 不定项选择题 下列关于C语言中static关键字的描述,正确的是: static只能用来修饰变量,不能用来修饰函数 全局变量前加static表示该变量的作用域限制变量所在的文件中 static修饰的局部变量的作用域限制在变量所在的函数中 static修饰帕的局部变量分配在内存的全局数据区 请问以下说法正确的有: 可以使用空指针创建std::string,因为std::string内部做了保护 不要试图用空指针创建std::string,这是C++安全编码规范的要求 可以使用std::stringstring