发布于 2015-01-25 05:54:46 | 184 次阅读 | 评论: 0 | 来源: 网友投递
阿里巴巴
阿里巴巴(中国电子商务公司) 即 阿里巴巴集团 。
阿里巴巴集团经营多元化的互联网业务,致力为全球所有人创造便捷的交易渠道。自成立以来,阿里巴巴集团建立了领先的消费者电子商务、网上支付、B2B网上交易市场及云计算业务,近几年更积极开拓无线应用、手机操作系统和互联网电视等领域。
本文为大家整理分享的是一份阿里巴巴2014年实习生笔试题-研发类,感兴趣的同学参考下。
以下为试题:
用二进制来编码字符串”abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要______位的二进制字符串。
有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)
数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是______。
• 线性链表
• 二叉链表
• 栈与队列
• 循环队列
下列关于无向连通图特性的叙述中,正确的是______。
Ⅰ.所有顶点的度之和为偶数
Ⅱ.边数大于顶点个数
Ⅲ.至少有一个顶点的度为1
• 只有Ⅰ
• 只有Ⅱ
• Ⅰ和Ⅱ
• Ⅰ和Ⅲ
某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的 缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是____。
• 90ns
• 80ns
• 70ns
• 60ns
主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是 。
• 500
• 700
• 800
• 1000
IP数据报头采用______字节序,在此字节序下从低地址到高地址0×1234的表示形式为______。
• big_endian, 0×12 0×34 0 0
• little_endian,0×34 0×12 0 0
• big_endian, 0 0 0×12 0×34
• little_endian,0 0 0×34 0×12
假设栈S和队列Q的初始状态为空,元素a、b、c、d、e、f依次通过S和Q,即每一个元素必须先进栈,之后再出栈进入队列。若这6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该为______。
• 3
• 4
• 5
• 6
硬件设备的寿命通常符合指数分布,即无记忆性,也就是如果一个设备当前正常工作,那么剩余预期寿命和已经工作的时间无关。假定某种设备1000台,在一年之内坏掉500台(无维修),那么在有维修(设备坏掉立刻换新的)的情况下,一年之内需要换______台该设备。
• 400台
• 500台
• 753台
• 1000台
下述描述中,正确的是____。
• char const * pointer表示pointer指向的内存区域的内容不能修改
• const char *pointer表示pointer不能指向别的内存地址
• char * const pointer 表示pointer指向的内存区域的内容不能修改
• const char * const pointer在C++语言中不合法
在linux中,列举当前目录下文件的是哪个命令______。
• ps
• cd
• mv
• ls
某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。
• 45231
• 42351
• 12345
• 54321
需要频繁的插入删除操作使用什么结构比较合适______。
• 数组
• 队列
• 链表
• 栈
你有一个3X3X3的立方体。你现在在正面左上的顶点,需要移动到对角线的背面右下的顶点中。每次移动不限距离,但只能从前至后、从左至右、从上至下运动,即不允许斜向或后退。有______种方法。
• 9
• 90
• 180
• 1680
一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是______。
• 只对写操作加锁,不对读操作加锁
• 读操作不加锁,采用copyOnWrite的方式实现写操作
• 分区段加锁
• 无法做到
下面序列中,哪一种序列 不可能是一个二叉搜索树的后序遍历结果?
• 1,2,3,4,5
• 1,2,5,4,3
• 5,4,3,2,1
• 3,5,1,4,2
小数值1.5625的二进制表示是____。
• 101.1001
• 0.001
• 101.111
• 1.1001
有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该采用的存储方法是______。(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)
• A按行存,B按行存
• A按行存,B按列存
• A按列存,B按行存
• A按列存,B按列存
有n条随机的二进制流(n非常大),有n个接收器收集数据,遇到1就停止,并把之前收到的二进制传存储起来,最后0的个数大约有_______个。
• n
• n/2
• 2n
• 3n/2
下列叙述中正确的是____。
• 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
• 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
• 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
• 循环队列中元素的个数是由队头指针和队尾指针共同决定
以下措施中,有可能改进分布式系统读写(IO)性能的有____。
• 网络从千兆网升级为万兆网
• 优化调度系统,尽量做到任务与数据相近(Locality)
• 数据预取机制
• 实现异步读写机制
一个二进制网络通信协议的报文,包头定长,除了包头以外,可以携带长度和内容都不定的负载,设计报文格式时,可以用____方式,确保协议处理程序能够正确识别每一个报文。
• 在包头中第一个定长字段中写明报文全长
• 在包头中某个定长字段中写明负载负载长度
• 在报文头尾加固定长度的边界符
• 使用定长报文,如负载超长,则分片
正则表达式 2[0-4]d|25[0-5]|[01]?dd?$ 能匹配以下哪个表达式 ?
• 255
• 256
• 2
• 25a
无锁化编程有哪些常见方法?______ 。
• 针对计数器,可以使用原子加
• 只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)
• RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法
• CAS(Compare-and-Swap),如无锁栈,无锁队列等待