2015 年京东应届生招聘笔试题 A 卷
(笔试时间 90 分钟)
姓 名:
学 历:
学 校:
专业:
联系电话:
申请职位:
期望工作地点:
成绩:
请同学认真填写申请职位和期望工作地点。详情如下,请填写一个职位和对应一个工作地点
招聘岗位介绍:开发工程师(沈阳,成都,北京,南京,深圳);Web 前端开发工程师(上海,深
圳);安全工程师(北京);测试工程师(北京,上海,深圳);前端开发工程师(北京,成都);
数据挖掘工程师(北京,上海);算法工程师(北京,沈阳,成都);网络工程师(北京);云计算
开发工程师(北京,南京);移动开发工程师(北京)
一、客观题:(总分,60 分,每题 4 分共 15 题)请将答案填入下面表格中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1. 操作系统死锁的必要条件(多选)( )
A. 互斥条件
B. 系统资源有限
C. 进程调度不合理 D. 环路等待条件
2. 定义根结点深度为 1,有 n 个元素的完全二叉树的深度是( )
A. D(n)=log2(n) B. D(n)=1+log2(n)
3. 以下函数的时间复杂度( )
C. D(n)=n+log2(n)
D. D(n)=1+n*log2(n)
Void recursive(int n, int m, int o){
if (n < = o) {
Printf(“%d, %dn”,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. 如下的无向图中有多少个不同的最小生成树( )
2
1
2
2
1
2
1
2
2
1
2
1
2
A. 4
B. 5
C. 6
D. 7
11. 在才 C++中,为了让某个类只能通过 new 来创建(即如果直接创建对象,编译器将会报销),
应该(
)
A. 将构造函数设置为私有
B. 将析构函数设置为私有
C. 将构造函数和析构函数均设置为私有
D. 没有办法能做到
12. 内联函数在一下场景中是有用的( )
A. 当函数代码较长且有多层嵌套循环的时候。
B. 当函数中有较多的静态变量的时候。
C. 当函数代码较小并且被频繁调用的时候。
D. 以上皆不对。
13. 下面程序的输出结果( )
# include
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()
14. 如下代码:
C. 编译错误
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 & values, const TreeNode* root) {
}
三、 附加题 :(总分 20 分)
1. 请编写程序计算第 K 个能表示为 2 i * 3 j * 5 k 的正整数(其中 i,j,k 为整数)。例如前 5 个
满足这个条件的数分别是:1,2,3,4,5,6,8,9,10,12,15。语言不限,函数输入输出参考:
C++ 函数原型 :
int KthNumber(int k){
}
温馨提示:当前文档最多只能预览 2 页,此文档共4 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
1 / 2 4
下载提示
1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读
2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改
3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载
4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