2016腾讯软件开发面试题(不定项选择题【1-12】)

十道腾讯软件开发工程师面试题 本来在一加软件公司工作,三月初的时候无意中收到深圳腾讯云的电话(对方表明身份后,说看到我的简历,想和我聊聊。当时没有电面经验再加上也没有进来也没有投简历,爽快的答应聊就聊呗。 阅读详情

一、前言

2017年1月27日19:05:28,今天是年三十,首先祝大家新年快乐,之前对自己要求过,每星期一篇面试题的博客,虽然今天心里有一万个不愿意写,也还是得写。这篇博客是 2016 腾讯软件开发面试题中不定项选择题集合中的 1 -12 题,其中后面的 13-25题在下周的博客中写,说明一下,这篇博客跟以往的每周一题有点不同,因为如果选择一两题,博客的边幅有点少,而且选择题相对来说,难度没那么大,更主要的是为了让大家全面的感受一下腾讯的面试题。

二、2016 腾讯软件开发面试题(不定项选择题【1-12】)

1、已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:( )

A. CFHGEBDA
B. CDFEGHBA
C. FGHCDEBA
D. CFHGEDBA

知识点

对于二叉树的遍历方式一般分为三种先序、中序、后序三种方式:

  • 先序遍历(根左右)
    若二叉树为空,则不进行任何操作:否则
    1、访问根结点。
    2、先序方式遍历左子树。
    3、先序遍历右子树。

  • 中序遍历 (左根右)
    若二叉树为空,则不进行任何操作:否则
    1、中序遍历左子树。
    2、访问根结点。
    3、中序遍历右子树。

  • 后序遍历 (左右根)
    若二叉树为空,则不进行任何操作:否则
    1、后序遍历左子树。
    2、后序遍历右子树。
    3、放问根结点。

因此,根据题目给出的先序遍历和中序遍历,可以画出二叉树:

二叉树遍历.png

最后结果选择: D


2、下列哪两个数据结构,同时具有较高的查找和删除性能?( )

A. 有序数组
B. 有序链表
C. AVL 树
D. Hash 表

知识点

几种常见的数据结构操作性能.png

平衡二叉树的查找,插入和删除性能都是 O(logN) ,其中查找和删除性能较好;哈希表的查找、插入和删除性能都是 O(1) ,都是最好的。所以最后的结果选择: CD


3、下列排序算法中,哪些时间复杂度不会超过 nlogn?( )

A. 快速排序
B. 堆排序
C. 归并排序
D. 冒泡排序

知识点

几种常见的排序算法对比.png

根据上图,观察平均情况,最好最差情况的时间复杂度基本可以知道答案了,最后结果选择: BC


4、初始序列为 1 8 6 2 5 4 7 3 一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:( )

A. 8 3 2 5 1 6 4 7
B. 3 2 8 5 1 4 6 7
C. 3 8 2 5 1 6 7 4
D. 8 2 3 5 1 4 7 6

初始化序列:1 8 6 2 5 4 7 3,,小根堆就是要求结点的值小于其左右孩子结点的值,左右孩子的大小没有关系,那么小根堆排序之后为:1 2 4 3 5 6 7 8;

中序遍历:左根右,故遍历结果为:8 3 2 5 1 6 4 7

故最后选择的结果: A


5、当 n = 5 时,下列函数的返回值是:( )

[cpp] view plaincopy
int foo(int n)  
{  
    if(n<2)return n;  
    return foo(n-1)+foo(n-2);  
}  

A.5
B.7
C.8
D.1

这题只需把数代进去,就可以知道结果了,所以最后结果选: A

递归.png


6、 S 市 A ,B 共有两个区,人口比例为 3:5 ,据历史统计 A 区的犯罪率为 0.01% ,B 区为 0.015% ,现有一起新案件发生在 S 市,那么案件发生在 A 区的可能性有多大?( )

A.37.5%
B.32.5%
C.28.6%
D.26.1%

这道题首先得了解犯罪率是什么?犯罪率就是犯罪人数与总人口数的比。因此可以直接得出公式:( 3 * 0.01% ) / ( 3 * 0.01% + 5 * 0.015% ) = 28.6%

当然如果不好理解的话,我们可以实例化,比如 B 区假设 5000 人,A 区 3000 人,A 区的犯罪率为 0.01%,那么 A 区犯罪人数为 30 人,B 区的犯罪率为 0.015% ,那么 B 区的犯罪人数为 75 人 ,求发生在 A 区的可能性,就是说 A 区的犯罪人数在总犯罪人数的多少,也就是 30/(30+75)=0.2857

当然,也可以回归到我们高中遗忘的知识:

假设C表示犯案属性
在A区犯案概率:P(C|A)=0.01%
在B区犯案概率:P(C|B)=0.015%
在A区概率:P(A)=3/8
在B区概率:P(B)=5/8
犯案概率:P(C)=(3/8*0.01%+5/8*0.015%)
根据贝叶斯公式:P(A|C) = P(A,C) / P(C) = [P(C|A) P(A)] / [ P(C|A) P(A)+ P(C|B) P(B) ] 也可以算出答案来

故,最后结果选择为: C


7、Unix系统中,哪些可以用于进程间的通信?( )

A.Socket
B.共享内存
C.消息队列
D.信号量

知识点

  1. 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;

  2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数);

  3. 报文(Message)队列(消息队列):消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。

  4. 共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
    信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。

  5. 套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。

