文档库 最新最全的文档下载
当前位置:文档库 › 阿里巴巴笔试题练习题

阿里巴巴笔试题练习题

阿里巴巴笔试题练习题
阿里巴巴笔试题练习题

阿里巴巴笔试题练习题

想要进入阿里巴巴的朋友,你们做过他们公司的笔试题目吗?下面是整理的阿里巴巴笔试题练习题,欢迎大家阅读!

1.下面哪一个不是动态链接库的优点?

A.共享

B.装载速度快

C.开发模式好

D.减少页面交换

2.n个数值选出最大m个数(3

A.O(n)

B.O(nlogn)

C.O(logn)

D.O(mlogn)

E.O(nlogm)

F.O(mn)

3.由权值分别为1、12、13、4、8的叶子节点生成一颗哈夫曼树,它的带权路径长度为()

A.12

B.68

C.43

D.6

E.25

F.81

4.阿里巴巴国际站的股票代码是1688,这个数字具有这样的特性,首先是个首位为1的4位数,其次恰巧有且仅有1个数字

出现了两次。类似的数字还有:1861,1668等。这样的数字一共有()个。

A.144

B.180

C.216

D.270

E.288

F.432

5.工程师M发明了一种游戏:M将一个小球随机放入完全相同的三个盒子中的某一个,玩家选中装有球的盒子即获胜;开始时M 会让玩家选择一个盒子(选择任何一个获胜概率均为1/3);玩家做出选择后,M会打开没有被选择的两个盒子中的一个空盒,此时M 会询问玩家是否更改选择(可以坚持第一次选择,也可以选择另一个没有打开的盒子),下列叙述正确的有()。

A.改选后,玩家获胜的概率还是1/3

B.若不改选,玩家的获胜概率是1/2

C.无论怎么选择,获胜的概率都是1/2

D.坚持原来的选择获胜概率更高

E.选择另一个没有被打开的盒子获胜概率更高

F.获胜概率取决于随机因素(如小球的实际位置)

6.以下哪种方式,在读取磁盘上多个顺序数据块时的效率最高?

A.中断控制方式

B.DMA方式

C.通道方式

D.程序直接访问方式

E.循环检查I/O方式

F.以上访问方式都一样

7.下列不是进程间的通信方式的是()

A.管道

B.回调

C.共享内存

D.消息队列

E.socket

F.信号量

8.已知IBM的PowerPC是big-endian字节序列而Intel的X86是little-endian字节序,如果在地址啊存储的整形值时0x04030201,那么地址为a+3的字节内存储的值在PowerPC和Intel X86结构下的值分别是?

A.1 4

B.1 3

C.4 1

D.3 1

E.4 4

F.1 1

9.在TCP/IP建立连接过程中,客户端或服务器的状态转移说法错误的是?

A.经历SYN_RECV状态

B.经历SYN_SEND状态

C.经历ESTABLISHED状态

D.经历TIME_WAIT状态

E.服务器在收到syn包时将加入半连接队列

F.服务器收到客户端的ack包后将从半连接队列删除

10.已知一棵二叉树的先序和中序遍历序列如下:先序:A、B、

C、D、E、F、G、H、I,J中序:C、B、A、E、F、D、I、H、J、G

其后序遍历序列为:

A.C、B、D、E、A、G、I、H、J、F

B.C、B、D、A、E、G、I、H、J、F

C.C、E、D、B、I、J、H、G、F、A

D.C、E、D、B、I、H、J、G、F、A

E.C、B、F、E、I、J、H、G、D、A

F.C、B、F、E、I、H、J、G、D、A

11.设有三个元素A、B、C、D顺序进栈,在进栈过程中可以

出栈,出栈次序错误的排列是

A.ABCD

B.DCBA

C.ACBD

D.BCDA

E.ACDB

F.DCAB

12.问题描述:

#pragma pack(2) class BU

{

int number; union UBffer {

char buffer[13];

int number;

}ubuf;

void foo(){}

typedef char*(*f)(void*); enum{hdd,ssd,blueray}disk; }bu;

sizeof(bu)的值是()

A.20

B.21

C.22

D.23

E.24

F.非以上选项

13.同一个进程中的线程不共享的部分是()

A.信号

B.堆

C.文件描述符

D.进程组id

E.代码段

F.栈空间

14.下面关于系统调用的描述中,错误的是()

A.系统调用把应用程序的请求传输给系统内核执行

B.系统调用中被调用的过程运行在”用户态”中

C.利用系统调用能够得到操作系统提供的多种服务

D.是操作系统提供给编程人员的接口

E.系统调用给用户屏蔽了设备访问的细节

F.系统调用保护了一些只能在内核模式执行的操作指令

15. 在动态分区分配方案中,系统回收主存,合并空闲空间时需修改空闲区表,以下哪种情况空闲区会减1?

A.只要回收主存,空闲区数就会减一

B.空闲区数和主存回收无关

C.无上邻空闲区,也无下邻空闲区

D.有上邻空闲区,但无下邻空闲区

E.有下邻空闲区,但无上邻空闲区

F.有上邻空闲区,也有下邻空闲区

16.下面关于虚拟局域网VLAN的叙述错误的是()

A.VLAN是由局域网网段构成的与物理位置无关的逻辑组

B.利用以太网交换机可以很方便地实现VLAN

C.每一个VLAN的工作站可处在不同的局域网中

D.不同VLAN内的用户可以相互之间直接通信

E.vELAN可以强化网络安全和网络管理

F.VLAN能灵活控制广播活动

17.刚毕业的小王上班有两路公交车都可以从家到公司.如果只等A车,平均需要5分钟才等到;如果只等B车,平均需要7分钟才能等到.假定两辆车运行时间独立,那么小王平均需要等多长时间才能等到A车或B车?

A.2分钟

B.2分35秒

C.2分55秒

D.3分钟

E.5分钟

F.6分钟

18.一个黑色袋子中装有5个红球,5个蓝球,5个黄球,从中抽取三次,每次抽一个球,取完不放回,则每种颜色球各得一个的概率是()

A.1/5

B.1/4

C.1/3

D.12/91

E.20/91

F.25/91

19.

int* pint = 0;

pint += 6;

cout << pint << endl;

以上程序的运行结果是:

A.12

B.72

C.24

D.0

E.6

F.任意数

20.某种5号(AA)充电电池在充满电之后的电量是900毫安时和1100毫安时的可能性各为1/2。如果将将电池串联使用,常常会因为其中一部分电池先放电完毕,而且其它电池还有100毫安

时以上的电量时,引起先放完电的电池损坏。那么以下说法正确的是:

A.如果两节这样的电池串联使用,那么必然有1节电池会损坏。

B.如果有许多节这样的电池串联使用,则至少会有1节电池会损坏。

C.如果放电电量控制在900毫安时以内,则不会有电池损坏

D.当有2n节电池串联使用时,至多会有n节电池会损坏

E.当串联的电池个数是奇数时,不会有电池损坏。

F.电量少的电池一定会损坏。

21.下面哪种协议在数据链路层?

A.ARP

B.ICMP

C.FTP

D.UDP

E.HTTP

F.**

22.一组记录排序码为(5 11 7 2 3 17),则利用堆排序方法建立的初始堆为

A.(11 5 7 2 3 17)

B.(11 5 7 2 13 3)

C.(17 11 7 2 3 5)

D.(17 11 7 5 3 2)

E.(17 7 11 3 5 2)

F.(17 7 11 3 2 5)

23.甲乙丙三人是阿里巴巴开发人员,ABC三人是阿里巴巴测试人员,每个开发都有对应的测试人员。主管介绍说:“A对应的

开发是乙的好友,并在三个开发中最年轻;丙的年龄比C对应的开发大。”则开发和测试的对应关系为()。

A.甲-A,乙-B,丙-C

B.甲-A,乙-C,丙-B

C.甲-B,乙-A,丙-C

D.甲-B,乙-C,丙-A

E.甲-C,乙-A,丙-B

F.甲-C,乙-B,丙-A

24.某机器人可以说真话或者假话。某程序设定其周末(周六周日)说真话,周四说谎话,其他日期随机。某测试打算验证该功能。他连续七天,每天问机器人“你在哪里出生的?”,在前六天得到了这样的答案:阿里,淘宝,阿里,淘宝,天猫,淘宝。那么第七天,机器人的回答应该是()

A.阿里

B.淘宝

C.天猫

D.阿里或淘宝

E.阿里或天猫

F.天猫或淘宝

Question 1. (单选)

在60年代初石油危机的时候,美国总统肯尼迪要求美国石油公司不要将石油的价格提得太快,但是美国石油公司拒绝了肯尼迪的要求。因此,肯尼迪总统在记者招待会上说:“很久以前,我的父亲告诉我,所有的商人都是见钱眼开的……直到今天我才相信这是真的。”

肯尼迪总统的讲话是以下面哪项假设为前提的?

1. 美国的企业应该听从政府的指示。

2. 美国的企业完全与政府不相干。

3. 美国石油公司在石油危机时的提价措施使自己有利可图。

4. 美国的石油价格应该不受世界石油价格的影响。

Question 2. (单选)

我国多数企业完全缺乏“专利意识”。根据中国专利局最近对500家大中型企业专利工作的一次调查结果表明,在做科研或新产品规划时制定了专利计划的仅有27%。

下列各项如果为真,哪一个最能削弱上述观点?

1. 在被调查的500家企业以外,有一部分企业也制定了专利计划。

2. 一些企业不知道怎样制定专利计划。

3. “专利意识”和申请专利是两回事。

4. 没制定专利计划的企业不一定没有“专利意识”。

Question 3. (单选)

李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗。三遇店和花,喝光壶中酒。试问壶中原有多少酒?

1. 1/2斗。

2. 2/3斗。

3. 4.5斗。

4. 7/8斗。

Question 4. (单选)

有些教员也拥有了私人汽车,所有的大款都有私人汽车。因此,有些教员也是大款

以下哪个推理具有和上述推理最为类似的结构?

1. 有些有神论者是佛教徒,所有的基督教徒都不是佛教徒。

因此,有些有神论者不是基督教徒。

2. 有些南方人爱吃辣椒,所有的南方人都习惯吃大米,因此,有些习惯吃大米的人爱吃辣椒。

3. 有些进口货是假货,所有国内组装的1PR空调机的半成品

都是进口货。因此,有些1PR空调机半成品是假货。

阿里巴巴笔试题(南京站,20011年9月)

阿里巴巴笔试题目(20011.9) 技术类笔试试题(卷一)卷一:Java开发、测试工程师(25题) 技术类笔试试题(卷二)卷二:搜索研发、 C++(25题) 1. 20个阿里巴巴B2B技术部的员工被安排为4排,每排5个人,我们 任意选其中4人送给他们一人一本《effective c++》,那么我们 选出的4人都在不同排的概率为: A.5^4*5!*15!/20! B. 4^5*5!*15!/20! C. 5^4*4!*16!/20! D. 4^5*4!*16!/20! 2. 若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行的关键字依次为: A.f,c,b B.f,d,b C.g,c,b D.g,d,b 3. perl里面声明:open(FILE, mode,file); 操作的描述,下列哪项不正确? A. FILE可以用变量$file来代替 B. mode可以和file写在一起,例如:open(FILE, ‘>file’) C. mode为+<的时候,只可以读文件,不能写文件 D. mode可以省略不写 4. 有一虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页 A.7 B.8

C.9 D.10 5. 设有一个顺序栈S,元素s1,s2,s3,s4,s5, s6依次进栈,如果六个元素的出栈顺序为s2,s3,s4,s6,s5,s1,则顺序栈的容量至少应为多少 A.2 B.3 C.4 D.5 6. 下列关于文件索引结构的叙述中,哪一个是错误的? A. 采用索引结构,逻辑上连续的文件存放在连续的物理块中 B. 系统为每个文件建立一张索引表 C. 索引结构的优点是访问速度快,文件长度可以动态变化 D. 索引结构的缺点是存储开销大 7. 在ASC算法team日常开发中,常常面临一些数据结构的抉择,令人纠结。目前大家在策划一个FBI项目(Fast Binary Indexing),其中用到的词汇有6200条,词汇长度在10-15之间,词汇字符是英文字母,区分大小写。请在下面几个数据结构中选择一个使检索速度最快的: A. 二叉搜索树,比较函数开销:1次运算/每字符 B. 哈希表,hash算法开销:10次运算/每字符 C. 链表,比较函数开销:1次运算/每字符 D. TRIE树,寻找子节点开销:1次运算/每字符 8. [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] 9. 某页式存储管理系统中,地址寄存器长度为24位,其中页号为14位,则主存的分块大小是()字节。 A.10 B.2^10

阿里巴巴实习生笔试题含答案

阿里巴巴实习生笔试题含答案

答案:D 内联函数: Tip:只有当函数只有10 行甚至更少时才将其定义为内联函数. 定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按一般的函数调用机制进行调用. 优点: 当函数体比较小的时候, 内联该函数能够令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联. 缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数一般会减少代码大小, 但内联一个相当大的函数将戏剧性的增加代码

大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。 结论: 一个较为合理的经验准则是, 不要内联超过10 行的函数. 谨慎对待析构函数, 析构函数往往比其表面看起来要更长, 因为有隐含的成员和基类析构函数被调用! 另一个实用的经验准则: 内联那些包含循环或switch 语句的函数常常是得不偿失(除非在大多数情况下, 这些循环或switch 语句从不被执行). 注意:有些函数即使声明为内联的也不一定会被编译器内联, 这点很重要; 比如虚函数和递归函数就不会被正常内联. 一般, 递归函数不应该声明成内联函数.(递归调用堆栈的展开并不像循环那么简单, 比如递归层数在编译时可能是未知的, 大多数编译器都不支持内联递归函数). 虚函数内联的主要原因则是想把它的函数体放在类定义内, 为了图个方便, 抑或是当作文档描述其行为, 比如精短的存取函数. -inl.h文件: Tip:复杂的内联函数的定义, 应放在后缀名为-inl.h 的头文件中.

阿里巴巴笔试题+解析(完整)

阿里巴巴面试题 1、 20个阿里巴巴B2B技术部的员工被安排为4排,每排5个人,我们任意选其中4人送给他们一人一本《effective c++》,那么我们选出的4人都在不同排的概率为: A、 5^4*5!*15!/20! B、 4^5*5!*15!/20! C、 5^4*4!*16!/20! D、 4^5*4!*16!/20! 2、若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行的关键字依次为: A、f,c,b B、f,d,b C、g,c,b D、g,d,b 3、 perl里面声明:open(FILE,mode,file); 操作的描述,下列哪项不正确? A、 FILE可以用变量$file来代替 B、 mode可以和file写在一起,例如:open(FILE, ‘>file’) C、 mode为+<的时候,只可以读文件,不能写文件(既可以读也可以写) D、 mode可以省略不写 4、有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页? A、7 B、8 C、9 D、10 5、设有一个顺序栈S,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个元素的出栈顺序为s2、s3、s4、s 6、s5、s1,则顺序栈的容量至少应为多少? A、2 B、3 C、4 D、5 6、下列关于文件索引结构的叙述中,哪一个是错误的? A、采用索引结构,逻辑上连续的文件存放在连续的物理块中 B、系统为每个文件建立一张索引表 C、索引结构的优点是访问速度快,文件长度可以动态变化 D、索引结构的缺点是存储开销大 7、在ASC算法team日常开发中,常常面临一些数据结构的抉择,令人纠结。目前大家在策划一个FBI项目(Fast Binary Indexing),其中用到的词汇有6200条,词汇长度在10-15之间,词汇字符是英文字母,区分大小写。请在下面几个数据结构中选择一个使检索速度最快的: A、二叉搜索树,比较函数开销:1次运算/每字符 B、哈希表,hash算法开销:10次运算/每字符 C、链表,比较函数开销:1次运算/每字符 D、 TRIE树,寻找子节点开销:1次运算/每字符 8、【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】

2020阿里巴巴校园招聘阿里云C++笔试试题

阿里云C++ 1、(2分)1)请列出两个线程(或进程)死锁的三个必要条件 2)当异常(Exception)发生的时候,智能指针(SmartPointer)的析构函数是被谁调用的? 3)一般的台式机硬盘一次随机读写大约需要多少毫秒(0.1ms、1ms、10ms、100ms)? 4)除了应用程序的系统调用之外,LinuxKernel中的代码在什么情况下还有机会运行? 2、(1分)求下面函数的返回值。输入x的值为2012。 int func(int x) { int countx=0; while(x) { ++countx; x=x&(x-1); } return countx; } 3、(1分)一进程在执行时,如果按下列页号访问:1、2、3、 4、2、1、 5、 6、2、1、2、3、 7、6、3。进程占用4页物理内存,采用FIFO淘汰算法和LRU淘汰算法时,各产生多 少次缺页中断?分别写出使用两种方法时,依次被淘汰的页面号以及最后内存空间中剩余的页面。 4、(1分)写出下列程序的输出结果: #include using name space std; int main() { char *a=”Aliyun”; char **b=&a; *b=”programming test”; char *c=++a; a=”talents.”; return printf(“%c\n,*++c); } 5、(1分)连接A、B两地的公路长240km,现各有一列汽车分别从两地出发相向而行,各自保持匀速50km/h和30km/h。有一鸟儿也和A地的汽车一起从A地出发,以65km/h的速度沿公路朝B地飞行;当它遇到B地的汽车的时候,折返往A飞;再遇到A地汽车的时候,折返往B飞;如此往返。请问当A、B两地出发的汽车相遇的时候,鸟儿飞行了多少km? 6、(1分)一个骰子有6个面,分别是1个1、2个2、3个3。请问平均需要抛多少次骰子才能使1、2、3这三面都至少出现一次。

