华为&联想开发笔试题解析:网络协议、C++特性与内存管理

需积分: 11 3 下载量 186 浏览量 更新于2024-09-18 收藏 130KB DOCX 举报
"这篇资料包含了华为和联想的开发类笔试题目,主要涉及计算机网络、C++编程、数据结构以及变量作用域等相关知识点。" 在华为的笔试题中,重点考察了以下几个方面: 1. **网络协议模型**:要求画出OSI七层模型和TCP/IP五层模型,这涉及到对网络通信基础的理解。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为网络接口层、网络层、传输层和应用层。 2. **IP协议**:IP协议位于网络层,主要负责将数据包从源主机发送到目的主机,是Internet的基础协议。TCP(传输控制协议)和UDP(用户数据报协议)位于传输层,TCP提供面向连接、可靠的传输服务,UDP则是无连接、不可靠的。 3. **交换机与路由器**:交换机工作在数据链路层,通过MAC地址进行数据帧的转发;路由器工作在网络层,基于IP地址进行数据包的路由选择。 4. **C++与C的区别**:C++中的类默认成员为private,而C语言的struct默认成员为public。此外,C++中不明确指定的继承默认为private,而C中默认为public。 5. **析构函数与虚函数**:析构函数用于在对象生命周期结束时清理资源,系统自动调用。虚函数用于实现多态,通过在父类中声明为virtual,使得子类可以重写并正确调用。 6. **变量的作用域**:全局变量在整个程序中可见,存储在全局数据区;局部变量只在函数内可见,存储在栈区。编译器通过分析代码来确定变量的类型和作用域,操作系统通过内存管理来区分不同区域的数据。 7. **8086处理器**:8086是16位处理器,其数据总线支持16位数据传输,但外部数据总线只有8条,意味着它可以处理8位和16位数据。 联想的笔试题则聚焦于: 1. **函数设计**:要求设计一个函数`int atoi(char *s)`,这通常是指将字符串转换为整数。 2. **表达式求值**:表达式`int i=(j=4, k=8, l=16, m=32);`的结果是最后一个赋值操作的结果,即i=32。 3. **变量类型**:区分局部变量(仅在函数内部有效)、全局变量(整个程序可见)和静态变量(在函数调用间保持其值)的概念。 这些题目涵盖了计算机科学的基础知识,对于准备软件开发类笔试的应聘者来说,理解和掌握这些知识点至关重要。