故最后选择的结果为: ABCD


8、静态变量通常存储在进程哪个区?( )

A.栈区
B.堆区
C.全局区
D.代码区

静态变量的修饰关键字:static,又称静态全局变量。故最后选择的结果为: C


9、查询性能( )

A. 在Name字段上添加主键
B. 在Name字段上添加索引
C. 在Age字段上添加主键
D. 在Age字段上添加索引

结果选: B


10、IP地址131.153.12.71是一个(B)类IP地址。

A.A
B.B
C.C
D.D

知识点

IP地址分类.png

故将 131 转为二进制 :10000011,因此为 B 类 IP 地址,结果选 B


11、下推自动识别机的语言是:(C)

A.0型语言
B.1型语言
C.2型语言
D.3型语言

知识点

这是有关编译原理的。

乔姆斯基体系是计算机科学中刻画形式文法表达能力的一个分类谱系,是由诺姆·乔姆斯基于1956年提出的。它包括四个层次:

  • 0-型文法(无限制文法或短语结构文法)包括所有的文法。该类型的文法能够产生所有可被图灵机识别的语言。可被图灵机识别的语言是指能够使图灵机停机的字串,这类语言又被称为递归可枚举语言。注意递归可枚举语言与递归语言的区别,后者是前者的一个真子集,是能够被一个总停机的图灵机判定的语言。

  • 1-型文法(上下文相关文法)生成上下文相关语言。这种文法的产生式规则取如 αAβ -> αγβ 一样的形式。这里的A 是非终结符号,而 α, β 和 γ 是包含非终结符号与终结符号的字串;α, β 可以是空串,但 γ 必须不能是空串;这种文法也可以包含规则 S->ε ,但此时文法的任何产生式规则都不能在右侧包含 S 。这种文法规定的语言可以被线性有界非确定图灵机接受。

  • 2-型文法(上下文无关文法)生成上下文无关语言。这种文法的产生式规则取如 A -> γ 一样的形式。这里的A 是非终结符号,γ 是包含非终结符号与终结符号的字串。这种文法规定的语言可以被非确定下推自动机接受。上下文无关语言为大多数程序设计语言的语法提供了理论基础。

  • 3-型文法(正规文法)生成正规语言。这种文法要求产生式的左侧只能包含一个非终结符号,产生式的右侧只能是空串、一个终结符号或者一个非终结符号后随一个终结符号;如果所有产生式的右侧都不含初始符号 S ,规则 S -> ε 也允许出现。这种文法规定的语言可以被有限状态自动机接受,也可以通过正则表达式来获得。正规语言通常用来定义检索模式或者程序设计语言中的词法结构。

