深信服笔试大全:逻辑题、改错、问答解析

3星 · 超过75%的资源 需积分: 50 100 下载量 146 浏览量 更新于2024-07-30 4 收藏 221KB DOC 举报
"深信服笔试题汇总,涵盖了逻辑题、改错题、问答题等多个方面,涉及C++、编程基础、网络、操作系统、调试技巧和文件系统等多个IT领域的知识点。" 本文将详细解析深信服笔试题中的关键知识点,帮助准备笔试的考生提升理解和解答能力。 1. **逻辑题** 题目要求找出三位数中同时能被2、3、5整除的数,并排除这三个数的和。这涉及到对整除性质的理解和数字的运算。 2. **四则运算与容器问题** 提到用5升和3升桶量取4升水,这是经典的数学问题,考察逻辑思维和问题解决能力。 3. **改错题** 改错题旨在检测编程基础,如1tozero算法可能涉及数组操作和逻辑判断,其他题目未提供具体信息,但可能涵盖C++语法、数据结构等方面。 4. **问答题** - **头文件重复包含**:在C++中,为了避免头文件被多次包含,通常使用`#ifndef`、`#define`、`#endif`来创建预处理器宏,防止重复编译。 - **extern"C"的作用**:在C++中,extern"C"用于保持C语言的链接兼容性,使得C++代码中的函数和变量按照C语言的规则进行编译和链接。 - **异步IO与同步IO**:异步IO允许程序在等待IO操作完成时执行其他任务,而同步IO则会阻塞直到IO完成。常见的IO模型包括阻塞IO、非阻塞IO、多路复用IO(如select、poll、epoll)、信号驱动IO和异步IO。 - **网络拥塞处理**:在网络拥塞导致send不出数据时,Windows可能会返回特定错误码,如WSAEWOULDBLOCK。通常可以通过设置超时、重试机制或使用异步IO来处理。 - **结构字节对齐与大小端问题**:在不同CPU架构间移植代码时,需要注意结构体成员的字节对齐方式和数据存储顺序(大端/小端)。可以通过调整结构体定义、预处理器宏或使用平台无关的库来避免问题。 - **内存泄漏检测**:在VC++中,可以使用`assert()`、生成map文件、设置`_asm int 3`断点、学习汇编以及使用第三方调试器(如Visual Leak Detector)来检测和定位内存泄漏。 - **main()函数返回值**:main()函数的返回值通常表示程序执行的状态,0表示正常结束,非零值表示异常或错误。 - **字符串处理**:题目要求将连续多个空格替换为一个空格,这涉及到字符串操作,可能需要使用循环和条件判断来实现。 - **汉诺塔问题**:汉诺塔问题是一个经典的递归问题,求解10个盘子需要移动的次数遵循公式2^n - 1,即2^10 - 1 = 1023次。 - **文件后缀名提取**:题目要求根据路径提取文件后缀名,需要使用字符串处理技术,如查找最后一个'.'并截取子串。 这些知识点覆盖了编程基础、数据结构、算法、操作系统、网络、调试技巧等多个领域,对于备考深信服或其他IT公司的笔试是非常有价值的复习材料。