发布于 2015-01-29 07:57:27 | 170 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

阿里巴巴

阿里巴巴(中国电子商务公司) 即 阿里巴巴集团 。 阿里巴巴集团经营多元化的互联网业务,致力为全球所有人创造便捷的交易渠道。自成立以来,阿里巴巴集团建立了领先的消费者电子商务、网上支付、B2B网上交易市场及云计算业务,近几年更积极开拓无线应用、手机操作系统和互联网电视等领域。


本文是一份阿里巴巴集团2014秋季校园招聘笔试题-系统工程师-北京站,感兴趣的同学参考下。

系统工程师 北京 笔试卷

第一部分 单选题(前10题,每题2分;后10题,每题3分;共50分。选对得满分,选错倒扣一分,不选得0分。)

   1. 字符串“alibaba”有 个不同的排列。

   A. 5040 B. 840 C. 14 D.420

   2. 下列一段C++代码的输出是 。

   class Base

   {

   public:

   int Bar(char x) {return (int)(x);}

   virtual int Bar(int x) {return(2*x);}

   };

   class Derived :public Base

   {

   public:

   int Bar(char x) {return(int)(-x);}

   int Bar(int x) {return (x/2);}

   };

   void main(void)

   {

   Derived Obj;

   Base*pObj=&Obj;

   printf("%d,",pObj->Bar((char)(100)));

   printf("%d,",pObj->Bar(100));

   }

   A. 100,50 B. -100,200 C. -100,50 D. 100,200

   3. 有一个二维数组A[10][5],每个数据元素占1个字节,且A[0][0]的存储地址是1000,则A[i][j]的地址是 。

   A. 1000+10i+j B. 1000+i+j C. 1000+5i+j D. 1000+10i+5j

   4. 下列 不是线性表?

   A. 队列 B. 栈 C. 关联数组 D. 链表

   5. 下列有关在一个处理器(processor)上跑两个线程(thread)的说法中,正确的是 。

   A. 一个线程可以改变另一个线程的程序计数器(program counter)

   B. 一个线程既不能读也不能写另一个线程的栈(stack)

   C. 一个线程可以读写另一个线程的寄存器(register)

   D. 以上都不对

   6. 关于双链表的搜索给定元素操作的说法正确的是 。

   A. 从两个方向搜索双链表,比从一个方向搜索双链表的速度慢

   B. 从两个方向搜索双链表,比从一个方向搜索双链表的方差要小

   C. 从两个方向搜索双链表,比从一个方向搜索双链表速度要快

   D. 以上说法都不正确

   7. 对n个数字进行排序,期中两两不同的数字的个数为k,n远远大于k,而n的取值区间长度超过了内存的大小,时间复杂度最小可以是 。

   A. O(nlogk) B. O(nk) C. O(n) D. O(nlogn)

   8. 一台指针式钟表的时钟和分钟的指向重合的时间间隔是 B 。

   A. 720/13分钟 B. 720/11分钟 C. 60分钟 D. 以上都不正确

   9. 两个大小不同的杯子R和S,R中装着一定量的小米,S中装着一定量的沙子。一名儿童用勺子从S中取出一勺沙子放入R,与小米混合之后,再从R中取出等体积的一勺混合物放入S。假定两勺物品的体积相等,且R和S都没有发生溢出。则以下说法中正确的是 。

   A. R中的沙子和S中的小米一样多

   B. R中的沙子比S中的小米少

   C. R中的沙子比S中的小米多

   D. 无法判断

   10. 假定抛出的硬币落地之后正反两面出现的概率分别是1/2。那么抛10次和100次硬币(分别称为T10和T100)相比,以下说法正确的是 。

   A. T100出现一半的正面比T10出现一半正面的概率更大

   B. T100前3次都是正面的概率比T10前3次都是正面的可能性大

   C. T100正面次数的方差小于T10出现正面次数的方差

   D. T100出现正面的比例比T10出现正面的比例在(0.45,0.55)区间中的可能性更大。

   11. 某福彩机构推出了一款简单的猜谜游戏:游戏玩家只需交纳n元,赌红或者黑。如果开奖结果与游戏玩家所赌的颜色相同,则玩家除得到交纳的n元赌资外,还可以获得n元作为奖励;否则该玩家失去交纳的n元赌资。为了游戏公平,开奖是红或者黑的概率均为1/2。某游戏玩家想出了一个玩法:开始出100元参与赌博,然后按照如下规则进行游戏,如果输掉,并且赌资充足,就把已经输了的总钱数翻倍作为赌资进行赌博;否则,就停止该游戏。假定该机构赌资无限,而玩家的赌资比较有限,以下关于该玩家退出游戏时的情形的评论中合理的是: 。

   A. 该玩家的策略可以保证游戏结束时赢钱数的期望为正数

   B. 该福彩机构长期会赔钱

   C. 该玩家会有一定概率在游戏结束时输钱,但输得不多

   D. 该玩家赢的可能性比输的可能性大

   12. 有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用 只小白鼠,在1小时内一定可以找出至少14瓶无毒的水?

   A. 1只

   B. 3只

   C. 4只

   D. 16只

   13. 有一台4核CPU的服务器,上面运行着1种在线服务。如果该在线服务处理一个请求在非独占IO上的等待时间和CPU计算上消耗的时间比为2:1,假定IO带宽充足,那么至少开 个线程能最大化性能地使用该服务器?

   A. 4 B. 8 C. 12 D. 线程越多越好

   14. 有一种语言称为lua,里面的数字只有一种类型(number),实际上是双精度浮点数。没有各种位数的整数,如32位、64位整数等。那么关于该语言的说法错误的是 。

   A. 该语言可以用number类型的变量作为数组下标

   B. 该语言可以表示任意32位数字整数的数字ID

   C. 该语言无法实现32位数字整数的按位与、或、异或运算

   D. 该语言可以正常进行双精度浮点数运算

   15. 一个在线服务通常需要读取存储着海量数据的数据库。为了提高服务的处理速度,通常需要加cache(缓存)。以下场景中不合适使用cache的是 。

   A. 数据库中每条数据被访问到的概率近似相等,且独立

   B. 使用了多线程机制的服务

   C. 单条数据尺寸大小的数据

   D. 有着大量访问的服务

   16. 如下一段神奇的代码实现的功能是 。

   int miracle(unsigned int n)

   {

   int m=n==0 ? 0:1;

   while (n=(n&(n-1)))

   {

   m++;

   }

   return m;

   }

   A. n的二进制表示中“0”的个数

   B. n的二进制表示的倒序值

   C. n的二进制表示中“1”的个数

   D. 一个均匀的哈希函数

   17. 有1023个两两不同的整数,取值范围是1到1024,其按位异或的结果的取值范围是 。

   A. 0到1024

   B. 0,1025到2047

   C. 1到1024

   D. 2到2048之前的全部偶数

   18. 七夕节n恋人(n>=2)围成一圈举行篝火晚会。晚会的规则是:男女相同,且每对恋人处在相邻的位置上。请问有多少种不同的圈子?

   A. (2n-1)!/2 B. 2(n-1)! C. 2n(n-1)! D. (2n)!

   19. 星期天有10个朋友约好一起郊游,在车站的集合时间是早晨9:50:00到10:00:00。已知每个人到达车站的时间是9:50:00到10:00:00内的均匀分布,且彼此独立。那么最后一人最可能到达的时间是 (精确到分钟,向下取整)。

   A. 各个分钟概率相等 B. 9:57 C. 9:58 D. 9:59

   20. 已知某国家每年出生人口数每年递增3%,且男女比例为1:1。如果每个男性都希望找比自己小0.5到 3岁的女性结婚,且每个女性都希望找比自己大0.5到3岁的男性结婚,适婚年龄为20到30岁,那么对该国适婚男女婚配方面的说法正确的是 。

   A. 男女会比较均衡

   B. 会产生较多剩女

   C. 会产生较多剩男

   D. 信息不足,无法判断

第二部分 不定向选项(4题,每题5分。每题有1-5个正确选项,完全正确计5分,漏选计2分,不选计0分,多选、错选计-2分)

   21. 要提高多线程程序的效率,对锁的控制策略非常重要。一种策略是在锁的个数不太多、控制结构不太复杂的情况下,尽可能降低加锁的粒度;另一种策略是在合适的条件下取消用锁。以下情况中不可能取消锁的是 。

   A. 多线程写一个共同的数据结构,且写操作是原子操作

   B. 多线程写一个共同的数据结构,且写操作不是原子操作

   C. 多线程读一个共同的数据结构,且读操作不是原子操作

   D. 一个线程写,多个线程读一个共同的数据结构,写操作是原子操作,读操作不是原子操作

   E. 一个线程写、多个线程读一个共同的数据结构,写操作不是原子操作,读操作是原子操作



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务