正规语言类包含于上下文无关语言类,上下文无关语言类包含于上下文相关语言类,上下文相关语言类包含于递归可枚举语言类。这里的包含都是集合的真包含关系,也就是说:存在递归可枚举语言不属于上下文相关语言类,存在上下文相关语言不属于上下文无关语言类,存在上下文无关语言不属于正规语言类。

四种类型的文法的主要特点:

四种类型的文法的主要特点.png

因此答案选择:B


12、下列程序的输出是:( )

[cpp] view plaincopy

#define add(a+b) a+b  

int main()  
{  
    printf(“%d\n”,5*add(3+4));  
    return ;  
}  

A.23
B.35
C.16
D.19

因为我主要是 java 开发的,可是毕竟 c 和 c++ 都是大学的必修课,因此还是有点了解的。这里主要看清楚 define ,#define 的本质就是一个代换,题目 #define add(a+b) a+b表明了 add(a+b) 替换成 a+b ,因此代码输出的那一行其实是 printf(“%d\n”,5*3+4); ,所以最后的结果选择 D

三、祝福

2017年1月27日20:17:36 终于写完了,最后还是祝福大家,新年快乐,心想事成。哈哈,可以去玩耍了。

本文已在版权印备案,如需转载请访问版权印。71733071

一文详解Stata重复测量方差分析的概念、原理、适用情形以及操作命令实现、对结果的解读、操作注意事项 附零基础小白友好入门Stata统计学/计量经济学学习路径 重复测量方差分析(Repeated Measures ANOVA)适用于同一受试者在不同时间点或条件下的多次测量数据,如疗效跟踪和跨条件对比研究。其核心特征包括:数据结构为每个受试者多个观测值,数据具有相关性(违反独立性假设),变异分解为个体间和个体内变异。关键假设包括正态性、方差齐性和球形性(通过Mauchly检验验证)。适用场景包括纵向研究和小样本追踪,但不适用于存在滞留效应或学习效应显著的数据。操作步骤涉及数据准备(宽/长格式转换)、正态性与球形性检验、主分析命令(单/多因素)及事后检验。 阅读详情

相关推荐

Petalinux实战:3种方法调试AXI UART Lite设备(含minicom/screen/直接寄存器操作对比)

本文详细介绍了在Zynq平台上使用Petalinux调试AXI UART Lite设备的三种实用方法:用户空间工具(minicom/screen)、应用层程序(termios配置)和底层寄存器直接操作。文章对比了各方法的优缺点与适用场景,并重点解析了设备树配置、驱动加载等关键环节,帮助开发者快速定位并解决串口通信中的常见问题。

weixin_29190169的博客 432

java后端面试问题

斐波那契数列 当n=5时,下列函数的返回值是:5 int foo(int n) { if (n < 2) return n; return foo(n - 1) + foo(n - 2); } f(0)=0 f(1)=1 f(2)=1 f(3)=2 f(4)=3 f(5)=5 spring boot自动配置 SpringBootApplication相当于三个注解 @EnableAutoCo...

waldenj的博客 722

用LTspice仿真CMOS反相器功耗?这份避坑指南能省你3天调试时间

本文详细介绍了如何使用LTspice准确仿真CMOS反相器的功耗,包括动态功耗、短路功耗和静态功耗的测量技巧。通过工程实践指南,帮助电子工程师避开常见陷阱,优化仿真参数设置,提升仿真结果的可靠性,节省调试时间。

w7x8y9z的博客 188

Java错题笔记

两个数组用equals方法比较时,会逐个便利其中的元素,对每个元素进行比较(对)可以二维数组,且可以有多维数组,都是在Java中合法的(对)4.数组是一个对象,不同类型的数组具有不同的类(对)JAVA程序中可以有多个名字为main方法(对)JAVA程序中类名必须与文件名一样(错).........

weixin_47942417的博客 1046

深度伪造检测实战:轻量级频域特征 pipeline 部署指南

深度伪造检测(deepfake detection)是多媒体内容安全的核心技术,其本质是通过建模生成式篡改在像素与频域留下的微弱异常痕迹。传统端到端大模型虽在标准数据集上表现优异,却因训练域与真实场景失配、计算开销高、缺乏可解释性而难以落地。本文聚焦于工程可复现的实践路径,提出‘人脸定位→频域伪造特征提取(Xception-FCN + Frequency-Aware Masking)→轻量分类决策’三段式解耦架构,兼顾精度、延迟与可解释性。该方案已在边缘设备(Jetson Orin NX)实现单帧<48ms