阿里巴巴笔试题答案

第一题选C,不解释吧,按位与就行 第二题选D,不解释,2*3*sizeof(int*)=48(64位机器上是8字节一个指针) 第三题选C,我不确定,不过,应该是的 第四题选D,明显考的是补码 第5题选D,果断访问错误(这是Java的代码) 第6题选B,大家都懂 第7题果断A啊 第8题果断是B,不解释,大家懂 第9题是B,’0’不是’\0’,这个要注意 第10题果断是Fibonacci,显然是C,前几个是0,1,2,3,5,8,13,21 第11题选B,计算量是2^35,现在计算机的主频是2^30,所以差不多是几秒的事 第12题是B,显然有n=4N1+3N3+2N2+N1+1=N4+n3+n2+n1,所以N0=82,不解释 第13题果断是D,这个老题目了,不解释 第14题是C,二分查找嘛,大家都会,不解释 第15题是Fulkerson算法,算出来是46,每一次选一个增广路径即可,直接选不出来为止 第16题选185,显然,它给了120块钱(楼主二了)和一个物品(值65元),所以亏损185 这个题目楼主是这样想的,结果二了 第17题是2,不解释Fermart小定理,2^6 mod 7= 1,所以2^100=2^4=16=2 mod 7 第18题,我觉得是B,不知道对不对,这个不会 第19题,算得不太精细,选了A,不确定。 第20题C,概率与级数运算,不解释 第21题,果断B,D,malloc,new申请到的是Virtual Memory,不过,windows里面还真可以申请到物理内存,用的是VirtualAllocEx API即可

