【www.gbppp.com--校园时光】
京东2015年应届生招聘笔试题(A)卷
(笔试时间90分钟)
姓 名: 学 历: 学 校: 专业: 联系电话: 申请职位: 期望工作地点: 成绩: 请同学认真填写申请职位和期望工作地点。详情如下,请填写一个职位和对应一个工作地点
招聘岗位介绍:开发工程师(沈阳,成都,北京,南京,深圳);Web前端开发工程师(上海,深圳);安全工程师(北京);测试工程师(北京,上海,深圳);前端开发工程师(北京,成都);数据挖掘工程师(北京,上海);算法工程师(北京,沈阳,成都);网络工程师(北京);云计算开发工程师(北京,南京);移动开发工程师(北京)
一、客观题:(总分,60分,每题4分共15题)请将答案填入下面表格中
1. 操作系统死锁的必要条件(多选)( )
A. 互斥条件 B. 系统资源有限 C. 进程调度不合理 D. 环路等待条件
2. 定义根结点深度为1,有n个元素的完全二叉树的深度是( )
A. D(n)=log2(n) B. D(n)=1+log2(n) C. D(n)=n+log2(n) D. D(n)=1+n*log2(n)
3. 以下函数的时间复杂度( )
Void recursive(int n, int m, int o){ if (n < = o) { Printf(“%d, %d\n”,m,o); }else { recursive (n-1, m+1, o); recursive (n-1, m, o+1); } }
A. O(n*m*o) B. O(n^2*m^2) C. O(2^n) D. O(n!)
4. 以下关于进程和线程的描述中,正确的一项是( )
A. 一个进程就是一个独立的程序
B. 进程间是互相独立的,同一进程的各线程间也是独立的,不能共享所属进程拥有的资源
C. 每个线程都有自己的执行堆线和程序计数器为执行上下文
D. 进程的特征包括动态性、并发性、独立性、同步性
5. 假设你只有100Mb的内存,需要对1Gb的数据进行排序,最合适的算法是( )
A. 归并排序 B. 插入排序 C. 快速排序 D.. 冒泡排序
6. 以下关于TCP/IP协议的描述中,不正确的是( )
A.TCP负责将信息拆分为数据包,并在数据包达到目的地后对其进行装配
B. IP负责为数据包选择路由以便将其传递到正确的目的地
C. TCP协议是可靠地服务,当客户端第一次向服务端发送会话请求的时候,就会把数据传输过去
D. IP,ICMP和IGMP都是网络层的协议
7. SQL语言中,删除一个表的命令是( )
A. DELETE B. DROP C. CLEAR D. REMOVE
8. 已知一颗二叉树,其先序序列为EFHIGJK,中序序列为HFIEJKG,则该二叉树根节点的右孩子为 。( )
A. E B. J C. G D. H
9. 俩人玩游戏,在脑门上贴数字(正数字> =1), 只看见对方的,看不见自己的,而且两人的数字相差1,要猜自己的数字一下是两人间的对话:
A:我不知道
B:我也不知道
C:我知道了
D:我也知道了
问A头上的字是多少?B头上的字是多少?( )
A. A是4 , B是3 B. A是3 , B是2
C. A是2 , B是1 D. A是1 , B是2
10. 如下的无向图中有多少个不同的最小生成树( )
A . 4 B . 5 C . 6 D. 7【京东校招】
11. 在才C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将会报销),应该( )
A. 将构造函数设置为私有 B. 将析构函数设置为私有
C. 将构造函数和析构函数均设置为私有 D. 没有办法能做到
12. 内联函数在一下场景中是有用的( )
A. 当函数代码较长且有多层嵌套循环的时候。
B. 当函数中有较多的静态变量的时候。
C. 当函数代码较小并且被频繁调用的时候。
D. 以上皆不对。
13. 下面程序的输出结果( )
# include <iostream> using namespace std; class A{ public: void print() {cout << “A::print()”;} }; class B: private A { public: void print() {cout << “B::print()”;} }; class C: public B { public: void print() {A::print();} }; int main() { C b; b.print(); }
A. A::print() B. B::print() C. 编译错误
14. 如下代码:
public class Foo{ public static void main(String[] args) { try { Return;
} finally { System.out.println(“Finally"); } } }
输出结果是( )
A. Finally B. 编译失败 C. 代码正常运行但没有任何输出 D. 运行时抛出异常
15. 使用7, 7, 7, 1四数字和加减乘除,计算出48, 每个数字只能用一次:
二、编程题:(总分,40分,每题20分)
1. 请编写一个函数func , 输入一个正整数n ,返回一个最小的正整数m ( m>9,即m至少包含两位数),使得m的各位乘积等于n, 例如输入36,输出49; 输入100,输出455,如果对于某个n不存在着这样的m,请输出-1。语言不限,但不要用伪代码作答,函数输入输出请参考如下函数原型。
C++函数原型:
int func(int n) {
}
2. 非递归方式实现二叉树的先序遍历,并将个节点的值保存在数组中。语言不限,但不要用伪代码作答,函数输出请参考如下函数原型。
C++ 函数原型 :
struct TreeNode {
int value;
TreeNode* left;
TreeNode* right;
};
void Traverse TreeInPreOrder(std::vector <int> & values, const TreeNode* root) {
}
三、 附加题 :(总分20分)
1. 请编写程序计算第K个能表示为2*3*5的正整数(其中i,j,k为整数)。例如前5个满足这个条件的数分别是:1,2,3,4,5,6,8,9,10,12,15。语言不限,函数输入输出参考:
C++ 函数原型 :
int KthNumber(int k){
}
ijk
1. 现在计算机中整数采用的编码方式:
A. 原码 B. 反码 C. Unicode 码 D. 补码
2. 下面程序的运行结果:
#include <iostream>
using namespace std;【京东校招】
void test(char c, char *d)
{
++c;
++*d;
cout << c << *d;
}
int main()
{
char a='A', b = 'a';
test(b, &a);
cout << a << b;
return 0;
}
A. ... B. ... C. bBBa D. ...
3. 下面的说法那个正确:
#define NUMA 10000000
#define NUMB 1000
int a[NUMA], b[NUMB];
void pa()
{
int i, j;
for(i = 0; i < NUMB; ++i)
for(j = 0; j < NUMA; ++j)
++a[j];
}
void pb()
{
int i, j;
for(i = 0; i < NUMA; ++i)
for(j = 0; j < NUMB; ++j)
++b[j];
}
A. pa 和 pb 运行的一样快 B. pa 比 pb 快 C. pb 比 pa 快 D. 无法判断
4. 10 个小球中只有一个红球,现在有放回地抽取一个小球,问至到第 n 次才取到 k 个红球 (k ≤ n) 的概率是多少 ?
A. B. C. D.
5. 某指令流水线由 5 段组成,各段所需要的时间分别是:t、3t、t、2t 和 t 。问如果连续执行 10 条指令,则吞吐率是多少 ?
A. 0.1428/t B. 0.2041/t C. 0.2857/t D. 0.3333/t
6. 现有两道四个选项的火星文单选题,你已经至少答对一题了,那么你两题都对的概率是多少 ?
A. 1/3 B. 1/4 C. 1/7 D. 1/8
7. 以下是一个 tree 的遍历算法,queue 是一个 FIFO 队列。参考下面的 tree ,程序输出结果是神马。
queue.push(tree.root);
while(true){
node = queue.pop();
output(node.value); // 输出结点对应的数字
if(null = node)
break;
for(child_node in node.children){
queue.push(child_node);
}
}
1
______|______
| |
2 3
___|___ ___|___
| | | |
4 5 6 7
A. 1234567 B. 1245367 C. 1376254 D. 1327654
8. 堆排序的时间复杂度是多少 ? 堆排序建堆的时间复杂度是多少 ?
A. O(n2) O(n logn) B. O(n) O(nlogn) C. O(nlogn) O(n) D. O(nlogn) O(nlogn)
9. 字符串 "alibaba" 的二进制哈夫曼编码有多少位 ?
A. 11 B.12 C. 13 D. 14
10. 结点按中序遍历为 xyz 的二叉树有多少种可能 ?
A. 1 B.2 C.3 D.4 E. 5
11. 500 张纸牌整齐排成一排,按顺序编号 1、2、3、4、...、499、500,第一次拿走所有奇数位置上的纸牌,第二次再拿走剩下纸牌中的所有奇数位置上的纸牌,以此类推操作下去,问最后剩下的纸牌的编号是多少 ?
A. 128 B. 250 C. 256 D. 500
12. 一直矩阵 Ak = (aij)rk × rk+1,k = 1, 2, 3, 4, 5, 6 ;r1 = 5,r2 = 10,r3 = 3,r4 = 8,r5 = 5,r6 = 20,r7 = 6,问矩阵链乘 A1 × A2 × A3 × A4 × A5 × A6 的最佳求积次数是多少 ?
A. 2010 B. 2100 C. 2500 D. 2525
13. 有多少个 2012 位的数,这些数的任意两个相邻数位依序构成的两位数均能被 17 或 23 整除 ?
A. 3 B. 5. C. 7 D. 9
14. 关于 linux 的进程,下面说法不正确的是:
A. 僵尸进程会被 init 进程接管,不会造成资源浪费;
B. 孤儿进程的父进程在它之前退出,会被 init 进程接管,不会造成资源浪费;
C. 进程是资源管理的最小单位,而线程是程序执行的最小单位。Linux 下的线程本质上用进程实现;
D. 子进程如果对资源只是进行读操作,那么完全和父进程共享物理地址空间。
15. 一个数据表有 10000 个元素,如果仅要求求出其中最大的 10 个元素,采用什么算法比较节省时间 ?
A. 堆排序 B. 希尔排序 C. 快速排序 D. 直接选择排序
16. 一棵二叉树具有 8 个度为 2 的结点,5 个度为 1 的结点,则度为 0 的结点个数有多少个 ?
A. ... B. 9 C. 11. D. 不确定
17. 被除数是二进制数 110110,除数是二进制数 111,则余数是多少 ?【京东校招】
A. ... B. 101 C. 110 D. ...
18. 对于下面的问题,不能使用栈 stack 来解决的是 ?
A. 数学表达式转换为后缀形式
B. 实现递归算法
C. 编程语言的递归调用
D. 操作系统分配资源(如 CPU)
19. 甲盒中有 200 个螺杆,其中有 160 个 A 型螺杆;乙盒中有 240 个螺母,其中有 180 个 A 型的。现从甲乙两盒中各任取一个,则能配成 A 型螺栓的概率为多少?
A. 1/20 B. 15/16 C. 3/5 D. 19/20
20. 有 A 和 B 两路公交车,平均发车时间间隔为 5 分钟和 10 分钟。某乘客在站点 S 可以任意选择两者之一乘坐,假定 A 和 B 到达 S 的时刻无法确定,那么该乘客的平均等待时间是多少 ?
A 1 分钟 20 秒 B. 1 分钟 40 秒 C. 2 分钟 30 秒 D. 3 分钟 20 秒
21. 下面不是引起进程调度原因的是 ?
A. 进程执行完毕 B. 进程 I/O 请求队列 C. 进程死循环 D. 进程调用阻塞原语进入睡眠状态
22. 用于解决 CPU 指令乱序、编译器重排、多 CPU 内存同步等带来的问题的机制是 ?
A. 内存屏障 B. 信号量 C. 自旋锁 D. volatile 关键字
23. 下面使用贪心算法的是:
A. 单元最短路径 Dijkstra 算法
B. 最小生成树 Prim 算法
C. 最小生成树 Kruskal 算法
D. 计算每对顶点最短路径的 Floyd-Warshall 算法
E. 字符串匹配中的 KMP 算法
24. 关于 ACID 说法正确的是:
A. A 可用性。....
B. C 一致性。在食物开始之前和结束后,数据库的约束保持不变。
C. I 隔离性。两个同时运行的事务的执行是互不影响,中间结果不可交叉访问。
D. D 持久性。在事务提交之后,该事务所作的更改持久保存在存储介质之中,不会被回滚。
25. 现有一个循环队列,其队头指针为 front,队尾指针为 rear,循环队列的总长度为 N,问队内有效长度是多少 ?
26. 一个数组 X,其中存有 N 个数字。现只允许遍历一遍,1) 有没有可能计算这些数字的方差 ? 2) 如果可以,请描述方案,如果不可以,说明原因。
27. 不使用临时变量交换 int a 和 int b 的值;请使用三行代码。
28. 下面的代码有一些问题,找出来:
#include <iostream>
using namespace std;
class Test{
public:
int *p;
Test(int v){
p = new int(v);
}
~Test(){
delete p;
}
void PrintValue(){
cout << "The value is " << *p << '\n';
}
};
void Func(Test t)
{
cout << "In the Func" << endl;
}
int main()
{
Test t1 = 33;
Func(t1);
t1.PrintValue();
}
本文来源:http://www.gbppp.com/xs/432465/
推荐访问:京东校招2017 京东校招官网