weixin_33437929的博客 307

游戏安全逆向实战:如何用010Editor绕过ACE反作弊的文件校验(附详细步骤)

本文详细介绍了如何通过逆向工程思维和010Editor工具,针对PC游戏中ACE反作弊系统的文件校验机制进行分析与绕过。文章以实战案例为核心,逐步拆解了定位校验逻辑、解析校验数据文件、计算并替换哈希值的关键步骤,为安全研究人员提供了一种在用户态(Ring 3)层面进行轻量化对抗的思路与方法。

iii12的专栏 727

[C++]牛客 WY16 不要二

描述 二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。 对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 小易想知道最多可以放多少块蛋糕在网格盒子里。 输入描述: 每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000) 输出描述: 输出一个最多可以放的蛋糕数 示例1 输入: 3 2

cpb____的博客 286

Quartus原理图设计入门:从半加器到4位全加器的保姆级教程

本文提供Quartus原理图设计入门教程,详细讲解从半加器到4位全加器的实现过程。通过原理图输入法,逐步构建数字电路设计基础模块,涵盖环境搭建、逻辑设计、层次化实现及功能验证等关键步骤,帮助FPGA初学者快速掌握Quartus工具链和加法器设计方法。

weixin_29291185的博客 464

哪两个数据结构,同时具有较高的查找和删除性能

解析:几种常见的数据结构的操作性能对比如下图所示 图1 由上图可见,平衡二叉树的查找,插入和删除性能都是O(logN),其中查找和删除性能较好;哈希表的查找、插入和删除性能都是O(1),都是最好的。

ljishuboke的博客 1万+

【路由交换】思科5506防火墙三区域互通

思科 5506 inside outside dmz 互通

baidu_22774701的博客 6205

wsl + vscode 离线配置 ERROR: Faild to download https://update.code.visualstudio.com

很多情况下是没有现成的VS Code Server程序的,需要手动下载。记住上面的Commit ID,可以通过下面的链接下载 vscode-server-linux-x64.tar.gz。然后将vscode-server-linux-x64.tar.gz上传在服务器上的$HOME/.vscode-server/bin文件夹中,解压。在wsl中下载不了 vscode 的核心。运行下面两行命令,建立空的$HOME/.vscode-server/bin文件夹。重新运行 wsl与vs的链接即可。

点云算法工程师 3790

PHP面试题

最近帮公司出面试题,结果如下 选择题: 1、十进制数27对应的二进制数为( D )。 A.1011 B.1100 C.10111 D.11011 2、DNS的作用是__C___。 A.为客户机分配IP地址 B.访...

chibang4236的博客 315

PCB层叠结构与阻抗计算

1.Core 和 PP PCB两个重要组成部分:Core 和 Prepreg(半固态片,简称PP)。 如下图所示, Core 的两个表面都铺有铜箔,可作为信号层、电源层、地层等导电层,Core的上下表面之间填充的是固态材料; PP的表面不铺铜,在PCB中起填充作用,其材质是半固体的树脂材料,因此比Core略软一些。 在制作多层板时,需配合使用Core和PP,一般在两个Core 之间应选PP作为填...

sinat_15677011的博客 1万+

2016 腾讯软件开发面试题(不定项选择题【1-12】)

转自:http://www.jianshu.com/p/dc859753a035 1、已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:( ) A. CFHGEBDA B. CDFEGHBA C. FGHCDEBA D. CFHGEDBA 知识点 对于二叉树的遍历方式一般分为三种先序、中序、后序三种方式

Miracle.Zhao的博客 834

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

2016腾讯软件开发面试题(不定项选择题【13-25】)

一、前言 本来这篇文章打算在上一篇文章后一个星期就写完的,可是最近跟一个同学在讨论创业的事情,因此迟迟还没写完,拖到现在(2017年2月14日01:25:22),因此今晚必需赶出来。 二、2016 腾讯软件开发面试题(不定项选择题【13-25】) 13、浏览器访问某页面,HTTP 协议返回状态码为 403 时表示:( ) A. 找不到该页面 B. 禁止访问 C. 内部服