第22题B,C肯定对,D不确定,感觉是对的,不过,没敢选 第23题,其实就是解n^14<10^16,解出n<= 13,所以选14,15(我是推出n<10^(8/7)然后算出n<=13 第24题,D,因为选出第一个是白的,所以位于A的概率是2/3 第25,不可能,需要2.8*10^8 bit,而蓝牙只能传2.4*10^7bit所以一帧需要0.2S 第26题(mnlogn)不解释,归并而已 第27题显然是17分钟 第28,错两个地方1,没考虑只有一个数,2,可能死循环(给你数组0,2,3让查找1)楼主两个都想到了,写的时候忘记了写1,悲剧 第29题,果断SkipList,地球人懂的O(PLogpN)

阿里巴巴2014秋季校园招聘-软件研发工程师笔试题

阿里巴巴2014秋季校园招聘-软件研发工程师笔试题 2013-09-21 22:381089人阅读评论(4)收藏举报 校园招聘阿里巴巴软件研发算法百度 1. 单选题 1. 假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: h(K)=(K+rand(N)) mod N, rand(N)返回0到N-1的整数 答案:D 2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是: A: 堆排序B:插入排序 C: 冒泡排序D:快速排序 答案:A(插入排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O (n^2) 冒泡排序:最优时间复杂度O(n)最差时间复杂度O(n^2)平均时间复杂度O(n^2) 快速排序:最优时间复杂度O(nlogn)最差时间复杂度O(n^2)平均时间复杂度O(nlogn) 堆排序:最优时间复杂度O(nlogn)最差时间复杂度O(nlogn)平均时间复杂度O(nlogn)) 3. 下面说法错误的是: A: CISC计算机比RISC计算机指令多 B: 在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增

加寻址空间 C:增加流水线段数理论上可以提高CPU频率 D:冯诺依曼体系结构的主要特征是存储程序的工作方式 答案:B 4. 不属于冯诺依曼体系结构必要组成部分是: A:CPU B: Cache C:RAM D:ROM 答案:B 5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是: A:DECBA B:DCEBA C:ECDBA D:ABCDE 答案:C 6.你认为可以完成编写一个C语言编译器的语言是: A:汇编B:C语言C:VB D:以上全可以 答案:D 7. 关于C++/JAVA类中的static成员和对象成员的说法正确的是:A:static成员变量在对象构造时候生成 B: static成员函数在对象成员函数中无法调用 C: 虚成员函数不可能是static成员函数 D: static成员函数不能访问static成员变量 答案:A 8:

阿里巴巴校园招聘笔试题及参考答案

阿里巴巴的Oracle DBA笔试题及参考答案- 数据库基本概念类 1:pctused and pctfree 表示什么含义有什么作用 pctused与pctfree控制数据块是否出现在freelist中, pctfree控制数据块中保留用于update的空间,当数据块中的free space小于pctfree设置的空间时, 该数据块从freelist中去掉,当块由于dml操作free space大于pct_used设置的空间时,该数据库块将 被添加在freelist链表中。 2:简单描述table / segment / extent / block之间的关系 table创建时,默认创建了一个data segment, 每个data segment含有min extents指定的extents数, 每个extent据据表空间的存储参数分配一定数量的blocks 3:描述tablespace和datafile之间的关系 一个tablespace可以有一个或多个datafile,每个datafile只能在一个tablespace内, table中的数据,通过hash算法分布在tablespace中的各个datafile中, tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。 4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点 本地管理表空间(Locally Managed Tablespace简称LMT) 8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。 字典管理表空间(Dictionary-Managed Tablespace简称DMT) 8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。 动段空间管理(ASSM), 它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组, 能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储本质,ASSM表空间上创建的段还有另外一个称呼叫Bitmap Managed Segments(BMB 段)。 5:回滚段的作用是什么 事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中, 当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。 事务恢复:当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。 读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。 当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性) 当ORACLE执行Select语句时,ORACLE依照当前的系统改变号(SYSTEM CHANGE NUMBER-SCN) 来保证任何前于当前SCN的未提交的改变不被该语句处理。可以想象:当一个长时间的查询正在执行时, 若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。 6:日志的作用是什么

