zoukankan      html  css  js  c++  java
  • 各互联网名企面试题汇总(3)

    1.迅雷2016研发工程师笔试题(归并排序)

    将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是(D)

    A:2n

    B:2n-1

    C:n-1

    D:n

    解释:假设一张表的数字全部比另外一张表的最小数字小,则第一张表全部数字(n)与第二张表第一个数字对比,所以次数为n

    2.京东2017校园招聘笔试真题(希尔排序)

    对关键字{10,20,8,25,35,6,18,30,5,15,28}序列进行希尔排序,取增量d =5时,排序结果为(A )

    A:{6,18,8,5,15,10,20,30,25,35,28}

    B:{10,18,8,5,15,6,20,30,25,35,28}

    C:{10,20,8,5,15,6,18,30,25,35,28}

    D:{10,20,30,5,8,6,15,18,25,28,35}

    解释:希尔排序,也叫做缩小增量排序,基本思想:设定一个元素间隔增量gap,将参加排序的序列按这个间隔数gap从第一个元素开始依次分成若干个子序列。在子序列中采用其他排序方法,然后缩小增量gap,重新将整个序列按照新的间隔数gap进行划分,在分别对每个子序列进行排序,直到间隔数为1.

    初始序列为:{10,20,8,25,35,6,18,30,5,15,28}

    取增量为5:

       子序列1:{10,                 6,                 28}

       子序列2:{      20,               18}

       子序列3:{           8,                 30}

       子序列4:{              25,                 5}

       子序列5:{                 35,                15}

    所以结果为: {6,18,8,5,15,10,20,30,25,35,28}   所以选择:A

    3.2016年今日头条校招笔试题(调度算法)

    有三个程序J1,J2,J3。程序在单核CPU执行时,三个程序需要的资源如下所示:

    优先级高的程序可以抢占优先级低的程序的CPU,但不能抢占IO。问当所有任务执行完时,共消耗的时间是多少?(B)

    A:170ms

    B:130ms

    C:120ms

    D:160ms

    解释:具体操作如下:

          1.    初始时:J1和J2一起运行,J1占CPU(40ms), J2占IO(50ms) , J3未运行
          2.  40ms时:J1释放CPU,等IO, J2未使用完IO,所以CPU空闲,此时让J3使用CPU。
          3.  50ms时:J1占用到IO, J2从J3中抢走CPU,使用20ms。 此时J3已经使用CPU(50-40=10ms)
          4.  70ms时:J2使用完CPU,J2结束。J3可以使用CPU,
          5.  90ms时:J3使用完CPU(90-70=20ms),J3等待IO
          6. 110ms时:J1才刚刚使用完IO,释放,J1结束。 J3得到IO。
          7. 130ms时:J3使用完IO。J3结束    所以选:B

    4.2016CVTE校招在线笔试题(图的邻接表)

    已知图的邻接表如下所示,根据算法,则从节点0出发按广度优先遍历的节点序列是(C)

    A:0  1  2  3

    B:0  1  3  2

    C:0  3  2  1

    D:0  3  1  2

    解释:

    先看深度优先:是从某个顶点出发,访问完后,寻找一个未访问的邻接顶点继续深度优先,如果此路不同就往回退,所以看邻接表,首先访问V0,完了后顺链寻找没有访问的邻接顶点,自然链表中的第一个结点就是v3,接着转到v3再来深度优先,访问v3后,在其链表中第一个邻接顶点是v2,接着访问v2,下面走不通,回到v3,继续顺链往后,下面路不通,回到v0,v0的邻接顶点中v1还没有访问所以序列为v0, v3, v2, v1
    再看广度优先:从某个顶点完成后,需要一口气将其邻接未访问的所有顶点都访问,后面类推于是过程是先v0,再顺链将v3,v2,v1依次访问完,访问结束,所以最后访问序列为v0, v3, v2, v1

    该题比较特殊,深度和广度结果相同,选择:C

    5.2016CVTE校招在线笔试题(拓补序列)

    已知有向图G=(V,E)其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V2,V6>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>}则G的拓扑序列是:(BC)

    A. V1, V4,V2,V6, V3,V5,V7

    B. V1,V2,V3,V4, V5,V6,V7

    C. V1,V3, V4,V2,V6,V5,V7

    D. V1,V3,V4, V6,V2, V5,V7

    解释:画出G=(V,E)对应的图:

    显然根据拓扑序列的要求:

        V1在V2,V3,V4前面    

        V2,V3均在V5,V6前面    

        V4在V6前面

        V5,V6均在V7前面

    满足要求的有:BC

    6.京东2017校园招聘笔试题(分块查找)

    在分块查找中,若索引表各块内均用顺序查找,则有324个元素线性表若分成9块,其平均查找长度为( C)

    A. 19

    B. 18

    C. 23.5

    D. 33.5

    解释:324个元素分成9块,每块对应36个元素

    块间 ASL = (9+1)/2 = 5

    块内顺序查找: ASL = (36+1)/ 2 = 18.5

    所以总的ASL= 5+18.5 = 23.5    选:C

     7.百度地图2016校招笔试题(哈夫曼树)

    对n(n大于等于2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,正确的是(ACD)

    A.  树中一定没有度为1的结点

    B.  该树一定是一棵完全二叉树

    C.  树种任一非叶结点的权值一定不小于下一任一结点的权值

    D.  树中两个权值最小的结点一定是兄弟结点

    解释:哈夫曼树定义:在以n个权值{ w1, w2, …, wn } 为n个叶子结点权值所构造的所有二叉树中,WPL最小的二叉树。

    构造哈夫曼树可以按下面步骤构建:

      1,将所有左,右子树都为空的作为根节点。

      2,在森林中选出两棵根节点的权值最小的树作为一棵新树的左,右子树,且置新树的附加根节点的权值为其左,右子树上根节点的权值之和。注意,左子树的权值应小于右子树的权值。

      3,从森林中删除这两棵树,同时把新树加入到森林中。

      4,重复2,3步骤,直到森林中只有一棵树为止,此树便是哈夫曼树。

    选项A,显然是正确的;选项B:n=3时就不是完全二叉树;选项C:非叶结点的权值为两个孩子的权值之和,权值应该表示的是概率,那么都是正的,故一定不小于。选项D:由哈夫曼树的构造方法显然。所以,选择:ACD

    8.Google 2012 笔试题(树)

    一个有n个结点的连通图的生成树是原图的最小连通子图,且包含原图中所有n个结点,并且有保持图联通的最少的边。最大生成树就是权和最大生成树,现在给出一个无向带权图的邻接矩阵,权为0表示没有边。

     {{0,4,5,0,3},

        {4,0,4,2,3},

        {5,4,0,2,0},

        {0,2,2,0,1},

        {3,3,0,1,0}},

    求这个图的最大生成树的权和?(D)

    A. 11

    B. 12

    C. 13

    D. 14

    E. 15

    解释:根据题意,可画出如下图:右边为邻接矩阵对应的无向图;左边对应生成的最大生成树

    所以对应的最大权和为:5+4+3+2=14,选:D

    9.阿里巴巴2015基础平台研发工程师实习生笔试题(二叉树)

    一个具有513个节点的二叉树,有(C)种可能的层高。

    A. 513

    B. 512

    C. 504

    D. 503

    E. 2

    F. 1

     解释:最高是每层一个结点,有513层;

           最低是完全二叉树情况,9层最多有(2^9-1)=511<513,所以最少为10层。

    所以从10到513共有513-10+1=504种情况。选:C

    10.Google2012笔试(连通树)

    一棵树(>=3个节点)最少需要删掉几个节点才能使得这棵树不连通?(B)

    A. 0

    B. 1

    C. 2

    D. 3

    解释:树:连通,无环。一个顶点要到达另一顶点,有且仅有一条路径。所以只要删除任一条边即可。 不过题目要的是删除顶点,那么就删除那些内顶点(以及他们连着的所有边),也就是非叶子节点。选:B

    11. 2016年360校招笔试题(二叉搜索树)

    在含有50个结点的二叉排序树上,查找关键字为20的结点,则依次比较的关键字有可能是(D)

    A. 15、35、18、14、20

    B. 35、25、28、15、20

    C. 35、25、18、15、20

    D. 15、35、25、20

    解释:结题思路如下图:原则是:排序二叉树特点:左子树上所有结点的值均小于它的根结点的值; 右子树上所有结点的值均大于它的根结点的值.若值比根节点大,往左点查找;若值比根结点小,往右查找。

    所以:选择:D

    12.网易有道2017内推笔试题(循环队列)

    大小为MAX的循环队列中,f为当前队头元素位置,r为当前队尾元素位置(最后一个元素的位置),则任意时刻,队列中的元素个数为()

    A. r-f

    B. (r-f+MAX+1)%MAX

    C. r-f+1

    D. (r-f+MAX)%MAX

    解释:在普通队列中,若队首为head, 队尾为tail的条件下,队内元素个数为tail-head+1 所以 循环队列元素个数为(tail-head+1+MAX)%MAX 选B

     13.阿里巴巴研发工程师实习生笔试题(猜数字)

    A,B,C三位同学都是很聪明的同学,面试官给他们背上依次贴上了数字2,4,8,他们都能看见别人的数字但无法看见自己的数字,现在面试官告诉他们这些数字都是自然数并且构成一个等比数列,让A、B、C同学依次循环回答是否确定自己的数字是多少,每位同学的回答算作一次,经过__3__次有同学能准确说出自己的数字。(B)

    A. 2

    B. 3

    C. 4

    D. 5

    E. 6

    F. 7

    解释:A看到的是4,8所以A有两种可能2或16,A不确定

            B看到的是2,8所以在A不确定的时候,B有两种可能4或32,B不确定

            C看到的是2,4所以C有两种可能1或8,但是当C是1的时候,B看到的是1,2这样B肯定能确定自己是4,所以C不是1,C是8,C确定

    所以需要3次,选择:B

     个人能力有限,欢迎各位博友批评指正!!!

     

  • 相关阅读:
    垃圾收集器与内存分配策略(二)之垃圾收集算法
    组合与继承
    垃圾收集器与内存分配策略(一)之对象存活判断
    虚拟机中对象的创建、内存布局、访问
    Java运行时数据区域划分
    Java操作excel表格
    位段
    sh -s用法
    ubutu14.04选中文本就会删除问题解决
    java容器-List
  • 原文地址:https://www.cnblogs.com/lxt1105/p/6513872.html
Copyright © 2011-2022 走看看