GitHubClub 2998

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2016 腾讯软件开发面试题(部分)

来源:fuck两点水 http://www.jianshu.com/p/dc859753a035 一、前言 2017年1月27日19:05:28,今天是年三十,首先祝大家新年快乐,之前对自己要求过,每星期一篇面试题的博客,虽然今天心里有一万个不愿意写,也还是得写。这篇博客是 2016 腾讯软件开发面试题中不定项选择题集合中的 1 -12 题,其中后面的 1

Mr Shaw 2086

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

2016腾讯软件开发面试试题

二、2016 腾讯软件开发面试题(不定项选择题【1-12】) 1、已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:( ) A. CFHGEBDA B. CDFEGHBA C. FGHCDEBA D. CFHGEDBA 知识点 对于二叉树的遍历方式一般分为三种先序、中序、后序三种方式:

MysticalRzc的博客 1473

2016 腾讯软件开发面试题

2016 腾讯软件开发面试题(不定项选择题【1-12】) 1、已知一棵二叉树,如果先序遍历的节点顺序是: ADCEFGHB ,中序遍历是: CDFEGHAB ,则后序遍历结果为:( ) A. CFHGEBDAB. CDFEGHBAC. FGHCDEBAD. CFHGEDBA 知识点 对于二叉树的遍历方式一般分为三种先序、中序、后序三种方式: ...

码瘾的空间 202

2016腾讯,百度,华为,搜狗和滴滴面试题汇总

2016腾讯,百度,华为,搜狗和滴滴面试题汇总 一、Java基础 集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap 进程和线程的区别;多线程与线程池 数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁 同步的方法;多进程开发以及多进程...

码农皮邱 281

2016Android某公司面试题

2016年4月某公司面试题及面试流程。 静态内部类、内部类、匿名内部类,为什么内部类会持有外部类的引用?持有的引用是this?还是其它? 静态内部类:使用static修饰的内部类 内部类:就是在某个类的内部又定义了一个类,内部类所嵌入的类称为外部类 匿名内部类:使用new生成的内部类 因为内部类的产生依赖于外部类,持有的引用是类名.this ArrayList和Ve

Dream It Possible 2万+

阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集

前一段时间和大牛们交流了一下,据反馈现在Java岗位也没有以前那么多了,没这么好找了,面临2016年寒冬季节,大量公司模仿O2O模式导致死掉企业的很多,在加之培训机构大量的培训人,导致供大于求,当然这不意味着饱和,只是市场更趋于合理一些(只要技术好不用怕的)。最近结合一些面试的同学和大牛们(张旭童)反馈,前几天听童哥去阿里面试顺便整理了下一些面试题目。希望对大家有所帮助,后期会不断更新添加新的面试

yalin7076的博客 1227

腾讯—最新iOS面试题总结

关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。 腾讯 一面 1、介绍一下实习的项目,任务分工,做了哪些工作?介绍实习内容2、网络相关的:项目里面使用到什么网络库,用过ASIHTTP库吗3、断点续传怎么实现?需要设置什么?4、在杭州...

weixin_33896726的博客 1654

【牛客访谈】对话何俊林:腾讯百度华为搜狗和滴滴面试题汇总

【牛客访谈】对话何俊林:腾讯百度华为搜狗和滴滴面试题汇总 牛客访谈规则】一周内在本帖下问问题,嘉宾会在一周内给你解答 嘉宾简介: 北漂有情怀小伙,田埂上的放羊娃,农村小伙,阳光和苦难同在。csdn博客专家,爱奇艺PPS工程师,个人公众号:DriodDeveloper, 记录个人原创 android 技术干货,问题深度总结,FrameWork源码解析,插件化研究。同时也记录

huangshulang1234的博客 971
上一篇: 颠覆你的思维,探寻人类发展史
下一篇: 2016腾讯软件开发面试题(不定项选择题【13-25】)
Two_Water
博客等级 码龄12年 573粉丝 134原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值