阿里巴巴2017实习生笔试题(含答案)

答案:D 内联函数: Tip:只有当函数只有 10 行甚至更少时才将其定义为内联函数. 定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用. 优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联. 缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小, 但内联一个相当大的函数将戏剧性的增加代码大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。 结论: 一个较为合理的经验准则是, 不要内联超过 10 行的函数. 谨慎对待析构函数, 析构函数往往比其表面看起来要更长, 因为有隐含的成员和基类析构函数被调用! 另一个实用的经验准则: 内联那些包含循环或switch 语句的函数常常是得不偿失 (除非在大多数情况下, 这些循环或 switch 语句从不被执行). 注意:有些函数即使声明为内联的也不一定会被编译器内联, 这点很重要; 比如虚函数和递归函数就不会被正常内联. 通常, 递归函数不应该声明成内联函数.(递归调用堆栈的展开并不像循环那么简单, 比如递归层数在编译时可能是未知的, 大多数编译器都不支持内联递归函数). 虚函数内联的主要原因则是想把它的函数体放在类定义内, 为了图个方便, 抑或是当作文档描述其行为, 比如精短的存取函数.

-inl.h文件: Tip:复杂的内联函数的定义, 应放在后缀名为 -inl.h 的头文件中. 内联函数的定义必须放在头文件中, 编译器才能在调用点内联展开定义. 然而, 实现代码理论上应该放在 .cc 文件中, 我们不希望 .h 文件中有太多实现代码, 除非在可读性和性能上有明显优势. 如果内联函数的定义比较短小, 逻辑比较简单, 实现代码放在 .h 文件里没有任何问题. 比如, 存取函数的实现理所当然都应该放在类定义内. 出于编写者和调用者的方便, 较复 杂的内联函数也可以放到 .h 文件中, 如果你觉得这样会使头文件显得笨重, 也可以把它萃取到单独的-inl.h 中. 这样把实现和类定义分离开来, 当需要时包含对应的 -inl.h 即可。 A 项错误,因为使用inline 关键字的函数只是用户希望它成为内联函数,但编译器有 权忽略这个请求,比如:若此函数体太大,则不会把它作为内联函数展开的。 B 项错误,头文件中不仅要包含inline 函数的声明,而且必须包含定义,且在定义时 必须加上inline 。【关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用】 C 项错误,inline 函数可以定义在源文件中,但多个源文件中的同名inline 函数 的实现必须相同。一般把inline 函数的定义放在头文件中更加合适。 D 项正确,类内的成员函数,默认都是inline 的。【定义在类声明之中的成员函数将

