ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:36.50KB ,
资源ID:1194721      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1194721.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2013年阿里巴巴笔试题-研发工程师.doc)为本站会员(cjc2202537)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

2013年阿里巴巴笔试题-研发工程师.doc

1、第一部分 单选题(前 10 题,每题 2 分;后 10 题,每题 3 分,共 50 分。选对得满分,选错倒扣 1 分,不选得 0 分)1 12345*12345 1105266261 所采用的是多少进制的计算?()A、2 进制 B、8 进制 C、10 进制 D、16 进制2. 关于 HTTP 协议的说明,一下哪项是错误的?()A、在 CS 模式下,作为一种 request-response 协议B、无状态,对每一个请求看成独立的C、 HTTP 是 WWW 和 Email 使用的协议D、HTTP 响应包括数字状态码,404 经常代表“PageNot Found”3. 以下程序输出结果是哪个?()

2、char msg = “AAAA”;strcpy(msg, “BBB”); strcpy(msg, “CC”);strcpy(msg, “D”);printf(“%s”,msg);A、DCBA B、ABCD C、D D、A4 使用 gcc 默认对齐规则的情况下,下列两个数据结构的 sizeof 各是多少?()struct FirstStructchar a;uint64_t b;uint32_t c;uint32_t d;struct SecondStructchar a;uint32_t b;uint32_t c;A、17,13 B、24,16 C、24,24 D、32,165. 关于内联函

3、数,以下哪项叙述是错误的?()A、递归函数不能定义为内联函数B、内联函数只能先定义后使用C、任何源文件,使用内联函数必须包含函数定义D、Main 函数可以内联6. 执行 IO 时,直接调用内核异步 API,内核完成 IO 操作后再回调用户,这种 IO 模式是什么?()A、BIO B、NIO C、AIO D、FIO7. 若系统中有 5 台打印机,有多个进程需要使用两台,规定每个进程一次仅允许申请一台,则至多允许多少个进程参与竞争,而不会发生死锁?()A、2 B、3 C、4 D、58. 一个栈的入栈序列为 abcde,则不可能的输出序列为哪个?()A、edcba B、dceab C、decba D

4、、abedc9. 关于 C 程序运行内存空间的说法错误的是哪项?()A、全局变量,static 变量位于数据区,无需应用程序分配B、局部变量的作用域是当前的函数或程序块,出作用域之后无效C、在堆上分配内存需要调用 malloc 函数,并且需要调用 free 函数释放D、递归程序的递归深度主要受限于堆的空间大小,超过大小限制程序会崩溃10. 以下关于数组说法正确的是哪项?()A、建立公用数组,在模块声明阶段用 private 语句B、数组设定没有上下界C、二维数组初始化时要在类型说明时给各下标变量赋予初值D、对数组元素赋予初始值时一定要标注长度说明11. 下列情况中,不能使用栈(stack)来解

5、决问题的是哪个?()A、将数学表达式转化为后缀形式 B、实现递归算法C、高级编程语言的过程调用 D、操作系统分配资源(如 CPU)12. 已知数据表中每个元素距其最终位置不远,为节省时间,应该采用的算法是什么?()A、直接选择排序 B、堆排序 C、快速排序 D、直接插入排序13. Skip List 是一个非常优秀的数据结构,实现简单的插入、删除、查找复杂度为(logN) ,当该数据结构中插入一个元素遇到最坏情况下的时间复杂度是多少?()A、O(N) B、O(logN) C、O(N) D、O(N logN)14. 设一棵二叉树中有 3 个叶子结点,8 个“深度”为 1 的结点,则该二叉树中总的

6、节点数为多少?()A、11 B、12 C、13 D、1415. 数据表中有 10000 个元素,如果仅要求求出其中最大的 10 个元素,采用什么算法最节省时间?()A、堆排序 B、希尔排序 C、快速排序 D、直接选择排序16. 有 A 和 B 两路公交车,平均发车间隔分别为 5 分钟和 10 分钟。某乘客在站点 S 可以任意选择两者之一乘坐,假设 A 和 B 到达 S 的时刻无法确定,那么该乘客的平均等待时间约为多少?()A、1 分钟 20 秒 B、1 分钟 40 秒 C、2 分钟 30 秒 D、3 分钟 20 秒17有一堆石子共 100 枚,甲乙轮流从该堆中取石子,每次可以取 2,4,6 枚

7、,取得最后的石子的玩家为赢家,若家先取,则以下说法正确的是哪项?()A、甲有必胜策略B、乙有必胜策略C、双方都没有必胜策略D、不确定18. 有 4 人抬着三个货物出门,遇到一条河,他们四个人游过河的时间分别为 1,3,8,15(分钟) 。每个货物必须要由两个人托起才不会被浸湿,为防止货物失窃,所有货物需要有人看守,请问他们最少要花几分钟才能完成渡河?()A、15 B、20 C、23 D、2519. 某班有 25 名学生,其中 14 人会打篮球,12 人会打排球,6 人会打篮球和排球,5 人会打篮球和网球,还有 2 人这三种球都会打。而 6 个会打网球的人都会打另外一种球。请问 25 人中这三种

