中兴通用软件/嵌入式软件开发工程师笔试 9-14
《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj
《嵌入式软件笔试-23年真题汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm
选择题
1. 对以下C语言类型声明语句的解释正确的是:( )
double * const cptr;
cptr指向的地址以及地址内的内容均可以改变
cptr指向的地址不能改变
cptr指向的地址内的内容不能改变
cptr指向的地址以及地址内的内容均不能改变
2.以下哪种情况适合使用数据库事务?
用户进行简单的查询操作
用户进行多次更新操作
用户进行单次更新操作
用户进行数据备份操作
3.以下叙述中不正确的是:
在不同的函数中可以使用相同名字的变量
函数中的形式参数是局部变量
在一个函数内定义的变量只在本函数范围内有效
在一个函数内的复合语句{}中定义的变量在本函数范围内有效
解释:
如果在复合语句(如一个代码块内部)中定义了变量,这些变量只在该复合语句的范围内有效,而不是整个函数范围内有效。
4.以下哪个关系代数操作符可以用来实现SQL中的JOIN操作?
选择
投影
自然连接
笛卡尔积
5.在计算机网络中,下列哪个协议用于将域名解析为IP地址?
SMTP
HTTP
DNS
FTP
解释:
DNS 是一个分布式数据库,允许用户通过域名(如 www.nowcoder.com)访问网站,而不需要记住其对应的数值IP地址。
6. 若不想使用编译器自动生成类的成员函数(如拷贝构造函数),就该明确拒绝,明确拒绝的方式有?
将成员函数显式声明为private。
将成员函数显式声明,并加“=default”标识。
将成员函数显式声明,并加“=delete”标识。
显式声明并实现成员函数。
7. 以下哪些操作可能会产生资源泄漏?
使用mmap接口映射的内存段没有通过munmap()撤销映射
文件没有关闭
程序运行中加载的动态库没有卸载
套接字没有关闭
FIFO在使用完之后没有关闭
已知本机是小字节序,如下定义及赋值语句:
union {
unsigned int u32;
unsigned short u16[2];
unsigned char u8[4];
} order;
order.u32 = htonl(0x12345678);
假设int为4字节,htonl是将int型整数字节序由主机序转为网络序则下列判断有错误的包括:
order.u8[2]=0x56
order.u8[0]=0x12
order.u8[3]=0x78
order.u8[1]=0x12
解释:
htonl 函数:htonl函数将主机字节序(通常是小字节序)转换为网络字节序(总是大字节序)。
在小字节序机器上,整数 0x12345678 通过 htonl 转换为网络字节序后,将存储为 0x78563412
因此四字节依次存为:0x78 0x56 0x34 0x12
请问以下说法正确的有:
可以使用空指针创建std::string ,因为std:string内部做了保护
不要试图用空指针创建std::string,这是C++安全编码规范的要求
可以使用空指针创建std::string,只要不访问创建的string对象就没问题
如果使用空指针创建std::string ,会引发对空指针的解应用从而导致程序异常
以下哪种网络拓扑结构可以实现高可用性和冗余?
总线型
星型
环形
网状型
解释:
网状拓扑提供了最高级别的冗余,因为它允许每个节点与多个其他节点直接连接。在网状网络中,即使多个连接或节点发生故障,数据通常仍有多条路径可以流动,从而确保网络的持续运行和高可用性。
以下代码,输出结果是什么( )
#include <iostream> using namespace std; template<class T> class MyClassB { protected: static int num_; // 静态成员变量,需要在类外初始化 public: MyClassB() { ++num_; } void show() { cout << num_ << endl; } }; template<class T> int MyClassB<T>::num_ = 0; // 静态成员变量初始化 template<class T> class MyClassD : public MyClassB<T> { public: MyClassD() { ++MyClassB<T>::num_; // 在派生类构造函数中递增基类的静态成员变量 } }; int main() { MyClassB<int> intInstance; // 创建int模板实例 intInstance.show(); // 显示int实例的num_值,预期是1 MyClassB<float> floatInstance; // 创建float模板实例 floatInstance.show(); // 显示float实例的num_值,预期是1 MyClassD<int> intDInstance; // 创建继承自int模板的派生类实例 intDInstance.show(); // 显示派生类实例的num_值,预期是2 return 0; }
1
1
3
下面不正确的赋值或赋初值的方式是()
char str[5]={'g','o', 'o', 'd'};
char str[]="string";
char str[10]; str = "string";
char str[6]="g";
解释:
在C/C++中,不能直接将字符串字面量赋给已经声明的数组。
在计算机网络中,下列哪个协议用于在互联网上传输电子邮件?
SMTP
HTTP
MAILTO
FTP
下面哪种变量定义不当,可能导致堆栈溢出
静态全局变量
动态全局变量
静态局部变量
动态局部
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。