产品类面试真题阿里笔试非技术岗

产品类面试真题 Q:你的互联网项目产品经历 Tips:具体小问题包括:①如何发现的需求?②如何开展项目?③产品有什么问题?④如何解决?⑤团队组成?如何分工?⑥担当角色发挥的作用?答:从产品定位、功能、解决 Q:说出你印象最深刻的项目? Tips:从项目内容,你在当中的作用,你的收获谈起。当中出现的问题、数据调查、运营手段、取得成果等角度来谈。之后面试官会从中问下实施细节,说的时候最好可以体现你在团队中的职务,取得的效果,从中的收获? Q:你觉得90后身上具备什么素质? A:首先,具备什么素质因人而异。但大部分90后,平均智商偏高(受到良好的教育);对新鲜事物的接受能力较强;乐天派,有激情,有活力。 Tips:这是一道考情商的题,不要说的太极端就好, Q:简单的谈谈你的实习经历? Tips:如果你做过产品相关工作,就谈这个,如果没有,就谈产品经理应该具备的一些能力所对应的经历。 Q:你对产品经理的理解 A1:产品经理是生孩子的,运营是养孩子的。是一个团队的粘合剂,将各个部门联系到一起。 A2:产品经理是一个非常典型的“门槛在里面”的岗位,看上去谁都能做,其实个体间能力的相差能够非常之大。个人觉得对这个问题的回答,很大程度上就决定了此次面试的结果,建议大家看一看《启示录:打造用户喜爱的产品》和《腾讯方法》这两本书以加深理解。 个人建议可以从这么几个方向入手:产品经理是做啥的、产品经理需要具备哪些能力、产品经理对于整个团队的重要性、产品经理的自我完善与成长路径、自身条件与产品经理职位需求的契合度。 Tips: ①我理解的PM需要具备:需求挖掘,数据分析,团队沟通,执行力等方面的能力~ ②为什么要做PM:从a自己的愿景、b能力与岗位的匹配、c提升能力,这三个角度回答问题。 做产品的大前提是要喜欢产品,不然将来你痛苦,团队痛苦,用户也痛苦,是不是?网络

阿里巴巴集团笔试题目

阿里巴巴集团笔试题目 下面是由应届毕业生网分享的题目 第一题、5亿个不重复的商品的ID(每一个商品的ID是64位),现在有一个存放了10亿个商品ID(商品的ID会有重复)的日志文件,请设计一种方法找出5亿个商品中没有出现在日志文件中的商品。假设所能使用的内存为2G。 [html] view plaincopyprint? 01.2G的文件只能存放2.5亿的商品ID,因为5亿商品大小为5*10*8B=4G。可以考虑将5亿商品ID哈希到四个文件中A[4]。然后将10亿个商品哈希到另外四个文件中B[4]。每次读入一个A文

