腾讯2014研发工程师笔试题目精华及分析
需积分: 10 199 浏览量
更新于2024-09-07
收藏 33KB DOCX 举报
本资源是一份腾讯2014年校招研发工程师笔试题文档,涵盖了C/C++编程、设计模式、算术表达式、数据库特性、网络地址、整数操作和数据结构等多个IT领域的知识点。
1. **排序算法分析**:
- 堆排序(b):在给定选项中,堆排序是一种不依赖于输入数据初始顺序的排序算法,其性能稳定,时间复杂度为O(n log n),即使数据已经部分有序,堆排序也不会改变其性能。
2. **程序输出计算**:
- 函数`Func`打印`str_arg`的大小,即字符数组的字节长度,包括终止符,所以`sizeof(str_arg)`为6(因为`Hello`占5个字符加上1个终止符)。`str`是一个字符数组,`sizeof(str)`为5(只计算字符),`strlen(str)`也是5(字符串长度),`p`是一个指针,`sizeof(p)`为4(一般指针大小)。因此,`Func(str)`调用会输出6,整个程序输出结果是`6544`。
3. **设计模式**:
- 单例模式(Singleton):保证类只有一个实例,并提供全局访问点,不符合题意,这里没有体现抽象和实现分离。
- 桥接模式(Bridge):将抽象部分和实现部分解耦,允许它们独立变化,符合题意。
- 组合模式(Composite):使得用户对单个对象或对象组合进行一致的操作,不符合题意。
- 外观模式(Facade):为子系统提供一个一致的接口,隐藏其实现细节,符合题意。但题目未提及哪一个是抽象与实现分离的体现。
4. **后缀表达式**:
- 表达式“X=A+B*(C--D)/E”转换为后缀表达式,减号和减号前的--运算符应该放在运算符后面,所以正确答案是c。
5. **数据库特点**:
- 数据冗余度小、数据独立性高、数据共享性好都是关系数据库的特点,而多用户访问并不直接涉及数据存储方式,而是访问控制机制,所以d不是特点。
6. **Cache相关知识**:
- Cache设计目标是在合理成本下提高命中率,通常Cache容量小于主存,A错误;C错误。
- 替换算法如LRU、LFU等影响Cache命中率,B错误;正确答案是d。
7. **私有IP地址范围**:
- 私有IP地址分为A、B、C类,排除C类172.32.0.0/16,正确答案是c。
8. **整数操作问题**:
- 求经过9次操作变为1的数,这涉及到二进制位操作。对于正整数,每次操作都会使其变为偶数或奇数,最终达到1。一个正整数从2开始,经过9次操作变成1,说明它至少经过了5次翻倍和4次加1,即2^(5)+4=32+4=36,但36继续操作会变成18,18经过4次操作变成1。因此,至少有18个这样的数,但实际可能更多,答案是b。
9. **数组与链表操作速度**:
- 原地逆序(a)、头部插入(b)、返回中间节点(c)和选择随机节点(e)在数组上通常比链表更快,因为数组可以直接通过索引访问元素,而链表需要遍历查找。返回头部节点在链表操作中常见,但这里没有明确是否快于数组,因此答案是ace。
10. **磁盘I/O性能**:
- 圆环磁道上的数据排列方式(可能是螺旋或者交错)会影响磁头寻道时间和I/O性能,具体优化方法与磁盘物理结构有关。
这些题目综合考察了应聘者的编程基础、算法理解、设计模式运用以及计算机系统基础知识,是评估研发工程师综合能力的有效工具。
2024-01-25 上传
2019-07-08 上传
2022-05-08 上传
2021-08-30 上传
2021-09-11 上传
2023-07-31 上传