位置:首页 > 求职招聘

2014年阿里巴巴校园招聘研发工程师考试真题

2020-07-17发布者:郝悦皓大小:87.50 KB 下载:0

2014 年阿里巴巴校园招聘研发工程师考试真题 1.有一个虚拟存储系统,若进程在内存中占 3 页(开始时内存为空),若采用先进先出 (FIFO))页面淘汰算法,当执行如下访问页号序列后 1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页? A、7 B、8 C、9 D、10 2.设有一个顺序栈 S,元素 s1、s2、s3、s4、s5、s6 依次进栈,如果 6 个元素的出栈顺 序为 s2、s3、s4、s6、s5、s1,则顺序栈的容量至少应为多少? A、2 B、3 C、4 D、5 3.下列关于文件索引结构的叙述中,哪一个是错误的? A、采用索引结构,逻辑上连续的文件存放在连续的物理块中 B、系统为每个文件建立一张索引表 C、索引结构的优点是访问速度快,文件长度可以动态变化 D、索引结构的缺点是存储开销大 4.【0、2、1、4、3、9、5、8、6、7】是以数组形式存储的最小堆,删除堆顶元素 0 后 的结果是() A、【2、1、4、3、9、5、8、6、7】 B、【1、2、5、4、3、9、8、6、7】 C、【2、3、1、4、7、9、5、8、6】 D、【1、2、5、4、3、9、7、8、6】 5.某页式存储管理系统中,地址寄存器长度为 24 位,其中页号占 14 位,则主存的分块大 小是()字节。 A、10 B、2^10 C、2^14 D、2^24 6.在一个长为 33 厘米的光滑凹轨上,在第 3 厘米、第 6 厘米、第 19 厘米、第 22 厘米、 第 26 厘米处各有一个钢珠,凹轨很细,不能同时通过两个钢珠,开始时,钢珠运动方向 是任意的。两个钢珠相撞后,以相同速度反向运动。假设所有钢珠初始速度为每秒运动 1 厘米,那么所有钢珠离开凹轨的最长可能时间是() A、30 B、26 C、38 D、33 7.std::vector::iterator 重载了下面哪些运算符? A、++ B、>> C、*(前置) D、== 8.下列运算符,在 C++语言中不能重载的是() A、* B、?: C、:: D、delete 9.在排序方法中,元素比较次数与元素的初始排列无关的是() A、Shell 排序 B、归并排序 C、直接插入排序 D、选择排序 10.给定如下代码: int x[4]={0}; int y[4]={1}; 数组 x 和 y 的值为() A、{0,0,0,0},{1,1,1,1} B、{0,0,0,0},{1,0,0,0} C、{0,不确定},{1,不确定} D、与编译器相关 10.给出以下定义,下列哪些操作是合法的? const char *p1 = "hello"; char* const p2 = "world"; A、p1++ B、p1[2]='w'; C、p2[2]='l'; D、p2++ 11.假设在 n 进制下,下面的等式成立,n 值是() 567*456=150216 A、9 B、10 C、12 D、18 12.关于 struct 和 class,下列说法正确的是() A、struct 的成员默认是 public,class 的成员默认是 private B、struct 不能继承,class 可以继承 C、struct 可以有无参构造函数 D、struct 的成员变量只能是 public 13.定义一个函数指针,指向的函数有两个 int 形参并且返回一个函数指针,返回的指针指 向一个有一个 int 形参且返回 int 的函数? A、int (*(*F)(int, int))(int) B、int (*F)(int, int) C、int (*(*F)(int, int)) D、*(*F)(int, int)(int) 14.声明一个指向含有 10 个元素的数组的指针,其中每个元素是一个函数指针,该函数的 返回值是 int,参数是 int*,正确的是() A、(int *p[10])(int*); B、int [10]*p(int *); C、int (*(*p)[10])(int *); D、int ((int *)[10])*p; E、以上选项都不正确 15.一个栈的输入序列为 123.....n,若输出序列的第一个元素是 n,输出第 i(1<=i<=n) 个元素是() A、不确定 B、n-i+1 C、i D、n-i 16.下列代码编译时会产生错误的是() [cpp] view plaincopy#include using namespace std; struct Foo { Foo() { } Foo(int) { } void fun() { } }; int main(void) { Foo a(10); //语句 1 a.fun(); //语句 2 Foo b(); //语句 3 b.fun(); //语句 4 return 0; } A、语句 1 B、语句 2 C、语句 3 D、语句 4 17.在 32 位机器上,下列代码中 [cpp] view plaincopy#pragma pack(2) class A { int i; union U { char buff[13]; int i; }u; void foo() { } typedef char* (*f)(void*); enum{red, green, blue} color; }a; sizeof(a)的值是() A、20 B、21 C、22 D、24 E、非以上选项 18.下面描述中,错误的是() A、基类定义的 public 成员在公有继承的派生类中可见,也能在类外被访问 B、基类定义的 public 和 protected 成员在私有继承的派生类中可见,在类外可以被访问 C、基类定义的 public 和 protected 成员在保护继承的派生类中不可见 D、基类定义的 protected 成员在 protected 继承的派生类中可见,也能在类外被访问 19.当很频繁地对序列中部进行插入和删除操作时,应该选择使用的容器是() A、vector B、list C、deque D、stack 20.判断一个单向链表中是否存在环的最佳方法是() A、两重遍历 B、快慢指针 C、路径记录 D、哈希表辅助 21.给你 1、2、3 这三个数字 可以使用 C 的各种运算符 你能表示的最大的整数是() A、2*3*sizeof(1) B、3<<(2<< D、(unsigned C、sizeof(3)<<(sizeof(2)<<(sizeof(1)))> -1 的二进制形式就是全 1 表示 22.下面代码的输出是多少? [cpp] view plaincopyclass A { public: A() { cout<<"A"<<> ~A() { cout<<"~A"<<> }; class B:public A { public: B(A &a):_a(a) { cout<<"B"<< p> } ~B() { cout<<"~B"<< p> } private: A _a; }; int main(void) { A a; //很简单,定义 a 的时候调用了一次构造函数 B b(a); //这里 b 里面的_a 是通过成员初始化列表构造起来的 //而且是通过 copy constructor 构造的是 b 的成员对象_a 的,这里是编译器默认的,因 此在构造好_a 前,先调用基类构造函数 //然后才是构造自身,顺序就是 A()->_a->B()(局部) //因此这里有两个 A,一个 B
温馨提示:当前文档最多只能预览 3 页,此文档共6 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

下载需知:

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

返回顶部