京东2015校园招聘技术类笔试题目及答案
职位类型:技术类 求职面试
qzm4
招聘公司:
qzm4
面试问题
以下为京东2015校招笔试题A卷题目及答案,答案是楼主自己写的,仅供参考哈~ qzm4
求职信息
一、填空题
qzm4
1.操作系统死锁的必要条件(多选题):() 求职信息
A.互斥条件
礼仪
B.系统资源有限 求职信息
C.进程调度不合理
礼仪
D.环路等待条件 礼仪
答:A,C,D 礼仪
2.定义根节点深度为1,有n个元素的完全二叉树的深度是()
A.D(n) = log2(n)
qzm4
B.D(n) = 1 log2(n) qzm4
C.D(n) = n log2(n) qzm4
D.D(n) = 1 n * log2(n) 求职面试
答:B
思路:如果了解二叉树就能知道数的深度是log2(N),那么要不要加1呢,试试就知道要加1。(这里log(N)是去除小数点后面的数字的,也就是想下取整) 求职面试
见图1
面试问题
求职信息
求职面试
3.以下函数的时间复杂度()
A.O(n*m*o) 礼仪
B.O(n^2*m^2) 求职信息
C.O(2^n) 求职面试
D.O(n!) 面试问题
答:C 礼仪
思路:咱们不用管后面的m和o,因为循环的判断条件是n,你看if语句里面,是n<=0的时候跳出循环,所以n才是重点,当n>0时,一个recursive(n)需要处理2个recursive(n-1),递归下去,每个recursive(n-1)又要处理2个recursive(n-2),所以这个函数一共要处理2^n个recursive(0,m,o);所以时间复杂度为O(2^n)。这里,2^n 表示 2的n次方。
求职面试
qzm4
4.这是一道关于进程和线程的题,题目模糊。
礼仪
面试网
5.假设你只有100Mb的内存,需要对1Gb的数据进行排序,最合适的算法是
A.归并排序
B.插入排序 面试网
C.快速排序
求职信息
D.冒泡排序
答:A 求职信息
思路:这道题一开始我不是很会,因为我一直在纠结100Mb内存如何存储1Gb的数据。学长说是A,所以先选A。我会继续对此问题进行追踪……
求职信息
6.以下关于TCP/IP协议的描述中,不正确的是()
A.TCP负责将信息拆分为数据包,并在数据包达到目的地后对其进行装配 求职面试
B.IP负责为数据包选择路由以使将其传递到正确的目的地 qzm4
C.TCP协议是可靠的服务,当客户端第一次向服务端发送会话请求的时候,就会把数据传输过去
求职面试
D.IP、ICMP和IGMP都是网络层的协议
求职面试
答:C
思路:其他没有看,因为虽然我读书少没有学过TCP/IP,但是我知道TCP/IP的三次握手。 求职信息
【重点:TCP/IP的三次握手与四次挥手】 qzm4
qzm4
7.SQL语言中,删除一个表的命令是()
求职信息
A.DELETE
B.DROP 礼仪
C.CLEAR 求职信息
D.REMOVE 面试问题
答:B
礼仪
思路:在数据库中,数据库是由若干个表组成的;表是由若干个记录组成的。
qzm4
删除数据库和表的操作都是DROP;
求职信息
删除记录是DELETE。
求职信息
礼仪
8.已知一棵二叉树,其先序序列为EFHIGJ,中序序列为HFIEJKG,则该二叉树根节点的右孩子为()
A.E 礼仪
B.J
求职面试
C.G
面试问题
D.H qzm4
答:首先你得了解先/中/后序序列的概念。 礼仪
这里我简要讲一下(也可到百度上面查): 面试网
先序序列就是对一棵二叉树进行先序遍历得到的一串序列。先序遍历就是:首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树,如果二叉树为空则返回。 qzm4
中序序列就是对一棵二叉树进行中序遍历得到的一串序列。中序遍历就是:中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。即:
礼仪
若二叉树为空则结束返回 面试问题
否则: qzm4
(1)中序遍历左子树。
求职面试
(2)访问根结点。
(3)中序遍历右子树。 求职面试
注意的是:遍历左右子树时仍然采用中序遍历方法。 面试问题
后序序列就是对一棵二叉树进行后序遍历得到的一串序列。后序遍历就是:后序遍历首先遍历左子树,然后遍历右子树,最后遍历访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。即:
若二叉树为空则结束返回,
面试问题
否则: 面试网
(1)后序遍历左子树
求职信息
(2)后序遍历右子树
qzm4
(3)访问根结点
如图:
其先序遍历结果为:ABDECF
面试网
其中序遍历结果为:DBEAFC
其后序遍历结果为:DEBFCA
qzm4
对于这三种遍历顺序,我们只要知其二就能得到剩下的一种遍历序列。
求职面试
qzm4
9.两人玩游戏,在脑门上贴数字(正整数>=1),只看见对方的,看不见自己的,而且两人的数字相差1,以下是两人的对话: qzm4
A:我不知道 qzm4
B:我也不知道
A:我知道了
礼仪
B:我也知道了
问A头上的字是多少,B头上的字是多少()
A.A是4,B是3 qzm4
B.A是3,B是2 求职信息
C.A是2,B是1
求职信息
D.A是1,B是2 礼仪
答:B 面试问题
思路:我们来模拟一下过程: 求职面试
A看到B头上的2,但是他不知道自己是1还是3 礼仪
B看到了A头上的3,所以他也不知道
礼仪
A听B说不知道,就知道自己头上的是3了,因为如果自己头上的是1,B肯定知道自己是2 面试问题
因为如果A是4的话,A肯定不会说自己知道了,所以B知道了A是2,从而B也知道了自己是3.
求职面试
我的推理结束了。
求职面试
求职信息
10.如下的无向图中有多少个不同的最小生成树() qzm4
A.4 qzm4
B.5 qzm4
C.6 面试问题
D.7
答:A(待验证)
思路:求一个图的最小生成树的算法有kruskal算法和prim算法,在prim算法过程中对其进行改进可以成为求最小生成树个数的算法。这里因为情况比较少,所以我们可以自己手算来得到效果。 面试问题
礼仪
11.在C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错),应该() 礼仪
A.将构造函数设为私有 求职面试
B.将析构函数设为私有
求职信息
C.将构造函数和析构函数均设为私有
qzm4
D.没有办法能做到 面试问题
答:A
面试网
求职信息
12.内联函数在以下场景中最有用的()
求职面试
A.当函数代码较长且多层嵌套循环的时候
礼仪
B.当函数中有较多的静态变量的时候 面试问题
C.当函数代码较小并且被频繁调用的时候
D.以上都不对
面试问题
答:C
面试问题
思路:内联函数inline在非递归的时候理论上会更快(但是之前自己试的时候感觉更慢,括号内的可以省略)。
qzm4
礼仪
13.下列程序的输出结果:
求职信息
礼仪
A.A:print()
礼仪
B.B:print()
C.编译出错
面试问题
答:C 求职信息
思路:没有学过C++那么深,在我的编译器codeblocks上没出错,只是什么都没有打印到屏幕上。
面试网
14.题目模糊,只知道是Java中的异常处理的catch...(try...)finally...的用法。 求职信息
题目涉及知识点:Java的异常处理。 面试网
qzm4
二、编程题
1.题目大意:编写一个函数func(int n),使得返回值是最小的各位乘积等于n的数,且返回值至少两位数。(题目有点看不太清,我就按这样理解了。如果和题目有出入稍微修改一下应该就能解决。) 求职信息
C++代码:
求职信息
求职信息
qzm4
2.使用非递归方式实现二叉树的先序遍历,并将节点的值保存在数组中。
礼仪
C 函数原型:
struct TreeNode {
求职信息
int value;
TreeNode* left; 礼仪
TreeNode* right; 求职面试
}; 求职面试
void TraverseTreeInPreOrder(std:vector
礼仪
} 求职面试
思路:最基础的搜索按照某一种方式来分可以分为深度优先搜索和广度优先搜索,深度优先搜索使用栈,或者说递归;广度优先搜索使用队列。这里要求非递归,则采用队列。 qzm4
C++代码(未实现,C++基础不是太好,不过程序能够体现算法细节,仅作参考):
求职面试
求职面试
三、附加题 面试问题
写出第k个素因子只有2、3、5的数。
qzm4
因为数的个数相对较少,所以可以初始化。
qzm4
C++代码:
礼仪
求职面试
qzm4
相关攻略: 求职信息
求职面试
求职面试
面试网
声明:京东2015校园招聘技术类笔试题目及答案来源于互联网,其版权均归原作者及其网站所有,本站虽力求保存原有的版权信息,但由于诸多原因,可能导致无法确定其真实来源,如果您对本站文章、图片资源的归属存有异议,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意!