腾讯笔试题:基础编程与数据结构挑战
需积分: 15 170 浏览量
更新于2024-11-05
收藏 131KB DOC 举报
"腾讯试题.doc腾讯试题.doc腾讯试题.doc腾讯试题.doc腾讯试题.doc"
这份文档包含了腾讯公司在2005年招聘过程中的部分笔试题目,主要涵盖C/C++、操作系统、Linux基础以及数据结构等主题。这些题目旨在测试应聘者的编程基础和逻辑思维能力,而不是深入的专业知识。以下是对部分题目的解析和知识点的详细说明:
1. 定义一个宏,比较两个数a、b的大小,不使用大于、小于、if语句。
这是一个关于条件表达式和位运算的问题。可以使用异或和与运算来实现。例如,`#define MAX(a, b) ((a) ^ (((a) ^ (b)) & -(a) < (b)))`。这里利用了负数的最高位为1的特性。
2. 如何输出源文件的标题和目前执行行的行数。
在C/C++中,获取源文件标题通常不可行,因为编译器并不保留这些信息。但可以使用预处理器宏`__FILE__`得到当前源文件的路径。至于行数,可以使用`__LINE__`宏。
3. 写一个高精度算法,两个数相乘,小数点后位数无限制。
这需要实现大整数的乘法。可以使用 Karatsuba 或 Toom-Cook 算法,或者简单的位操作和字符串处理。例如,将每个数转换为字符串,然后逐位相乘,处理进位。
4. 写一个病毒。
创建病毒违反道德和法律,不建议解答。在现实场景中,应该关注如何编写安全的代码和防范恶意软件。
5. 四个人过桥问题。
这是一个典型的逻辑优化问题。解决方法是通过组合不同的过桥方式,确保每次只有两个人并且充分利用手电筒。具体策略涉及到动态规划或回溯搜索。
6. C的Sizeof函数。
`sizeof`是C/C++中的运算符,用于计算类型或变量所占用的内存字节数。例如,`sizeof(int)`返回int类型的字节数,`sizeof(array)`返回数组的总字节数。
7. 语言问题和简单的数据结构题目。
包括链表的交叉归并、二叉树的遍历、哈希表的长度计算等,这些都是数据结构和算法的基础知识。
8. 运算符优先级问题。
题目中提到的`a^b<<2`,需要了解`^`(按位异或)、`<<`(左移)的优先级,`<<`的优先级高于`^`。
9. 函数参数个数。
函数调用`fun((exp1,exp2),(exp3,exp4,exp5))`中的实参数量取决于逗号运算符的行为。在这个例子中,它会有2个实参,因为逗号运算符会依次计算表达式,但只返回最后一个值。
10. 二分查找、顺序查找和哈希表的效率分析。
二分查找在有序数组中查找速度快,平均时间复杂度为O(logn);顺序查找平均时间复杂度为O(n);哈希表查找理想情况下接近O(1),但在最坏情况下可能达到O(n)。
11. 顺序查找的平均时间。
对于n个元素的列表,顺序查找的平均查找次数是(n+1)/2。
12. 指针和动态内存管理。
`*p=NULL;` 初始化指针为NULL;`*p=new char[100];` 分配一个字符数组;`sizeof(p)` 返回指针本身所占的字节数,不是分配的内存大小。
这些题目体现了腾讯对求职者基础编程技能的重视,同时也展示了在面试和笔试中可能会遇到的实际问题。通过这些题目,可以检验应聘者的编程基础、逻辑思维和问题解决能力。
2021-09-11 上传
2021-09-29 上传
2021-10-03 上传
133 浏览量
2021-10-30 上传
2021-11-13 上传
vissalan
- 粉丝: 0
- 资源: 14
最新资源
- 华为内部linux教程
- 微软ASP.NET AJAX框架剖析
- MPEG-4 ISO 标准 ISO/IEC14496-5
- 转贴:随心所欲的Web页面打印技术
- c语言100例.doc
- JSP数据库编程指南.pdf
- 完全精通局域网-局域网速查手册
- ENVI遥感影像处理专题与实践\用户指南与实习指南.pdf
- 软考试卷06下cxys.pdf
- usb设备驱动开发详解-讲座
- 深入浅出Win32多线程程序设计
- 水文控制系统子程序详细的mp430程序
- John.Lions-Lions'.Commentary.on.UNIX.6th.Edition.with.Source.Code.pdf
- PHP和MySQL Web开发 第四版
- ArcGIS Server 9.2 javascript ADF核心 帮助文档
- java 基础及入门