京东应届生招聘笔试题(A)卷-2015年

一、客观题:(总分,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.  IPICMPIGMP都是网络层的协议

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.  A4 B3            B.  A3 B2

C.  A2 B1            D.  A1 B2

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个能表示为的正整数(其中ijk为整数)。例如前5个满足这个条件的数分别是:1,2,3,4,5,6,8,9,10,12,15。语言不限,函数输入输出参考:

        C++ 函数原型

        int KthNumberint k{

        }

 

个人资料
Bingo
等级:9
文章:694篇
访问:38.9w
排名: 1
上一篇: 京东2016研发⼯程师笔试题-编程题(二)
下一篇:阿里巴巴研发工程师校招笔试题-2016年
猜你感兴趣的圈子:
京东笔试面试圈
标签: print、log2、treenode、recursive、总分、面试题
隐藏