8、球都不会打的人数是多少?()A、3 B、4 C、5 D、620. 在一个 N*N 个方格的国际象棋盘上, knight 从任意一个指定的方格出发,按照 1 横 2竖或者 1 竖 2 横的跳马规则(如下图从 X 开始可以走到任意一个 Y) 。走遍棋盘的每个格子,且每个格子只走一次的跳法叫做一个骑士征程。请问,N 最小为多少时,一个 knight 可以完成骑士征程?()A、5 B、7 C、8 D、9Y YY YXY YY Y第二部分 不定项选择(4 题,每题 5 分。每题 1-5 个正确选项,完全正确计 5 分,漏选计 2 分,不选计 0 分,多选、错选扣 2 分)21. 一段时间内只允许一个进程

9、访问的资源被称作临界资源,针对临界资源,以下说法错误的是哪些?()A、对临界资源是不能实现资源共享B、只要能是程序并发执行,这些并发执行的程序可以对临界资源实现共享C、为临界资源配上相应的设备控制块后,便能实现共享D、对临界资源采用互斥访问方式,便能实现共享22. 设存在三个函数 f, g, h,分别为 f(n)=53n3+26n+18, g(n)=1500n3+n2, h(n)=15n(1.5)+45n lg(n)。下列哪些关系是成立的,是哪几个?()A、f(n) O(g(n) B、g(n) O(f(n) C、h(n) O(n1.5) D、h(n) O(n lg(n)23. 假设在树中,节点

10、 x 是节点 y 的双亲时,用(x,y)来代表树边。已知一棵树边的集合为(i,m), (i,n), (e,i), (b,e), (b,d), (a,b), (g,j), (g,k), (c,g), (c,f), (h,i), (c,h), (a,c),则下列说法正确的是哪几个?()A、a 是根节点B、g,h,i 是 f 的兄弟C、c 是 g 的双亲D、树的深度是 524. 根据一项对程序员的界面和收入的调查发现:i)10%喜欢白底黑字,60% 喜欢黑底绿字;ii)50%是高收入的。下面描述可能正确的是哪几个?()A、一半的程序员是低收入的B、30%喜欢黑底绿字的程序员是高收入的C、没有程序员既

11、喜欢白底黑字,又是高收入的D、所有喜欢黑底绿字的程序员都不是高收入的第三部分 填空与问答(5 题,共 30 分)25. (4 分)在操作系统的生产者消费者问题中,能否将生产者进程 wait(empty)和wait(mutex)语句交换?为什么?26.( 5 分)某人提着两个空水壶到池塘边打水,两个水壶的容积分别是 5L 和 6L,而他被要求只需要带回 3L 水,请问至少需要多少次操作才能使得两个水壶中只有 3L 水。 (提示:注水、倒水均算一个步骤,给出操作步骤和最终次数)27.( 6 分)请指出二叉树后序遍历栈操作算法的关键,并给出最简单的算法思路。28.( 8 分)请给出分别满足下面条件的

12、所有二叉树。(1)前序序列和中序序列相同 (2)中序序列和后序序列相同(3)前序序列和后序序列相同 (4)前序、中序、后序序列都相同29.( 7 分)以下的代码是一种广度优先搜索算法,请以下图中 V0 为源点执行以下算法,并回答问题:(1 )顶点 Vn+1 需要入队多少次?被重复访问了多少次?(2 ) 加黑斜体算法部分 该如何做修改才能避免重复访问一个顶点的错误?V0V1 V2 VnVn+1void BFS(ALGraph *G, int k) /以下省略局部变量的说明,visited 各初始值为 FalseInitQueue( /置空队列EnQueue( /k 入队while(!QueueE

13、mpty( /Vi 出列visitedi True; /设置访问标记print(“%c“, G-adjlisti.vertex); /访问 Vifor(p G-adjlisti.firstedge;p;p p-next) /依次搜索 Vi 的邻近点if(!visitedp-adjvex) /若 Vi 没有访问过EnQueue( /Vi 入列 /endofwhile /BFS第四部分:JAVA 选做题(注:阿里有大量 JAVA 研发工程师需求;选作以下题目有机会增加该方向面试机会)1. 请画出工厂模式的 uml 图,并简要描述这些要素的作用;列举以下这个模式的优势;给出一个 jdk 源码中的例子。2. Map 是非常重要的数据结构,设计出一个 Map 的接口,用基于 hash 的算法简单实现这个 Map,如果对你实现的 HashMap 做支持高并发场景下的线程安全的优化,怎么改进?更进一步,可以基于此 HashMap 如何最简单实现支持 LRU 算法的 cache?如果要让这个 cache 支持分布式缓存服务,导入了哪些要解决的问题?请列举出来并给出你的解决方法。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报