件读入一个B文件,将B文件哈希到A文件中,A文件中的值为0的键值就是没有被日志文件包含的。但是日志文件分成四个之后,每一个的大小事2G无法一次性的读入,可以一次读一半或者分成8个文件。以上为博主的思路,欢迎各位指正。 2G的文件只能存放2.5亿的商品ID,因为5亿商品大小为5*10*8B=4G。可以考虑将5亿商品ID哈希到四个文件中A[4]。然后将10亿个商品哈希到另外四个文件中B[4]。每次读入一个A文件读入一个B文件,将B文件哈希到A文件中,A文件中的值为0的键值就是没有被日志文件包含的。但是日志文件分成四个之后,每一个的大小事2G无法一次性的读入,可以一次读一半或者分成8个文件。以上为博主的思路,欢迎各位指正。[cpp] view plaincopyprint? 01. 第二题、有一个词组的列表,list string wordlist={ a boy , hello word , small cat ,.......};有一个字符串string stringlist={ a boy can catch small cats }.

阿里巴巴笔试题

1.自我介绍 2.介绍一个你所做过的测试项目 3.bug状态的转换,及各状态转换执行人是谁 4.介绍软件测试流程 5.如果你和开发人员出现分歧怎么办 6.如果第二天就到交付日了,回归测试还没有执行完毕,你该怎么办? 7.你有女/男朋友么?你未来如何打算? 8.你还有什么要问我的问题么? 9.我是做功能测试的,功能测试比较枯燥,你怎么认为? 、要对语句A>1 OR B <= 3 测试……(不记得了)100%覆盖,至少要多少测试用例 2、典型的针对系统漏洞的Dos攻击? 3、4,2,2,3,6,15,(?)A,20 B,24 C,25 D,45 4、3升,5升,7升量筒,已知3、5量筒装满水,7量筒为空,问至少要倒多少次才能使其中一个量筒的水为4升 5、太长了 6、太长了 7、保护邮件安全的软件? 8、普通用户执行超级用户文件的指令 9、软件测试对象 10、软件缺陷生命期 11、OPENAPI平台 12、超长字符串攻击属于? 13、项目的最重要的是()和() 14、可能引起Cross Site Scripting攻击的是? 15、马可夫模型(HMM)的三个基础?(非选择) 16、有序集合a, b,求交集(非选择) 转载请注明出自应届生求职招聘论坛https://www.wendangku.net/doc/919391054.html,/,本贴地址:https://www.wendangku.net/doc/919391054.html,/thread-33014-1-1.html DBA笔试题 一:SQL tuning 类 1 列举几种表连接方式 等连接、非等连接、自连接、外连接(左、右、全)

2 不借助第三方工具,怎样查看sql的执行计划 I) 使用Explain Plan,查询PLAN_TABLE; EXPLAIN PLAN SET STA TEMENT_ID='QUERY1' FOR SELECT * FROM a WHERE aa=1; SELECT operation, options, object_name, object_type, ID, parent_id FROM plan_table WHERE STA TEMENT_ID = 'QUERY1' ORDER BY ID; II)SQLPLUS中的SET TRACE 即可看到Execution Plan Statistics SET AUTOTRACE ON; 3:如何使用CBO,CBO与RULE的区别 IF 初始化参数OPTIMIZER_MODE = CHOOSE THEN --(8I DEFAULT) IF 做过表分析 THEN 优化器Optimizer=CBO(COST); /*高效*/ ELSE 优化器Optimizer=RBO(RULE); /*高效*/ END IF; END IF; 区别: RBO根据规则选择最佳执行路径来运行查询。 CBO根据表统计找到最低成本的访问数据的方法确定执行计划。 使用CBO需要注意: I) 需要经常对表进行ANALYZE命令进行分析统计; II) 需要稳定执行计划; III)需要使用提示(Hint); 使用RULE需要注意: I) 选择最有效率的表名顺序 II) 优化SQL的写法; 4 如何定位重要(消耗资源多)的SQL 使用CPU多的用户session SELECT a.SID, spid, status, SUBSTR (a.program, 1, 40) prog, a.terminal,a.SQL_TEXT, osuser, V ALUE / 60 / 100 V ALUE FROM v$session a, v$process b, v$sesstat c WHERE c.statistic# = 12 AND c.SID = a.SID AND a.paddr = b.addr ORDER BY V ALUE DESC; 5 如何跟踪某个session的SQL 利用TRACE 跟踪 ALTER SESSION SET SQLTRACE ON; COLUMN SQL format a200; SELECT machine, sql_text SQL

阿里巴巴Oracle-DBA笔试题及答案

一:SQL tuning 类 1:列举几种表连接方式 hash join/merge join/nest loop(cluster join)/index join 2:不借助第三方工具,怎样查看sql的执行计划 set autot on explain plan set statement_id = &item_id for &sql; select * from table(dbms_xplan.display); https://www.wendangku.net/doc/919391054.html,/docs/cd/B14117_01/server.101/b10752/ex_plan.htm 3:如何使用CBO,CBO与RULE的区别 在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择CBO,否则选RBO。 RBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目, 然后选择最佳级别(最少的数量)的执行路径来运行查询。 CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算 使用不同 的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。 4:如何定位重要(消耗资源多)的SQL select sql_text from v$sql where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000); 5:如何跟踪某个session的SQL exec dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace); select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1); exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,''); 6:SQL调整最关注的是什么 查看该SQL的response time(db block gets/consistent gets/physical reads/sorts (disk)) 7:说说你对索引的认识(索引的结构、对dml影响、为什么提高查询性能) b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,会降低insert的速度, 8:使用索引查询一定能提高查询的性能吗?为什么 索引就是为了提高查询性能而存在的,

2015阿里巴巴秋招市场营销专员在线笔试题

