腾讯2018秋招正式笔试题目小结
背景介绍
腾讯作为中国科技领域的佼佼者,每年都会举行大规模的招聘,吸引着众多优秀的应聘者前来。其中,笔试是选拔过程中的重要环节,也是一个入职的关键。本文旨在对腾讯2018秋招正式笔试的题目进行详细的分析和总结,帮助广大应聘者更好地进行准备。
题目类型
腾讯2018秋招正式笔试共分为两个部分:编程题和客观题。编程题主要考察应聘者的算法和编程能力,客观题则主要考察应聘者对计算机基础知识的掌握程度。
编程题分析
题目总体情况
腾讯2018秋招正式笔试编程题总共有4道,分别为:
- 二叉树遍历
- 统计数字
- 小Q的歌单
- 火车进站
其中前两道属于基础题型,难度适中,后两道则属于中高难度,需要较强的算法能力。
解题思路
在考试中,题目的解题思路是非常重要的一环。以下将对每道题目的解题思路进行详细分析:
1. 二叉树遍历
此题考察基础的二叉树遍历算法,主要思路如下:
- 前序遍历:根节点 -> 左节点 -> 右节点
- 中序遍历:左节点 -> 根节点 -> 右节点
- 后序遍历:左节点 -> 右节点 -> 根节点
此外,此题需要注意空节点的处理方法和输出格式。
2. 统计数字
此题考察基础的字符串操作和数据统计能力,主要思路如下:
- 将输入的字符串按照非数字字符分割为一个字符串数组
- 对于每个字符串,使用正则表达式匹配提取其中的数字,并统计数量
此外,此题需要注意数字可能为负数的情况,以及输出结果的格式。
3. 小Q的歌单
此题考察动态规划能力,需要用到排列组合和递推,主要思路如下:
- 使用二维数组A[i][j]表示i首歌单中添加j首A歌曲的方案数
- 根据排列组合和递推的公式,可以得到A[i][j]与A[i-1][j-1]和A[i-1][j]之间的关系,然后进行递推计算即可
此外,此题需要注意数据范围和输出结果的格式。
4. 火车进站
此题考察基础的栈的操作和递归思想,需要进行深度优先搜索,主要思路如下:
推导过程比较复杂,请参考详细解析文章。
代码示例
以下为两道题目的代码示例:
1. 统计数字
import re
# 将输入字符串拆分为数字字符串列表
numbers = re.findall(r'\d+', input())
# 统计数字
if numbers:
count = len(numbers)
if '-' in numbers:
count -= 1
print(count)
else:
print(0)
2. 小Q的歌单
# 输入数据
n = int(input())
m = int(input())
k = int(input())
# 初始化二维数组
dp = [[0] * (m + 1) for _ in range(n + 1)]
dp[0][0] = 1
# 递推计算
for i in range(1, n + 1):
for j in range(1, m + 1):
if j > k:
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j] * (j - 1)) % 1000000007
else:
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j]) % 1000000007
# 输出结果
print(dp[n][m])
客观题分析
题目总体情况
腾讯2018秋招正式笔试客观题总共有20道,题目涵盖了计算机基础、网络协议、操作系统、数据库、数据结构和算法等多个方面。
解题思路
客观题在解答时需要注意以下几点:
- 仔细阅读题目和选项,避免选错
- 注意每道题目的考点,有助于聚焦正确的答案
- 对于不知道的问题,应该及时进行查阅,避免选错
代码示例
客观题部分不需要使用代码进行解答。
总结
腾讯2018秋招正式笔试中的编程题共有4道,客观题共有20道,题目难度参差不齐,覆盖面广泛。在考试中,应聘者需要充分做好准备,找到适合自己的解题思路,然后适时调整自己的答题节奏,把握好走向成功的机会。
以上是对“腾讯2018秋招正式笔试题目小结”的详细攻略,希望对广大应聘者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:腾讯2018秋招正式笔试题目小结 - Python技术站