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

【Qt串口调试助手】1.1 - Qt5编写串口调试助手,Qt串口编程 这章来学习串口数据流操作。仿照成品制作一个自己用Qt编写的串口助手。 1. 布局UI界面 创建QWidget工程,布局UI界面:拖入2个 Plain Text Edit,作为串口数据的接收显示和发送框。 拖入几个 Combo Box 、Label 和 Push Button,使用两个Widget进行布局。如下所示。 将接收区的 Plain Text Edit,属性勾选上 readOnly,使其运行时不会被人为的输入操作影响。 加入一些弹簧,使布局美观。(有必要可以加设置不能调整.. 阅读详情

相关推荐

代码实现ROS2bag录制数据和回放数据(C++)

ROS2的ROS2bag功能可以将指定Topic中的数据以.db3的格式(不同于ROS)保存到本地文件中。读取文件数据可以实现数据回放。

m0_57124501的博客 3256

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

AWS-解析mysql binlog同步数据方案

虽然是公有云的鼻祖,AWS在某些产品的实现却太不给力;可能是习惯了阿里云喂到嘴边的感觉,AWS很多方案需要自己折腾,蛋疼!比如这里要讲的mysql数据同步方案。 阿里云产品DTS,点几下就OK了,AWS,只能通过插件安装、配置、调试、蹚坑……,具体就是用msk的debezium插件连接器。没见识过的一脸懵逼,下面说下配置步骤和一些注意的坑。

sdmei 1407

Java错题笔记

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

weixin_47942417的博客 1046

使用基于物质点法(MPM)的Anura3D模拟沙柱坍塌

本博客使用开源软件Anura3D软件模拟了一个沙柱坍塌的过程,这个软件是基于基于物质点法(MPM)设计的

weixin_59902634的博客 4043

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

cuda安装时出现错误 Unable to locate package cuda-toolkit-12-4

4866

[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

SMILES:化学结构的线性表示方法

SMILES:化学结构的线性表示方法

jasminefeng的博客 1万+

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

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

ljishuboke的博客 1万+

【Python实战解析】从数据爬取到房价预测:一个完整的数据科学项目流程拆解

本文详细拆解了一个完整的Python数据科学项目流程,从爬取长沙二手房数据到房价预测模型构建。通过实战案例,介绍了数据爬取、清洗、可视化及模型优化的关键技巧,帮助开发者掌握Python在数据分析中的应用,提升程序开发能力。

weixin_30379531的博客 411

华为OD机试 - 进制转换 - 二进制(Python/JS/C/C++ 2024 B卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题。

学Java,找哪吒 916

PHP面试题

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

chibang4236的博客 315

ChatGPT启蒙之旅:弟弟妹妹的关键概念入门

本文主要介绍了ChatGPT启蒙之旅:弟弟妹妹的关键概念探险,希望能对初学大模型的同学们有所帮助。 文章目录 1. 背景 2. GPT是个什么样的人? 3. GPT使用的核心思维 4. GPT使用的场景介绍

herosunly的博客 16万+

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

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

Miracle.Zhao的博客 834

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

GitHubClub 2998

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

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

Mr Shaw 2086

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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、付费专栏及课程。

余额充值