• 阿里巴巴2015研究project普通笔试题,与答案


    欢迎您对这篇文章的其他建议。我可以留言在以下平台。
    个人博客网站:www.anycodex.com/blog/
    Csdn博客网站:http://my.csdn.net/?ref=toolbar
    微博:http://weibo.com/1958069172/profile?topnav=1&wvr=5&user=1


    1、int main(){ fork()||fork(); }共创建几个进程?
    答:3个。
    【知识点】
    • 一个现有进程能够调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。

    fork函数被调用一次但返回两次。

    两次返回的唯一差别是子进程中返回0值而父进程中返回子进程ID。
    • 子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”。这意味着父子进程间不共享这些存储空间。
    • UNIX将复制父进程的地址空间内容给子进程。因此,子进程有了独立的地址空间。在不同的UNIX (Like)系统下。我们无法确定fork之后是子进程先执行还是父进程先执行,这依赖于系统的实现。

    所以在移植代码的时候我们不应该对此作出不论什么的如果。

    如图所看到的:同样颜色的为同一进程,共同拥有三种进程。很多其它信息能够參考http://coolshell.cn/articles/7965.html



    2.下列正則表達式不能够匹配 “www.alibaba-inc.com”的是______。


    • ^w+.w+-w+.w+$
    • [w]{0,3}.[a-z-]*.[a-z]+
    [c-w.]{3,10}[.][c-w.][.][a]
    • [w][w][w][alibaba-inc]+[com]+
    • ^w.*com$
    • [w]{3}.[a-z-]{11}.[a-z]{3}

    【知识点】正則表達式请參考:http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.90).aspx


    3.下列描写叙述中唯一错误的是______。
    A. 本题有五个选项是正确的
    B. B正确
    C. D正确
    D. DEF 都正确
    E. ABC 中有一个错误
    F. 假设 ABCDE 都正确。那么 F 也正确
    【知识点】推理推断

    依据题意。选项中仅仅有唯一一个错误,所以A选项正确。再看C选项,假设C选项错误,那么D错误和唯一错误矛盾,所以C正确。

    进而D正确。那么DEF都正确,仅仅有B错误。我们再看,假设B正确,依据前面的分析我们肯定CDE都是正确的,在E选项中。A正确,B正确,进而推导出C错误。这和前面我们推导C正确矛盾,因此B错误。


    4、个数约为50K的 数列须要进行从小到大排序,数列特征是基本逆序(多数数字从大到小。个别乱序)。下面哪种排序算法在事先不了解数列特征 的情况下性能大概率最优(不考虑空间限制)______。
    • 冒泡排序
    • 改进 冒泡排序
    • 选择排序
    • 高速排序
    堆排序
    • 插入排序
    【知识点】各大排序的适用场合以及特点

    个数约为50K,基本能够秒杀一般的冒泡。改进冒泡,选择,插入等主要的排序。

    加上数列的特征是基本逆序,而高速排序的worst case就是基本逆序或者基本有序的情况。综上所述。堆排序应该是大概率最优的。


    5、下列方法中,______不能够用来程序调优 ?
    • 改善数据訪问方式以提升缓存命中率
    使用多线程的方式提高I/O密集型操作的效率
    • 利用数据库连接池替代直接的数据库訪问
    • 使用迭取代代递归
    • 合并多个远程调用批量发送
    • 共享冗余数据提高訪问效率
    【知识点】程序调优常见的途径。可參考http://coolshell.cn/articles/7490.html
    • I/O密集型问题通常是硬件层面的问题,比方硬盘。它的I/O就摆在那里,不管你在怎么多线程。瓶颈就在硬盘那。所以B的说法是不可行的。

    • 对于“I/O密集型”的应用程序能够採用I/O效率较高的SCSI硬盘,或者採用集群的方式。


    6、设 m 和 n 都是 int 类型。那么下面 for 循环语句,__
    for(m=0,n=-1;n=0;m++,n++)
    n++;
    A.循环体一次也不运行
    B.循环体运行一次
    C.是无限循环
    D.有限次循环
    E.循环结束推断条件不合法
    F.执行出错
    【知识点】循环。=和==差别
    n=0,条件永远为假,所以循环体一次也不会运行
    【扩展】

    若改为for(m=0,n=-1;n>0;m++,n++)n++;循环体应该会运行有限次,存在溢出的问题。


    7、计算三个稠密矩阵A、B、C的乘积ABC。假定三个矩阵的尺寸分别为m*n, n*p, p*q。且m<n<p<q,下面计算顺序效率最高的是:______?
    (AB)C
    • A(BC)
    • (AC)B
    • (BC)A
    • (CA)B
    • 以上效率同样
    【知识点】矩阵及简单的算法复杂度
    • 依据简单的矩阵知识。能够排除后面四项。由于A*B,A的列数必须和B的行数相等。
    • 再看选项1和选项2,例如以下图所看到的,一个m*n的矩阵A乘以n*q的矩阵B。我们会用矩阵A的第一行,乘以矩阵B的第一列并相加。这一运算须要耗费n次乘法以及n-1次加法。矩阵B有q列,矩阵A有m行。所以A*B的复杂度为m*(2n-1)*q。

    • 依据上面的分析,我们能够知道选项1的复杂度为m*(2n-1)*p + m*(2p-1)*q。而选项2的复杂度为m*(2n-1)*q+ n*(2p-1)*q,非常显然选项1的效率高于选项2。



    8、若干个等待訪问磁盘者依次要訪问的磁道为19,43,40,4,79,11,76,当前磁头位于40号柱面,若用最短寻道时间优先磁盘调度算法,则訪问序列为?
    A. 19,43,40,4,79,11,76
    B. 40,43,19,11,4,76,79
    C. 40,43,76,79,19,11,4
    D. 40,43,76,79,4,11,19
    E. 40,43,76,79,11,4,19
    F. 40,19,11,4,79,76,43

    【知识点】磁盘寻道算法。请參考http://blog.csdn.net/kennyrose/article/details/7532651


    9、程序出错在什么阶段__?
    Int main(void)
    {
    http://www.taobao.com
    cout<<”welcome to taobao”<<endl
    }
    A. 预处理阶段出错
    B. 编译阶段出错
    C. 汇编阶段出错
    D. 链接阶段出错
    E. 执行阶段出错
    F. 程序执行正常
    【知识点】编译程序的基本知识
    • Gcc编译器对程序的编译可分为4个阶段:预编译、编译和优化、汇编、链接,之后就是执行了。
    • 预编译:将程序引用的头文件包括进源码中,并对一些宏进行替换。
    • 编译:将用户据可识别的语言翻译成一组处理器可识别的操作码,生成目标文件。通常翻译成汇编语言,而汇编一眼和机器操作码之间是一对一的关系;

    • 全部的目标文件必须用某种方式组合起来才干执行,这就是链接的作用。目标文件里通常仅解析了文件内部的变量和函数,对于引用的函数和变量还没有解析,这须要将其它已经编写好的目标文件引用进来,将没有解析的变量和函数进行解析,通常引用的目标是库。链接完毕后会生成可执行文件。


    10、下面操作中,数组比线性表速度更快的是____
    A. 原地逆序
    B. 头部插入
    C. 返回中间节点
    D. 返回头部节点
    E. 选择随机节点
    【知识点】线性表和数组

    线性表的定义请參见百度百科:http://baike.baidu.com/view/178622.htm


    11、在一个请求页式存储管理中。一个程序的页面走向为 3、4、2、 1、4、5、3、4、5、1、2,并採用 LRU 算法。设分配给改程序的存储 快熟 S 分别为 3 和 4,在该訪问中发生的缺页次数 F 是
    A. S=3,F=6;S=4,F=5
    B. S=3,F=7;S=4,F=6
    C. S=3,F=8;S=4,F=5
    D. S=3,F=8;S=4,F=7
    E. S=3,F=10;S=4,F=8
    F. S=3,F=11;S=4,F=9
    【知识点】缺页次数的计算LRU和FIFO
    12、每台物理计算机能够虚拟出 20 台虚拟机,如果一台虚拟机发生问题当且仅当它所宿主的物理机发生问题。通过 5 台物理机虚拟出100 台虚拟机,那么关于这 100 台虚拟机的故障的说法正确的是:____?
    A. 单台虚拟机的故障率高于单台物理机的故障率
    B. 这 100 台虚拟机发生问题是彼此独立的
    C. 这100台虚拟机单位时间内出现问题的个数高于100台物理机单位时 间内出现问题的个数
    D. 无法推断这 100 台虚拟机和 100 台物理机哪个更可靠
    E. 假设随机选出 5 台虚拟机组成集群, 那么这个集群的可靠性和 5 台物 理机的可靠性同样
    F. 可能有一段时间仅仅有 1 台虚拟机发生问题

    【知识点】理解题意吧


    13村长带着 4 对父子參加爸爸去哪儿第三季第二站某村庄的拍摄。

    村里为了保护小孩不被拐走有个前年的规矩, 那就是吃饭的时候小孩 左右仅仅能是其它小孩或者自己的父母。那么 4 对父子在圆桌上共同拥有 ___种坐法。 (旋转一下。 每一个人面对的方向变更后算是一种新的坐法)
    A. 144
    B. 240
    C. 288
    D. 480
    E. 576
    F. 960
    【知识点】排列组合

    依据题意,能够知道位置排列仅仅有下面两种可能。例如以下图所看到的:



    对于第一种方式:孩子和孩子是面对面的,父亲和父亲是面对面的。

    所以8个位置能够等效为4个位置,孩子的位置定了。父亲的位置也就定了。

    而孩子的排列数为4*3*2,旋转仅仅有4中可能(由于等效下来仅仅有4个位置)。所以总可能输为4*4*3*2 = 96
    对于另外一种方式:孩子的排列有4*3*2*1,孩子的位置定了。当中两位父亲的位置就定了,剩下两位父亲就能够任意排了,此外能够旋转8次。总可能输为8 * 4 * 3 * 2 * 2 = 384

    综上所述。总有384 + 96 = 450中可能。


    14、假设一个博物馆參观者到达的速率是每分钟 20 人,平均每一个人在馆内停留 20 分钟。那么该博物馆至少须要容纳多少人?
    A. 100
    B. 200
    C. 300
    D. 400
    E. 500
    F. 600

    【知识点】20 * 20 = 400


    16、对立的两方争夺一个价值为1的物品。两方能够採取的策略能够分为鸽子策略和鹰策略,假设两方都是鸽子策略。那么两方各有1/2的几率获得该物品。假设两方均为鹰策略。那么两方各有1/2的概率取胜。胜方获得价值为1的物品,付出价值为1的代价。负方付出价值为1的代价;假设一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的结果出来之前,没人知道对方是鸽子策略还是鹰策略,当选择鸽子策略的人的比例是某一个值时。选择鸽子策略和选择鹰策略的预期收益是同样的,那么该值是:
    A. 0.2
    B. 0.4
    C. 0.5
    D. 0.7
    E. 0.8
    F. 以上都不正确
    【知识点】

    不会,求指点。


    17、已知一个二叉树的前序遍历结果是(ACDEFHGB) 。中序遍历结果是(DECAHFBG),请问兴许遍历结果是_____
    A. HGFEDCBA
    B. EDCHBGFA
    C. BGFHEDCA
    D. EDCBGHFA
    E. BEGHDFCA
    F. BGHFEDCA

    【知识点】前序遍历、中序遍历、后序遍历


    18、在一个单链表中,q 的前一个节点为 p。删除 q 所指向节点,则运行
    A. Delete q
    B. q->next=p->nerx;delete p;
    C. p-next=q->next;delete p;
    D. p->next=q->next;delete q;
    E. delete p;
    F. q->next=p->next;delete q
    【知识点】单链表

    简单,无需多言


    19、下列 C 代码中,不属于没有定义行为的有___
    A. Int i=0;i=(i++);
    B. Char *p=”hello”;p[1]=’E’;
    C. Char *p=”hello”;char ch=*p++;
    D. Int i=0;printf(“%d%d ”,i++,i--);
    E. 都是没有定义行为
    F. 都不是没有定义行为
    【知识点】啥叫没有定义行为啊?

    我仅仅认为反正编译都不会出错,可是B肯定会执行出错。由于p指向一个const char,p指向的东西不能被改变。而相对而言,选项C中没有改变P所指向的东西。仅仅是改动了p指针。说回来,没有定义行为,好吧。好像都不是没有定义行为。(^o^)/~


    20、int func(unsigned int i)
    {
    Unsigned int temp=i
    Temp=(temp & 0x55555555)+((temp & 0xaaaaaaaa)>>1);
    Temp=(temp & 0x33333333)+((temp & 0xccccccccc)>>2);
    Temp=(temp & 0x0f0f0f0f)+((temp & 0xf0f0f0f0>>4);
    Temp=(temp & 0xff00ff)+((temp & 0xff00fff00)>>8);
    Temp=(temp & 0xffff)+((temp & 0xffff0000)>>16);
    Return temp;

    }
    请问 func(0x11530828)的返回值是:(9)
    【知识点】位运算

    乍一眼看去,肯定不可能死算。这道题肯定有诀窍。

    总之就是求二进制比特中1的个数。详细怎么回事,自己慢慢摸索吧。


    21、把校园中同一区域的两张不同比例尺的地图叠放在一起。而且使 当中较小尺寸的地图全然在较大尺寸的地图的覆盖之下。 每张地图上 都有经纬度坐标,显然,这两个坐标系并不同样。

    我们把恰好重叠在 一起的两个同样的坐标称之为重合点。 以下关于重合点的说法中正确 的是?
    A. 可能不存在重合点
    B. 必定有且仅仅有一个重合点
    C. 可能有无穷多个重合点
    D. 重合点构成了一条直线
    E. 重合点可能在小地图之外
    F. 重合点是一小片连续的区域
    【知识点】极限思想
    例如以下图所看到的:如果蓝色的为大地图,黄色的为小地图,他们是成比例放大的。大地图中的黄色区域,必定也存在在小地图其中,我们如果为黄色区域。那么大地图的黄色区域。必定也存在于小地图中。我们如果为灰色区域。

    依照此思想。两地图重合的区域越来越小,最后会趋近于一个点。所以选B。


    22、毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每一个人随机地拾起帽子,三个人中没有人选到自己原来带的帽子的概率是
    A. 1/2
    B. 1/3
    C. 1/4
    D. 1/6
    E. 1/8
    F. 1/9
    【知识点】简单的概率论
    不考虑不论什么情况,捡到帽子的情况有3*2*1=6种

    每一个人都不能捡到自己的帽子,情况有两种,A-c, B-a, C-b或者A-b, B-c, C-b,当中A,B,C代表三位同学,a,b,c分别代表A,B,C的帽子。


    23、一个合法的表达式由()包围,()能够嵌套和连接,如(())()也是合法 表达式;如今有 6 对()。它们能够组成的合法表达式的个数为____
    A. 15
    B. 30
    C. 64
    D. 132
    E. 256
    F. 360
    【知识点】卡特兰数。看完此文,便可秒杀此题http://ilovers.sinaapp.com/article/catalan%E6%95%B0#problem_1

    感谢这世界上有那么多大神存在。


    24、某路由器接受的 IP 豹纹的目的地址不是路由器的接口 IP 地址, 而且未匹配的路由项,则採取的策略是
    A. 丢掉该分组
    B. 将该分组分片
    C. 转发该分组
    D. 将分组转发或分片
    E. 将分组保留存储
    F. 以上都有可能

    【知识点】应该和网络有关,恶心没学过。当时不知道出了丢掉还能干什么。


    25、有字符序列 {Q,H,C,Y,P,A,M,S,R,D,F,X} ,新序列{F,H,C,D,P.A.M,Q,R,S,Y,X},是下列____排序算法一趟扫描的结果。


    A. 二路归并排序
    B. 高速排序
    C. 步长为 4 的希尔排序
    D. 步长为 2 的希尔排序
    E. 冒泡排序
    F. 堆排序
    【知识点】排序
    非常显然是拿Q作为pivot的一趟扫描的结果。

    我们看看其他选项,比方C。假设是步长为4的希尔排序。那么Q将和P相比,P要排在Q前面,和新序列不符。其他依次类推,考试的时候。选B就能够啦。

    肯定是对的。


    26、MySQL 主从结构的主数据库中不可能出现下面哪种日志?

    A. 错误日志
    B. 事务日志
    C. 中继日志
    D. Redo log
    【知识点】数据库日志,看完此文,便可秒杀此题。參考链接:http://aceruser.blog.51cto.com/2772529/658842
    为了加强自己的记忆,嗯。我也copy下面,中继日志是主从架构中从从server上取得的。
    还有两个附加题。也比較有意思。先容我喝口水,歇会儿,兴许补充。

    欢迎对本文提出补充建议。能够在下面平台上我留言。
    个人博客网站:www.anycodex.com/blog/
    Csdn博客网站:http://my.csdn.net/?ref=toolbar

    微博:http://weibo.com/1958069172/profile?topnav=1&wvr=5&user=1


    博客pdf文件下载:http://download.csdn.net/detail/xiaxia__/8065739
























    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    5.搜索-dfs、回溯、bfs
    4.排序算法
    3.二分查找
    2.双指针
    1.贪心算法
    【目录】leetcode刷题
    深度学习的优化与正则化
    什么是深度学习
    循环神经网络
    Failed to execute 'index' on 'IDBObjectStore': The specified index was not found.
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4622845.html
Copyright © 2020-2023  润新知