• 京东2015年应届生招聘笔试题(A)卷答案选择题部分


    1.操作系统死锁的必要条件(多选题):()
      A.相互排斥条件
      B.系统资源有限
      C.进程调度不合理
      D.环路等待条件
    答:A,C,D
    參考资料:http://blog.sina.com.cn/s/blog_5e3604840100ddgq.html


    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)
    答:B
    思路:假设了解二叉树就能知道数的深度是log2(N),那么要不要加1呢。试试就知道要加1。(这里log(N)是去除小数点后面的数字的,也就是想下取整)
    见图1
    图1

    3.下面函数的时间复杂度()
    void recursive(int n,int m,int o) {
    	if(n <= 0) {
    		printf("%d,%d
    ",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!)
    答: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次方。


    4.这是一道关于进程和线程的题。题目太模糊看不太清,推荐一个不错介绍进程和线程的博客:
    http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html


    5.如果你仅仅有100Mb的内存,须要对1Gb的数据进行排序,最合适的算法是
      A.归并排序
      B.插入排序
      C.高速排序
      D.冒泡排序
    答:A
    思路:这道题一開始我不是非常会,由于我一直在纠结100Mb内存怎样存储1Gb的数据。


        学长说是A。所以先选A。我会继续对此问题进行追踪……


    6.下面关于TCP/IP协议的描写叙述中,不对的是()
      A.TCP负责将信息拆分为数据包,并在数据包达到目的地后对其进行装配
      B.IP负责为数据包选择路由以使将其传递到正确的目的地
      C.TCP协议是可靠的服务,当client第一次向服务端发送会话请求的时候,就会把传输数据过去
      D.IP、ICMP和IGMP都是网络层的协议
    答:C
    思路:其它没有看。由于尽管我读书少没有学过TCP/IP,可是我知道TCP/IP的三次握手。


    【重点:TCP/IP的三次握手与四次挥手】
    http://www.2cto.com/net/201310/251896.html
    推荐到这个站点上看看。


    7.SQL语言中,删除一个表的命令是()
      A.DELETE
      B.DROP
      C.CLEAR
      D.REMOVE
    答:B
    思路:在数据库中,数据库是由若干个表组成的;表是由若干个记录组成的。
    删除数据库和表的操作都是DROP;
    删除记录是DELETE。
    最主要的一些指令能够看这里:http://blog.csdn.net/lasolmi/article/details/39857245


    8.已知一棵二叉树,其先序序列为EFHIGJ,中序序列为HFIEJKG,则该二叉树根节点的右孩子为()
      A.E
      B.J
      C.G
      D.H
    答:首先你得了解先/中/后序序列的概念。
    这里我简要讲一下(也可到百度上面查):
    先序序列就是对一棵二叉树进行先序遍历得到的一串序列。先序遍历就是:首先訪问根结点然后遍历左子树。最后遍历右子树。在遍历左、右子树时,仍然先訪问根结点,然后遍历左子树。最后遍历右子树,假设二叉树为空则返回。


    中序序列就是对一棵二叉树进行中序遍历得到的一串序列。

    中序遍历就是:中序遍历首先遍历左子树。然后訪问根结点。最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再訪问根结点,最后遍历右子树。

    即:
    若二叉树为空则结束返回
    否则:
    (1)中序遍历左子树。
    (2)訪问根结点。
    (3)中序遍历右子树。


    注意的是:遍历左右子树时仍然採用中序遍历方法。


    后序序列就是对一棵二叉树进行后序遍历得到的一串序列。

    后序遍历就是:后序遍历首先遍历左子树,然后遍历右子树,最后遍历訪问根结点。在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。即:
    若二叉树为空则结束返回,
    否则:
    (1)后序遍历左子树
    (2)后序遍历右子树
    (3)訪问根结点

    如图2


    其先序遍历结果为:ABDECF
    当中序遍历结果为:DBEAFC
    其后序遍历结果为:DEBFCA


    对于这三种遍历顺序,我们仅仅要知其二就能得到剩下的一种遍历序列。
    详细方法能够參考此文:http://www.cnblogs.com/bmrs/archive/2010/08/19/SloveTree.html


    9.两人玩游戏,在脑门上贴数字(正整数>=1),仅仅看见对方的,看不见自己的。并且两人的数字相差1,下面是两人的对话:
     A:我不知道
     B:我也不知道
     A:我知道了
     B:我也知道了
    问A头上的字是多少,B头上的字是多少()
      A.A是4,B是3
      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.例如以下的无向图中有多少个不同的最小生成树()
     A.4
     B.5
     C.6
     D.7
    答:A(待验证)
    思路:求一个图的最小生成树的算法有kruskal算法和prim算法。在prim算法过程中对其进行改进能够成为求最小生成树个数的算法。这里由于情况比較少,所以我们能够自己手算来得到效果。


    11.在C++中,为了让某个类仅仅能通过new来创建(即假设直接创建对象,编译器将报错),应该()
     A.将构造函数设为私有
     B.将析构函数设为私有
     C.将构造函数和析构函数均设为私有
     D.没有办法能做到
    答:A


    12.内联函数在下面场景中最实用的()
     A.当函数代码较长且多层嵌套循环的时候
     B.当函数中有较多的静态变量的时候
     C.当函数代码较小而且被频繁调用的时候
     D.以上都不正确
    答:C
    思路:内联函数inline在非递归的时候理论上会更快(可是之前自己试的时候感觉更慢,括号内的能够省略)。


    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.编译出错
    答:C
    思路:没有学过C++那么深,在我的编译器codeblocks上没出错,仅仅是什么都没有打印到屏幕上。


    14.题目模糊,仅仅知道是Java中的异常处理的catch...(try...)finally...的使用方法。
    题目涉及知识点:Java的异常处理。
    课參考资料:http://blog.csdn.net/hguisu/article/details/6155636

  • 相关阅读:
    Android ADB批处理脚本
    【转载】SecureCRT配色推荐和永久设置
    【转载】Ubuntu中Source Insight的使用
    Ubuntu美化操作
    【转】数据线上的串联小电阻(图)
    VMware下利用ubuntu13.04建立嵌入式开发环境之三
    VMware下利用ubuntu13.04建立嵌入式开发环境之二
    VMware下利用ubuntu13.04建立嵌入式开发环境之一
    ubuntu 13.04 telnet 详细配置
    candence 知识积累4
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6789149.html
Copyright © 2020-2023  润新知