2015阿里巴巴秋招市场营销专员在线笔试题 1、A general told his soldiers, “In the battlefield, heroes are judged on results. You’re either a winner or a loser between two embattled forces. You’re written down in history either as a winner who takes all, or a loser who is standing small. In history books, all the winners are legitimized and justified, so losers are often demonized or criminalized. “ To be proven, the general’s argument has to be supported by which of the following hypothesis? A、In history books, forces considered good and legitimate always win the battle B、uthors of history books have accurate measure of who are good and who are evil C、Those who are good and legitimate in history books are not necessarily truly good and legitimate D、Even in history books, the result of a war is not the only measure for good and evil In history books, those who win are considered good and legitimate 2、某公司市场部共有8名工作人员。 (1)有人会photoshop; (2)有人不会photoshop; (3)市场部主管不会photoshop。这三个命题中只有一个是真的,以下哪项正确地表示了该市场部会使用photoshop的人数?()。 A、8人都会使用 B、8人没人会使用 C、仅有一人会使用 D、不能确定 3、开拓新市场往往比维护已有市场更重要,因为维护已有市场也许是维持已有的市场营销动作而已。而开拓新市场,则需要有创造性和想象力,而且标志着业务的真正进步。据此可知_____。 A、开拓新市场比维护已有市场更难 B、善于开拓新市场的人更善于维护已有市场 C、只有开拓新市场才标志业务的进步 D、缺乏创造性的想象力的人不善于开拓新市场 4、以下哪一个选项不属于营销的目的_____。 A、让受众感知到产品的差异化 B、让受众产生冲动使用我们的产品 C、让受众替我们主动口碑传播 D、让受众替我们打击竞争对手 5、以下哪一项不属于品牌定位的要素_______。 A、符号和权威基础 B、功能利益 C、情感和个性 D、品牌影响力 6、请将下文翻译成英语:不好的建议以及一些陈词滥调式的观点,看似会让人轻松和上进,但其实很凶险。它导致的结果就是我们会花很多时间去清算我们究竟工作了多长时间、我们又为公司做了多少贡献。同样,它还会让一部分给不断给自己施压,要求自己一定要按照“偶像”的路来走,很傻很天真的相信牛人就应该是这样的。这些经验可以供参考,但不要让它们成为你的行事准则。 7、为了降低新用户的获取成本,一个APP计划改变向推广商购买的单个用户获取单价。如果每天获取的新用户在100以内,则单价为0.5美元;如果每天获取的新用户超过100,则单价为0.8美元。之前是如果每天获取的新用户在200以内,则单价为0.6美元;如果每天获取的新用户超过200,则单价为0.7美元。 A、这个APP每天从推广商获得的新用户数量很少超过100个

阿里巴巴2017实习生笔试题(含答案)

答案:D 联函数: Tip:只有当函数只有 10 行甚至更少时才将其定义为联函数. 定义: 当函数被声明为联函数之后, 编译器会将其联展开, 而不是按通常的函数调用机制进行调用. 优点: 当函数体比较小的时候, 联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用联. 缺点: 滥用联将导致程序变慢. 联可能使目标代码量或增或减, 这取决于联函数的大小. 联非常短小的存取函数通常会减少代码大小, 但联一个相当大的函数将戏剧性的增加代码大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。 结论: 一个较为合理的经验准则是, 不要联超过 10 行的函数. 谨慎对待析构函数, 析构函数往往比其表面看起来要更长, 因为有隐含的成员和基类析构函数被调用! 另一个实用的经验准则: 联那些包含循环或 switch 语句的函数常常是得不偿失 (除非在大多数情况下, 这些循环或 switch 语句从不被执行). 注意:有些函数即使声明为联的也不一定会被编译器联, 这点很重要; 比如虚函数和递归函数就不会被正常联. 通常, 递归函数不应该声明成联函数.(递归调用堆栈的展开并不像循环那么简单, 比如递归层数在编译时可能是未知的, 大多数编译器都不支持联递归函数). 虚函数联的主要原因则是想把它的函数体放在类定义, 为了图个方便, 抑或是当作文档描述其行为, 比如精短的存取函数. -inl.h文件: Tip:复杂的联函数的定义, 应放在后缀名为 -inl.h 的头文件中. 联函数的定义必须放在头文件中, 编译器才能在调用点联展开定义. 然而, 实现代码理论上应该放在 .cc 文件中, 我们不希望 .h 文件中有太多实现代码, 除非在可读性和性能上有明显优势. 如果联函数的定义比较短小, 逻辑比较简单, 实现代码放在 .h 文件里没有任何问题. 比如, 存取函数的实现理所当然都应该放在类定义. 出于编写者和调用者的方便, 较复杂的

阿里巴巴笔试题练习题笔试题目及答案

