深信服历年笔试题全览:内存区域与指针技巧

版权申诉
0 下载量 152 浏览量 更新于2024-09-01 收藏 42KB DOC 举报
本文档提供了深信服笔试题的汇总,包括选择题和示例程序,旨在帮助考生了解面试中的常见IT知识和技能测试。首先,六道选择题涉及内存管理: 1. **内存区域**:题目询问`char*p="helloworld";`和`char p[]="helloworld";`的存储位置。`p`作为字符指针存储在栈上,而数组`p[]`在数据段。理解栈(函数调用时的局部变量)和数据段(全局变量或静态变量)的内存分配是关键。 2. **例子程序**: - 全局变量`a`和`c`位于全局初始化区,`p1`和`p2`为动态分配的堆内存。 - `chars[]`和`p3`在栈上,`strcpy`可能导致字符串合并优化。 - 优先级运算符`&&`和`.`的比较,以及条件运算符`?:`的执行顺序。 - 可靠通信方式的判断,涉及信号、管道、消息、TCP、UDP和串口I/O。 - 对于特定代码片段,`M`的赋值逻辑,涉及`++`、`--`操作符和条件表达式。 - Unix系统启动顺序问题,可能涉及到操作系统启动流程。 其次,文档包含一些基础编程概念: 3. **数制转换**:题目要求将十进制151转换为二进制和九进制。 4. **ASCII码**:题目涉及变量在内存中的表示,需要熟悉ASCII码的计算方法。 5. **Linux命令**:查看目录大小的`du`和修改文件属性的`chmod`、`chown`命令,切换用户权限的`su`命令。 6. **指针交换**:展示了指针操作,通过函数`fun`交换`i`和`j`的值,同时改变了`p`和`q`指向的整数。 最后,一道关于插入排序的填空题,涉及数组操作和排序算法的理解。 这些题目涵盖了内存管理、编译原理、操作系统、数据结构等多方面的知识,有助于准备应聘者对深信服笔试的全面准备。理解和掌握这些概念,对于通过面试至关重要。