中兴通用软件/嵌入式软件开发工程师笔试 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++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论

相关推荐

09-27 14:42
已编辑
浙江大学 Java
未来未临:把浙大放大加粗就行
点赞 评论 收藏
分享
5 7 评论
分享
牛客网
牛客企业服务