阿里巴巴笔试题练习题 阿里巴巴笔试题练习题 想要进入阿里巴巴的朋友,你们做过他们公司的笔试题目吗?下面是YJBYS小编整理的阿里巴巴笔试题练习题,欢迎大家阅读! 阿里巴巴笔试题练习题【1】 1.下面哪一个不是动态链接库的优点? A.共享 B.装载速度快 C.开发模式好 D.减少页面交换 2.n个数值选出最大m个数(3 A.O(n) B.O(nlogn) C.O(logn) D.O(mlogn) E.O(nlogm)

F.O(mn) 3.由权值分别为1、12、13、4、8的叶子节点生成一颗哈夫曼树,它的带权路径长度为() A.12 B.68 C.43 D.6 E.25 F.81 4.阿里巴巴国际站的股票代码是1688,这个数字具有这样的特性,首先是个首位为1的4位数,其次恰巧有且仅有1个数字出现了两次。类似的数字还有:1861,1668等。这样的数字一共有()个。 A.144 B.180 C.216 D.270 E.288

F.432 5.工程师M发明了一种游戏:M将一个小球随机放入完全相同的三个盒子中的某一个,玩家选中装有球的盒子即获胜;开始时M会让玩家选择一个盒子(选择任何一个获胜概率均为1/3);玩家做出选择后,M会打开没有被选择的两个盒子中的一个空盒,此时M会询问玩家是否更改选择(可以坚持第一次选择,也可以选择另一个没有打开的盒子),下列叙述正确的有()。 A.改选后,玩家获胜的概率还是1/3 B.若不改选,玩家的获胜概率是1/2 C.无论怎么选择,获胜的概率都是1/2 D.坚持原来的选择获胜概率更高 E.选择另一个没有被打开的盒子获胜概率更高 F.获胜概率取决于随机因素(如小球的实际位置) 6.以下哪种方式,在读取磁盘上多个顺序数据块时的效率最高? A.中断控制方式 B.DMA方式 C.通道方式 D.程序直接访问方式

阿里巴巴2017实习生笔试题

阿里巴巴2017实习生笔试题 1.下面哪一个不是动态链接库的优点? A.共享 B.装载速度快 C.开发模式好 D.减少页面交换 2.n个数值选出最大m个数(3 A.O(n) B.O(nlogn) C.O(logn) D.O(mlogn) E.O(nlogm) F.O(mn) 3.由权值分别为1、12、13、4、8的叶子节点生成一颗哈夫曼

树,它的带权路径长度为() A.12 B.68 C.43 D.6 E.25 F.81 4.阿里巴巴国际站的股票代码是1688,这个数字具有这样的特性,首先是个首位为1的4位数,其次恰巧有且仅有1个数字出现了两次。类似的数字还有:1861,1668等。这样的数字一共有()个。 A.144 B.180 C.216 D.270 E.288

F.432 5.工程师M发明了一种游戏:M将一个小球随机放入完全相同的三个盒子中的某一个,玩家选中装有球的盒子即获胜;开始时M会让玩家选择一个盒子(选择任何一个获胜概率均为1/3);玩家做出选择后,M会打开没有被选择的两个盒子中的一个空盒,此时M会询问玩家是否更改选择(可以坚持第一次选择,也可以选择另一个没有打开的盒子),下列叙述正确的有()。 A.改选后,玩家获胜的概率还是1/3 B.若不改选,玩家的获胜概率是1/2 C.无论怎么选择,获胜的概率都是1/2 D.坚持原来的选择获胜概率更高 E.选择另一个没有被打开的盒子获胜概率更高 F.获胜概率取决于随机因素(如小球的实际位置) 6.以下哪种方式,在读取磁盘上多个顺序数据块时的效率最高? A.中断控制方式

B.DMA方式 C.通道方式 D.程序直接访问方式 E.循环检查I/O方式 F.以上访问方式都一样 7.下列不是进程间的通信方式的是() A.管道 B.回调 C.共享内存 D.消息队列 E.socket F.信号量 8.已知IBM的PowerPC是big-endian字节序列而Intel的X86是little-endian字节序,如果在地址啊存储的整形值时0x04030201,那么地址为a+3的字节内存储的值在PowerPC和Intel X86结构下

阿里巴巴2017年度实习生笔试题(含答案解析)

答案:D 内联函数: Tip:只有当函数只有10 行甚至更少时才将其定义为内联函数. 定义: 当函数被声明为内联函数之后, 编译器会将其内联展开, 而不是按通常的函数调用机制进行调用. 优点: 当函数体比较小的时候, 内联该函数可以令目标代码更加高效. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联. 缺点: 滥用内联将导致程序变慢. 内联可能使目标代码量或增或减, 这取决于内联函数的大小. 内联非常短小的存取函数通常会减少代码大小, 但内联一个相当大的函数将戏剧性的增加代码大小. 现代处理器由于更好的利用了指令缓存, 小巧的代码往往执行更快。 结论: 一个较为合理的经验准则是, 不要内联超过10 行的函数. 谨慎对待析构函数, 析构函数往往比其表面看起来要更长, 因为有隐含的成员和基类析构函数被调用! 另一个实用的经验准则: 内联那些包含循环或switch 语句的函数常常是得不偿失(除非在大多数情况下, 这些循环或switch 语句从不被执行). 注意:有些函数即使声明为内联的也不一定会被编译器内联, 这点很重要; 比如虚函数和递

归函数就不会被正常内联. 通常, 递归函数不应该声明成内联函数.(递归调用堆栈的展开并不像循环那么简单, 比如递归层数在编译时可能是未知的, 大多数编译器都不支持内联递归函数). 虚函数内联的主要原因则是想把它的函数体放在类定义内, 为了图个方便, 抑或是当作文档描述其行为, 比如精短的存取函数. -inl.h文件: Tip:复杂的内联函数的定义, 应放在后缀名为-inl.h 的头文件中. 内联函数的定义必须放在头文件中, 编译器才能在调用点内联展开定义. 然而, 实现代码理论上应该放在 .cc 文件中, 我们不希望 .h 文件中有太多实现代码, 除非在可读性和性能上有明显优势. 如果内联函数的定义比较短小, 逻辑比较简单, 实现代码放在 .h 文件里没有任何问题. 比如, 存取函数的实现理所当然都应该放在类定义内. 出于编写者和调用者的方便, 较复杂的内联函数也可以放到 .h 文件中, 如果你觉得这样会使头文件显得笨重, 也可以把它萃取到单独的-inl.h 中. 这样把实现和类定义分离开来, 当需要时包含对应的-inl.h 即可。 A 项错误,因为使用 inline 关键字的函数只是用户希望它成为内联函数,但编译器有权忽 略这个请求,比如:若此函数体太大,则不会把它作为内联函数展开的。 B 项错误,头文件中不仅要包含 inline 函数的声明,而且必须包含定义,且在定义时必须 加上 inline 。【关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将 inline 放在函数声明前面不起任何作用】 C 项错误, inline 函数可以定义在源文件中,但多个源文件中的同名 inline 函数的实现必 须相同。一般把 inline 函数的定义放在头文件中更加合适。 D 项正确,类内的成员函数,默认都是 inline 的。【定义在类声明之中的成员函数将自动 地成为内联函数】

相关文档
相关文档 最新文档