阿里巴巴笔试题库

阿里巴巴笔试题库

【范文精选】阿里巴巴笔试题库

【范文大全】阿里巴巴笔试题库

【专家解析】阿里巴巴笔试题库

【优秀范文】阿里巴巴笔试题库

范文一:阿里巴巴笔试题

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

原文地址:http://fanwen.wenku1.com/article/21759504.html
http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

http://www.tanhui.org.cn/

范文二:阿里巴巴笔试题目

阿里巴巴笔试题

分类: 面试珠玑2011-10-25 11:05172人阅读评论(4)收藏举报

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

A、不确定

B、n-i+1

C、i

D、n-i

16、下列代码编译时会产生错误的是()

 #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位机器上,下列代码中

 #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

sizeof(3)

范文三:阿里巴巴笔试题

下列不属于hash碰撞解决方法是______。

线性探测

单旋转法@

二次探测

拉链法

双重散列

多重散列

在32位操作系统中,下列类型占用8个字符的为______。

short int

int C long

unsigned int

long long@

char

int

下列C代码中,不属于未定义行为的有:______。

int i=0; i=(i++);

char *p="hello"; p[1]='E';

char *p="hello"; char ch=*p++;

int i=0; printf("%d %d\n",i++,i--);

都是未定义行为

都不是未定义行为@

每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。通过5台物理机虚拟出100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是:______?

单台虚拟机的故障率高于单台物理机的故障率。

这100台虚拟机发生故障是彼此独立的。

这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数。

无法判断这100台虚拟机和100台物理机哪个更可靠。

如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同。

可能有一段时间只有1台虚拟机发生故障。

有4个进程A、B、C、D,设它们依次进入就绪队列,因相差时间很短可视为同时到达。4个进程按轮转法分别运行11,7,2和4个时间单位,设时间片为1。四个进程的平均周转时间为______。

15.25

16.25

16.75 @

17.25

17.75

18.25

已知一个二叉树的前序遍历结果是(ACDEFHGB),中序遍历结果是(DECAHFBG),请问后序遍历结果是______。

HGFEDCBA

EDCHBGFA

BGFHEDCA

EDCBGHFA

BEGHDFCA

BGHFEDCA

在小端序的机器中,如果

union X{

int x;

char y[4];

};

如果:

X a;

a.x=0x11223344;//16进制

则:______

a.y[0]=11

a.y[1]=11

a.y[2]=11

a.y[3]=11

a.y[0]=22

a.y[3]=22

使用一辆卡车运输n块单块1TB装满数据的硬盘,以时速80km/h行驶1000km将数据运送到目的地;卡车至少运送______块硬盘才能使传输速率超

1000Gbps。

2000

3000

4000

5000

6000

7000

若路由器接收的IP报文的目的地址不是路由器的接口IP地址,并且未匹配的路由项,则采取的策略是______。

丢掉该分组@

将该分组分片

转发该分组

将分组转发或分片

将分组保留存储

以上都有可能

下列方法中,______不可以用来程序调优 ?

改善数据访问方式以提升缓存命中率

使用多线程的方式提高I/O密集型操作的效率

利用数据库连接池替代直接的数据库访问

使用迭代替代递归

合并多个远程调用批量发送

共享冗余数据提高访问效率

下面的函数中哪个是系统调用而不是库函数______?

printf

scanf

fgetc

read@

print_s

scan_s

H同学每天乘公交上学,早上睡过头或遇到堵车都会迟到;H早上睡过头概率为0.2,路上遇到堵车概率为0.5;若某天早上H迟到了,那么以下推测正确的有______。

今天H早上睡过头了

今天H早上睡过头的概率为0.2

今天H早上睡过头的概率大于0.2

今天H早上遇到堵车了

今天H早上遇到堵车的概率为0.5

今天H早上遇到堵车的概率小于0.5

甲乙两路发车间隔均为10分钟的公交车发车时刻分钟数个位分别为1和9,那么对于一个随机到达的乘客,ta乘坐甲车的概率为:

0.1

0.2

0.3

0.4

0.5

0.9

对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的结果出来之前,没人知道对方是鸽子策略还是鹰策略。那么以下说法正确的是:______?

如果选择鸽子策略的人多于2/3,那么你应该选择鸽子策略。

如果选择鸽子策略的人少于1/3,那么你应该选择鸽子策略。

选择鸽子策略的人越多,你越应该选择鸽子策略。@

如果选择鹰策略的人多于2/3,那么你应该选择鹰策略。

如果选择鹰策略的人少于1/3,那么你应该选择鸽子策略。

以上结论都不对。

19:36:09

村长”带着5对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。那么5对父子在圆桌上共有______种坐法。(旋转一下,每个人面对的方向变更后算是一种新的坐法)

960

3120

2400

7200

7440

9600

下列描述中,唯一错误的是______。

本题有五个选项是正确的

B正确

D正确

DEF都正确

ABC中有一个错误

如果ABCDE都正确,那么F也正

附加题

1、

写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。

答案1、nt min,max=0;

//初始化min,max

void init(BT *bt){

//初始化min,max

if(head!=NULL){

min = head->data;

max = min;

}

}

//用于计算最大最小值差的函数

//函数返回最大最小值差的绝对值

int find(BT *bt){

BT *head = bt;

//中序遍历,并求得最大、最小值

while(head!=NULL){

find(head-lchild);

if(min>head->data){

min = head->data;

}

if(maxdata){

max = head->data;

}

find(head->rchild);

}

return (max-min);

}

答案2#include

#include

#include

#include

typedef struct TREE_NODE

{

int value;

struct TREE_NODE *left;

struct TREE_NODE *right;

}TreeNode;

static TreeNode *tree;

void

insert(int value)

{

TreeNode *current;

TreeNode **link;

link = &tree;

while((current = *link) != NULL){

if(value value)

link = ¤t->left;

else{

assert(value != current->value);

link = ¤t->right;

}

}

current = (TreeNode *)malloc(sizeof(TreeNode));

assert(current != NULL);

current->value = value;

current->left = NULL;

current->right = NULL;

*link = current;

}

int

main(void)

{

int i;

int value;

for(i = 0; i

{

printf("input the %d value:",i+1);

scanf("%d",&value);

getchar();

insert(value);

}

TreeNode *leftnode = tree;

while(leftnode->left != NULL)

{

leftnode = leftnode->left;

}

int small = leftnode->value;

TreeNode *rightnode = tree;

while(rightnode->right != NULL)

{

rightnode = rightnode->right;

}

int max = rightnode->value;

printf("%d\n",max-small);

return 0;

}

2、测试类

如果让你来测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?我们假设淘宝网的搜索入口页面如下图所示:

图片:淘宝首页搜素系统

答案:1、文字测试——此搜索系统文字可以看做软件文档,可以用测试文档的方法进行测试,检查术语,内容,准确度,特别是可能过期的产品,例如(1)输入的文字内容:衣服,食品等;(2)文字的输入法:中文,英文等

2、链接测试——它是在界面之间进行切换和指导用户去一些未知页面,分为3个方面:(1)测试所有链接是否按指示的那样确实链接到了该链接的页面(2)测试所链接的页面是否存在(3)保证系统上没有孤立的页面,即没有链接指向该页面,例如:该系统有两个主要的链接:宝贝,店铺

3、图形测试——可以包括图形、按钮等,图形测试的内容有:(1)确保图形有明确的用途,图片的大小和质量也是一个重要的元素,一般采用JPG或GIF压缩

(3)检测所有的图片是否都正确载入和显示

4、动态内容测试——根据当前条件发生变化的文字和图形的测试,如:日期、时间、用户爱好、具体的用户操作等。

5、服务器性能和加载测试——每一次点击都要从系统的服务器下载数据到浏览器的计算机。

6、安全性测试——主要设计的内容有:(1)该系统是否有超时的限制(2)服务器端的脚本是否构成威胁,以及在服务器端放置好编辑脚本的问题 20:48:40

3、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。 答案:public class Main {

public static void main(String[] args) {

String query = "acbac";

String text = "acaccbabb";

l: for (int i = query.length(); i > 0 ; i--) {

for (int j = 0; j

if (text.contains(query.substring(j,i-j))) {

System.out.println(query.substring(j,i-j).length());

break l;

}

}

} } }

范文四:笔试真题——阿里巴巴

阿里巴巴软件测试笔试题

类型:软件测试|试题:55道试题(50道选择题,5道问答题)注意:答题过程如果您不提交答案,或者关闭浏览器退出,我们将不再允许您再次答题。谢谢!

一、单选题

1.在面向对象的系统中,系统责任的良好分配原则是

A、在类之间均匀分配

B、集中分配在少数控制类中

C、根据交互图的消息进行分配

D、根据个人喜好进行分配

2.intI=2;intx=(I++)+(I++)+(I++);执行结束后,X

A、6

B、7

C、8

D、9

3.char*p=”ab”;sizeof(*p)=()

A、1B、2C、3D、4

4.下列关于程序效率的描述错误的是

A、提高程序的执行速度可以提高程序的效率

B、降低程序占用的存储空间可以提高程序的效率的值是

C、源程序的效率与详细设计阶段确定的算法的效率无关

D、好的程序设计可以提高效率

5.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为

A、i/(1+F)n

B、F/(1+in)

C、F/in

D、F/(1+i)n

6.以下哪些类型的文件可以通过数字签名加载到IE?

A、.datB、.icoC、.exeD、.cab

7.在LINUX系统中,下列哪一个命令属于目录管理的常用命令?

A、pwdB、prC、lnD、find

8.如果互连的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的互连设备应该是

A、中继器B、网桥C、网卡D、路由器

9.LINUX下,解压缩文件的命令为?

A、tarzxvf文件名

B、unzip文件名

C、CAT文件名

D、VI文件名

10.以下关于TCP/IP传输层协议的描述中,错误的是

A、TCP/IP传输层定义了TCP和UDP两种协议

B、TCP协议是一种面向连接的协议

C、UDP协议是一种面向无连接的协议

D、UDP协议与TCP协议都能够支持可靠的字节流传输

11.关于因特网,以下哪种说法是错误的

A、用户利用HTTP协议使用Web服务

B、用户利用NNTP协议使用电子邮件服务

C、用户利用FTP协议使用文件传输服务

D、用户利用DNS协议适用域名解析

12.软件测试的对象包括()

1.目标程序和相关文档

2.源程序、目标程序、数据及相关文档

3.目标程序、操作系统和平台软件

4.源程序和目标程序

13.软件测试类型按开发阶段划分是()

A、需求测试、单元测试、集成测试、验证测试

B、单元测试、集成测试、确认测试、系统测试、验收测试

C、单元测试、集成测试、验证测试确认测试、验收测试

D、调试、单元测试、集成测试、用户测试

14.V模型指出,对程序设计进行验证

A、单元和集成测试

B、系统测试

C、验收测试和确认测试

D、验证测试

15.V模型指出,对系统设计进行验证

A、单元测试

B、集成测试

C、功能测试

D、系统测试

16.V模型指出,应当追朔到用户需求说明

A、代码测试

B、集成测试

C、验收测试

D、单元测试

17.以下哪种测试与其余三种测试在分类上不同

A、负载测试

B、强度测试

C、数据库容量测试

D、静态代码走查

18.白盒测试是()的测试

A、基于功能

B、基于代码

C、基于设计

D、基于需求文档

19.下列字符中,ASCII码值最小的是

A、a

B、A

C、x

D、Y

20.OSI(开放系统互联)参考模型的最低层是

A、传输层

B、网络层

C、物理层

D、应用层

21.计算机中,一个浮点数由两部分组成,它们是

A、阶码和尾数

B、基数和尾数

C、阶码和基数

D、整数和小数

22.存储400个24×24点阵汉字字形所需的存储容量是

A、255KB

B、75KB

C、37.5KB

D、28.125KB

23.用于保存计算机输入输出数据的材料及其制品称为

A、输入输出媒体

B、输入输出通道

C、输入输出接口

D、输入输出端口

24.下面是关于解释程序和编译程序的论述,其中正确的一条是

A、编译程序和解释程序均能产生目标程序

B、编译程序和解释程序均不能产生目标程序

C、编译程序能产生目标程序而解释程序则不能

D、编译程序不能产生目标程序而解释程序能

25.下面是与地址有关的四条论述,其中有错的一条是

A、地址寄存器是用来存储地址的寄存器

B、地址码是指令中给出源操作数地址或运算结果的目的地址的有关信息部分

C、地址总线上既可传送地址信息,也可传送控制信息和其他信息

D、地址总线上除传送地址信息外,不可以用于传输控制信息和其它信息

26.下列四个不同数制表示的数中,数值最大的是

A、二进制数11011101

B、八进制数334

C、十进制数219

D、十六进制数DA

27.当个人计算机以拨号方式接入Internet网时,必须使用的设备是

A、网卡

B、调制解调器(Modem)

C、电话机

D、浏览器软件

28.微机计算机硬件系统中最核心的部件是

A、主板

B、CPU

C、内存储器

D、I/O设备

29.为解决某一特定问题而设计的指令序列称为

A、文档

B、语言

C、程序

D、系统

30.下列关于系统软件的四条叙述中,正确的一条是

A、系统软件与具体应用领域无关

B、系统软件与具体硬件逻辑功能无关

C、系统软件是在应用软件基础上开发的

D、系统软件并不具体提供人机界面

31.微型计算机存储系统中,PROM是

A、可读写存储器

B、动态随机存取存储器

C、只读存储器

D、可编程只读存储器

32.下列几种存储器中,存取周期最短的是

A、内存储器

B、光盘存储器

C、硬盘存储器

D软件盘存储器

33.计算机能直接识别和执行的语言是

A、机器语言

B、高级语言

C、汇编语言

D、数据库语言

34.与十进制数254等值的二进制数是

A、11111110

B、11101111

C、11111011

D、11101110

35.下列术语中,属于显示器性能指标的是

A、速度B、可靠性C、分辨率D、精度

36.在计算机领域中通常用MIPS来描述

A、计算机的运算速度

B、计算机的可靠性

C、计算机的可运行性

D、计算机的可扩充性

37.在计算机网络中,表征数据传输可靠性的指标是

A、传输率B、误码率C、信息容量D、频带利用率

38.以下关于链式存储结构的叙述中哪一条是不正确的?

A、结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构

B、逻辑上相邻的结点物理上不必邻接

C、可以通过计算直接确定第i个结点的存储地址

D、插入、删除运算操作方便,不必移动结点

39.以下哪一个不是栈的基本运算

A、删除栈顶元素

B、删除栈底元素

C、判断栈是否为空

D、将栈置为空栈

40.以下关于广义表的叙述中,正确的是

A、广义表是0个或多个单元素或子表组成的有限序列

B、广义表至少有一个元素是子表

C、广义表不可以是自身的子表

D、广义表不能为空表

41.如果一棵二叉树结点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树结点的对称序序列

A、必为A、B、C

B、必为A、C、B

C、必为B、C、A

D、不能确定

42.在虚拟页式存储管理方案中,下面哪一部分完成将页面调入内存的工作?

A、缺页中断处理

B、页面淘汰过程

C、工作集模型应用

D、紧缩技术利用

43.在DOS系统中,用于记录和管理磁盘数据区使用情况的数据结构

A、位图表

B、空闲块表

C、文件分配表

D、文件控制块

44.PSP是?

A、团队软件过程

B、个体软件过程

C、过程改进过程

D、质量管理过程

45.在CMM模型中,对软件成熟度有以下5个级别,请从低到高排序a初始级:软件过程的特点是无秩序的,偶尔甚至是混乱的。几乎没有什么过程是经过定义的,成功依赖于个人的努力。

b优化级:

利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。

c已定义级:管理活动和工程活动两方面的软件过程均已文档化、标准化、并集成到组织的标准软件过程。

d已管理级:已采集详细的有关软件过程和产品质量的度量,无论软件过程还是产品均得到定量了解和控制。

e可重复级:已建立基本的项目管理过程去跟踪成本、进度和功能性。

二、多选题

1.下列关于alpha测试的描述中正确的是

A、alpha测试需要用户代表参加

B、alpha测试不需要用户代表参加

C、alpha测试是系统测试的一种

D、alpha测试是验收测试的一种

2.测试设计员的职责有

A、制定测试计划

B、设计测试用例

C、设计测试过程、脚本

D、评估测试活动

3.软件质量的定义

A、软件的功能性、可靠性、易用性、效率、可维护性、可移植性

B、满足规定用户需求的能力

C、最大限度达到用户满意

D、软件特性的总和,以及满足规定和潜在用户需求的能力

4.以下哪些过程能够提高软件质量?

A、可行性分析

B、需求评审

C、测试

D、代码走查

三、问答题

1.找出下列函数存在的问题?

char*_strdup(constchar*strSource)

{

staticcharstr[MAX_STR_LEN];

strcpy(str,strSource);

returnstr;

}

strSource为未知长度,若长度比str[MAX_STR_LEN]长,则会产生内存溢出。相当危险

2.写出恰当的SQL语句:Table1是学生登记表,包括学生ID,学生姓名,性别,学生班级等信息。Table2是学生情况表,包括学生ID,学生家庭住址等信息。请查询得到所有“姓张的女同学的家庭住址”,并按姓名的升序进行排列。

SelectB.学生家庭住址fromTable2B,Table1AwhereA.ID=B.IDandA.学生姓名like‘%张%’and性别=’女’;

3.请根据以下程序片段,设计最少的测试用例实现条件覆盖If((A>1)AND(B=0))ThenX=X/A

If((A=2)OR(X>1))ThenX=X+1

Printf(“X=%d

“,x)

语句覆盖:测试用例能使被测程序的每条执行语句至少执行一次a->b->c->dA=2,B=0,X=0得X=1

判定覆盖:测试用例能使被测程序中的每个判定至少取得一次“真”和一次“假”。

判定a与判定b均为真a->b->c->dA=2,B=0,X=0得X=1

判定a与判定b真为假a->cA=1,B=0,X=1得X=1

条件覆盖:测试用例能使被测程序中每个判定的每个条件至少取得一次“真”和一次“假”。如果判定中只有一个条件,则条件覆盖便满足判定判定覆盖。

A>1,B!=0;A=2,X

A1;1023

4.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。单元测试、集成测试、系统测试、验收测试、确认测试

5.请列出关于一个印有文字的水杯,你能想到的测试用例

(1)基本特性:

A、杯子的容量:能装多少升水,空杯,半杯,满杯

B、杯子的型状:圆型,上面口大,下面小。

C、杯子的材料:纸杯

D、杯子的抗摔能力:风吹是否会倒,摔一次是否会摔坏,摔多次是

否会摔坏

E、杯子的耐温性:装冷水,冰水,热水

(2)广告图案:

A、广告内容与图案碰水是否会掉色

B、广告内容与图案是否合法

C、广告内容与图案是否容易剥落

(3)影响范围:

A、可用性:

1)装入液体多久后会漏水

2)装入热水多久后可以变温,装入冰水多久后可以融化

B、安全性:

1)装入不同液体,是否会有化学反应。比如:可乐,咖啡等饮料

2)装入热水杯子是不是会变型和异味

3)特定环境下:高温、低温、长久是否挥发毒性物质。

4)是否可降解、回收、丢弃是否有对环境其他物体有害。

C、易用性:

1)不同人群是否能适合杯子的型状,包括握杯的感觉和喝水的感觉

2)不同人群是否能接受杯子的广告内容与图案

阿里巴巴公司DBA笔试题

一、SQLtuning类:

1.列举几种表连接方式。

2.不借助第三方工具,怎样查看sql的执行计划。

3.如何使用CBO,CBO与RULE的区别。

4.如何定位重要(消耗资源多)的SQL。

5.如何跟踪某个session的SQL。

6.SQL调整最关注的是什么。

7.说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)。

8.使用索引查询一定能提高查询的性能吗?为什么。

9.绑定变量是什么?绑定变量有什么优缺点?

10.如何稳定(固定)执行计划。

11.和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么。

12.存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出。

二、数据库基本概念类

1.pctusedandpctfree表示什么含义有什么作用。

2.简单描述table/segment/extent/block之间的关系。

3.描述tablespace和datafile之间的关系。

4.本地管理表空间和字典管理表空间的特点,ASSM有什么特点。

5.回滚段的作用是什么。

6.日志的作用是什么。

7.SGA主要有那些部分,主要作用是什么。

8.Oracle系统进程主要有哪些,作用是什么。

三、备份恢复类

1.备份如何分类。

2.归档是什么含义。

3.如果一个表在2004-08-0410:30:00被drop,在有完善的归档和备份的情况下,如何恢复。

4.rman是什么,有何特点。

5.standby的特点。

6.对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略)。

四、系统管理类

1.对于一个存在系统性能的系统,说出你的诊断处理思路。

2.列举几种诊断IO、CPU、性能状况的方法。

3.对statspack有何认识。

4.如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响。

5.对raid10和raid5有何认识。

五、综合随意类

1.你最擅长的是oracle哪部分?

2.喜欢oracle吗?喜欢上论坛吗?或者偏好oracle的哪一部分?

3.随意说说你觉得oracle最有意思的部分或者最困难的部分。

4.为何要选择做DBA呢?

范文五:2014阿里巴巴笔试题

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(

printf(

}

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. 一台指针式钟表的时钟和分钟的指向重合的时间间隔是

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. 一个线程写、多个线程读一个共同的数据结构,写操作不是原子操作,读操作是原

子操作

22. 一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树可能是。

A. 所有的结点均无右孩子

B. 只有一个叶子结点

C. 是一颗二叉树索树

D. 所有的结点均无左孩子

23. 以下数字在表示为double(8字节的双精度浮点数)时存在舍入误差的有

A. 2 B. 10的30次方 C. 0.1 D. 0.5 E. 100

24. 给定如下C程序:

typedef struct node_s{

int item;

struct node_s* next;

}node_t;

void reverse_list(node_t* head)

{

node_t* n=head;

head=NULL;

while(n){

}

return head;

}

以下哪项能实现该函数的功能

A. node_t* m=head; head=n; head->next=m; n=n->next;

B. node_t* m=n; n=n->next; m->next=head; head=m;

C. node_t* m=n->next; n->next=head; n=m; head=n;

D. head=n->next; head->next=n; n=n->next;

第三部分 填空与问答(5题,共30分)

25. (4分)某无聊的程序员在玩Windows上的记事本程序,不用鼠标,每次可以按以下键或组合之一:A、Ctrl+A(全选)、Ctrl+C(拷贝)、Ctrl+V(粘贴),那么在10次按键只能可以制造的最长文本长度为 。

26. (4分)若初始序列为gbfcdae,那么只会少需要次两两交换,才能使该序列变为abcdefg。任给一个自由a--g这7个字母组成的排列,最坏的情况下需要至少 次两两交换,才能使序列变为abcdefg。

27. (5分)在某恶劣天气,若地图上S点到T点的交通网如下图所示,其中每条边表示一条双向通道,其上的数字为该通路可通行的概率,且该概率两两独立。求S到T的可通行概率 。

1/3

1/2

1/2

1/2

1/2

1/3

28. (8分)6度分离假说的含义是,世界上任何两个人要么是朋友,要么是朋友的朋友,或者更高阶的朋友的朋友(如朋友的朋友的朋友),改论断中“朋友”一词出现的次数为两人之间的距离,那么该距离小于等于6。如果某SNS(如QQ、旺旺等),有100万用户,其人际关系网咯符合以下两个假设:

1) 朋友关系是一种对称关系(如A和B是朋友,那么B和A也是朋友)

2) 符合2度分离假说

3) 第i个人拥有的朋友的个数为ni ,所有ni 中最大值为n

试估算n的最小值 。

29. (9分)某电子商务网站进行A、B两种推荐算法的效果对比测试,对用户的访问请求按照1:9的比例随机分配给A和B两种算法处理。产生推荐结果后,按照两种指标对比两种算法产生的结果好坏:第一种指标是CTRPV=该算法下用户的点击展现次数/该算法下所有的展现次数,第二种指标是CTRUV=该算法下有点击的用户数/该算法下所有的用户数。假定每个用户会对该推荐服务2次访问,如果A和B的CTRPV持平(假设为0.01)。那么CTRUV哪个大,大的比小的大百分之多少 。

第四部分:附加题

1. 一个10亿条记录的文本文件,已按照关键字排好字存储,请设计方法,可以快速的从文件中查找指字关键字的记录:

2.请描述一下TCP建立连接三次握手的过程。

3. 搜索引擎是很常用的web应用。大部分搜索引擎需要设计一个抓虫(Crawler),从很多网站抓去网页,分析数据,供搜索引擎使用。

设想你来做一个搜索引擎的爬虫,需要抓去约一百万家网站的网页内容。

1) 请画出一个抓虫系统的架构图。

2) 重点说明你的爬虫需要如何优化来提升性能。

范文六:阿里巴巴DBA笔试题

阿里巴巴 DBA 笔试题 一:SQL tuning 类 1:列举几种表连接方式 2:不借助第三方工具,怎样查看 sql 的执行计划 3:如何使用 CBO,CBO 与 RULE 的区别 4:如何定位重要(消耗资源多)的 SQL 5:如何跟踪某个 session 的 SQL 6:SQL 调整最关注的是什么 7:说说你对索引的认识(索引的结构、对 dml 影响、对查询影响、为什么提高查询性能) 8:使用索引查询一定能提高查询的性能吗?为什么 9:绑定变量是什么?绑定变量有什么优缺点? 10:如何稳定(固定)执行计划 11:和排序相关的内存在 8i 和 9i 分别怎样调整,临时表空间的作用是什么 12:存在表 T(a,b,c,d),要根据字段 c 排序后取第 21—30 条记录显示,请给出 sql 二:数据库基本概念类 1:pctused and pctfree 表示什么含义有什么作用 2:简单描述 table / segment / extent / block 之间的关系 3:描述 tablespace 和 datafile 之间的关系 4:本地管理表空间和字典管理表空间的特点,ASSM 有什么特点 5:回滚段的作用是什么 6:日志的作用是什么 7:SGA 主要有那些部分,主要作用是什么 8racle 系统进程主要有哪些,作用是什么 三:备份恢复类 1:备份如何分类 2:归档是什么含义 3:如果一个表在 2004-08-04 10:30:00 被 drop,在有完善的归档和备份的情况下,如何 恢复 4:rman 是什么,有何特点 5:standby 的特点 6:对于一个要求恢复时间比较短的系统(数据库 50G,每天归档 5G), 你如何设计备份策略 四:系统管理类 1:对于一个存在系统性能的系统,说出你的诊断处理思路 2:列举几种诊断 IO、CPU、性能状况的方法 3:对 statspack 有何认识 4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽 量减小对应用的影响 5:对 raid10 和 raid5 有何认识 五:综合随意类

1:你最擅长的是 oracle 哪部分? 2:喜欢 oracle 吗?喜欢上论坛吗?或者偏好 oracle 的哪一部分? 3:随意说说你觉得 oracle 最有意思的部分或者最困难的部分 4:为何要选择做 DBA 呢?

参考解答: 参考解答: 一:SQL tuning 类 1:列举几种表连接方式 列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2:不借助第三方工具,怎样查看 sql 的执行计划 不借助第三方工具, 不借助第三方工具set autot on explain plan set statement_id = &item_id for &sql; select * from table(dbms_xplan.display); http://download-west.oracle.com/ ... /b10752/ex_plan.htm3:如何使用 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:使用索引查询一定能提高查询的性能吗 为什么 使用索引查询一定能提高查询的性能吗?为什么 使用索引查询一定能提高查询的性能吗 索引就是为了提高查询性能而存在的, 如果在查询中索引没有提高性能, 只能说是用 错了索引,或者讲是场合不同 9:绑定变量是什么 绑定变量有什么优缺点 绑定变量是什么?绑定变量有什么优缺点 绑定变量是什么 绑定变量有什么优缺点? 绑定变量是相对文本变量来讲的,所谓文本变量是指在 SQL 直接书写查询条件, 这样的 SQL 在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询 bind value 在运行时传递, 然后绑定执行。 优点是减少硬解析,降低 CPU 的争用,节省 shared_pool ; 缺点是不能使用 histogram,sql 优化比较困难 10:如何稳定 固定 执行计划 如何稳定(固定 如何稳定 固定)执行计划query_rewrite_enabled = true star_transformation_enabled = true optimizer_features_enable = 9.2.0创建并使用 stored outlinehttp://download-west.oracle.com/ ... /outlines.htm#26854 来源:考试大-Oracle 认证考11:和排序相关的内存在 8i 和 9i 分别怎样调整,临时表空间的作用是什么 和排序相关的内存在 分别怎样调整, 8i 中 sort_area_size/sort_area_retained_size 决定了排序所需要的内存 如果排序操作不能在 sort_area_size 中完成,就会用到 temp 表空间 9i 中如果 workarea_size_policy=auto 时, 排序在 pga 内进行,通常 pga_aggregate_target 的 1/20 可以用来进行 disk sort; 如果 workarea_size_policy=manual 时,排序需要的内存由 sort_area_size 决定 在执行 order by/group by/distinct/union/create index/index rebuild/minus 等操作时, 如果在 pga 或 sort_area_size 中不能完成,排序将在临时表空间进行(disk sort),

临时表空间主要作用就是完成系统中的 disk sort. 12:存在表 T(a,b,c,d),要根据字段 c 排序后取第 21—30 条记录显示,请给出 sql 存在表 要根据字段 条记录显示,create table t(a number(,b number(,c number(,d number(); / begin for i in 1 .. 300 loop insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4); end loop; end; /select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30; / select * from (select * from test order by c desc) x where rownum

一个 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:日志的作用是什么 日志的作用是什么 记录数据库事务,最大限度地保证数据的一致性与安全性 重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一 个数据库至少需要两个重做日志文件 归档日志文件: 是重做日志文件的脱机副本, 这些副本可能对于从介质失败中进行恢复 很必要。 7:SGA 主要有那些部分,主要作用是什么 主要有那些部分,SGA:db_cache/shared_pool/large_pool/java_pool db_cache:数据库缓存(Block Buffer)对于 Oracle 数据库的运转和性能起着非常关键的作用, 它占据 Oracle 数据库 SGA(系统共享内存区)的主要部分。 Oracle 数据库通过使用 LRU 算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的访问. shared_pool: 共享池的大小对于 Oracle 性能来说都是很重要的。 共享池中保存数据字典高速缓冲和完全解析或编译的的 PL/SQL 块和 SQL 语句及控 制结构 large_pool: 使用 MTS 配置时, 因为要在 SGA 中分配 UGA 来保持用户的会话, 就是用 Large_pool 来保持这个会话内存 使用 RMAN 做备份的时候,要使用 Large_pool 这个内存结构来做磁盘 I/O 缓存器 java_pool: 为 java procedure 预备的内存区域,如果没有使用 java proc,java_pool 不是必须的

8 Oracle 系统进程主要有哪些,作用是什么 系统进程主要有哪些, 数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件 日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件 系统监控(smon) :检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢 复 进程监控(pmon) :负责在一个 Oracle 进程失败时清理资源 检查点进程(chpt): 负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新 控制文件和数据文件中的数据库状态信息。 归档进程(arcn) :在每次日志切换时把已满的日志组进行备份或归档 作业调度器(cjq) :负责将调度与执行系统中已定义好的 job,完成一些预定义的工作. 恢复进程(reco) :保证分布式事务的一致性,在分布式事务中,要么同时 commit,要么同时 rollback; 备份恢复类 1:备份如何分类 备份如何分类 逻辑备份:exp/imp 物理备份: RMAN 备份 full backup/incremental backup(累积/差异) 热备份:alter tablespace begin/end backup; 冷备份:脱机备份(database shutdown) 2:归档是什么含义 归档是什么含义 关于归档日志:Oracle 要将填满的在线日志文件组归档时,则要建立归档日志(archived redo log)。 其对数据库备份和恢复有下列用处: 数据库后备以及在线和归档日志文件, 在操作系统和磁盘故障中可保证全部提交的事物 可被恢复。 在数据库打开和正常系统使用下, 如果归档日志是永久保存, 在线后备可以进行和使用。 数据库可运行在两种不同方式下:

NOARCHIVELOG 方式或 ARCHIVELOG 方式数据库在 NOARCHIVELOG 方式下使 用时,不能进行在线日志的归档,如果数据库在 ARCHIVELOG 方式下运行,可实施在线日 志的归档。3:如果一个表在 2004-08-04 10:30:00 被 drop,在有完善的归档和备份的情况 下,如何恢复? 手工拷贝回所有备份的数据文件startup mount; sql alter database recover automatic until time '2004-08-04:10:30:00'; alter database open resetlogs;4:rman 是什么 有何特点 是什么,有何特点 有何特点? RMAN(Recovery Manager)是 DBA 的一个重要工具,用于备份、还原和恢复 oracle 数 据库, RMAN 可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可 以用来执行完全或不完全的数据库恢复。RMAN 有三种不同的用户接口: COMMAND LINE 方式、GUI 方式(集成在 OEM 中的备份管理器)、API 方式(用于集 成到第三方的备份软件中)。 具有如下特点: 1)功能类似物理备份,但比物理备份强大 N 倍; 2)可以压缩空块; 3)可以在块水平上实现增量; 4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集; 5)备份与恢复的过程可以自动管理; 6)可以使用脚本(存在 Recovery catalog 中) 7)可以做坏块监测 5:standby 的特点 备用数据库(standby database):ORACLE 推出的一种高可用性(HIGH AVAILABLE) 数据库方案, 在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份 可以实现快速切换与灾难性恢复,从 920 开始,还开始支持物理与逻辑备用服务器。 9i 中的三种数据保护模式分别是: 1)、MAXIMIZE PROTECTION :最大数据保护与无数据分歧,LGWR 将同时传送到 备用节点,

在主节点事务确认之前,备用节点也必须完全收到日志数据。如果网络不好,引起 LGWR 不能传送数据,将引起严重的性能问题,导致主节点 DOWN 机。 2)、MAXIMIZE AVAILABILITY :无数据丢失模式,允许数据分歧,允许异步传送。 正常情况下运行在最大保护模式, 在主节点与备用节点的网络断开或连接不正常时, 自 动切换到最大性能模式, 主节点的操作还是可以继续的。在网络不好的情况下有较大的性能影响。 3)、MAXIMIZE PERFORMANCE:这种模式应当可以说是从 8i 继承过来的备用服务 器模式,异步传送, 无数据同步检查,可能丢失数据,但是能获得主节点的最大性能。9i 在配置 DATA GUARD 的时候默认就是 MAXIMIZE PERFORMANCE 6:对于一个要求恢复时间比较短的系统 数据库 50G,每天归档 5G),你如何设计备份策 对于一个要求恢复时间比较短的系统(数据 对于一个要求恢复时间比较短的系统 数据库 每天归档 , 略 rman/每月一号 level 0 每周末/周三 level 1 其它每天 level 2 四:系统管理类 对于一个存在系统性能的系统, 对于一个存在系统性能的系统,说出你的诊断处理思路 1 做 statspack 收集系统相关信息 了解系统大致情况/确定是否存在参数设置不合适的地方/查看 top 5 event/查看 top sql 等 2 查 v$system_event/v$session_event/v$session_wait 从 v$system_event 开始,确定需要什么资源(db file sequential read)等 深入研究 v$session_event,确定等待事件涉及的会话 从 v$session_wait 确定详细的资源争用情况(p1-p3 的值:file_id/block_id/blocks 等) 3 通过 v$sql/v$sqltext/v$sqlarea 表确定 disk_reads、(buffer_gets/executions)值较大 的 SQL 2:列举几种诊断 IO、CPU、性能状况的方法 列举几种诊断 、 、 top/vmstat

statspack

sql_trace/tkprof

查v$system_event/v$session_event/v$session_wait

查v$sqlarea(disk_reads或buffer_gets/executions较大的SQL)

3:对statspack有何认识

StapSpack是Oracle公司提供的一个收集数据库运行性能指标的软件包,该软件包从8i起,在9i、10g都有显著的增强 。该软件包的辅助表(存储相关参数与收集的性能指标的表)由最初的25个增长到43个。收集级别参数由原来的3个(0、5、10)增加到5个(0、5、6、7、10)通过分析收集的性能指标,数据库管理员可以详细地了解数据库目前的运行情况,对数据库实例、等待事件、SQL等进行优化调整。利用statspack收集的snapshot,可以统计制作数据库的各种性能指标的统计趋势图表。

4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响

在系统比较空闲时;nologging选项(如果有dataguard则不可以使用nologging)大的sort_ared_size或pga_aggregate_target较大

5:对raid1+0 和raid5有何认识

RAID 10(或称RAID 1+0)与RAID 0+1不同,它是用硬盘驱动器先组成RAID 1阵列,然后在RAID 1阵列之间再组成RAID 0阵列。RAID 10模式同RAID 0+1模式一样具有良好的数据传输性能,但却比RAID 0+1具有更高的可靠性。RAID 10阵列的实际容量为M×n/2,磁盘利用率为50%。RAID 10也需要至少4个硬盘驱动器构成,因而价格昂贵。 RAID 10的可靠性同RAID 1一样,但由于RAID 10硬盘驱动器之间有数据分割,因而数据传输性能优良。RAID 5与RAID 3很相似,不同之处在于RAID 5的奇偶校验信息也同数据一样被分割保存到所有的硬盘驱动器,而不是写入一个指定的硬盘驱动器,从而消除了单个奇偶校验硬盘驱动器的瓶颈问题。RAID 5磁盘阵列的性能比RAID 3有所提高,但仍然需要至少3块硬盘驱动器。其实际容量为M×(n-1),磁盘利用率为(n-1)/n 。阿里巴巴 DBA 笔试题 一:SQL tuning 类 1:列举几种表连接方式 2:不借助第三方工具,怎样查看 sql 的执行计划 3:如何使用 CBO,CBO 与 RULE 的区别 4:如何定位重要(消耗资源多)的 SQL 5:如何跟踪某个 session 的 SQL 6:SQL 调整最关注的是什么 7:说说你对索引的认识(索引的结构、对 dml 影响、对查询影响、为什么提高查询性能) 8:使用索引查询一定能提高查询的性能吗?为什么 9:绑定变量是什么?绑定变量有什么优缺点? 10:如何稳定(固定)执行计划 11:和排序相关的内存在 8i 和 9i 分别怎样调整,临时表空间的作用是什么 12:存在表 T(a,b,c,d),要根据字段 c 排序后取第 21—30 条记录显示,请给出 sql 二:数据库基本概念类 1:pctused and pctfree 表示什么含义有什么作用 2:简单描述 table / segment / extent / block 之间的关系 3:描述 tablespace 和 datafile 之间的关系 4:本地管理表空间和字典管理表空间的特点,ASSM 有什么特点 5:回滚段的作用是什么 6:日志的作用是什么 7:SGA 主要有那些部分,主要作用是什么 8racle 系统进程主要有哪些,作用是什么 三:备份恢复类 1:备份如何分类 2:归档是什么含义 3:如果一个表在 2004-08-04 10:30:00 被 drop,在有完善的归档和备份的情况下,如何 恢复 4:rman 是什么,有何特点 5:standby 的特点 6:对于一个要求恢复时间比较短的系统(数据库 50G,每天归档 5G), 你如何设计备份策略 四:系统管理类 1:对于一个存在系统性能的系统,说出你的诊断处理思路 2:列举几种诊断 IO、CPU、性能状况的方法 3:对 statspack 有何认识 4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽 量减小对应用的影响 5:对 raid10 和 raid5 有何认识 五:综合随意类

1:你最擅长的是 oracle 哪部分? 2:喜欢 oracle 吗?喜欢上论坛吗?或者偏好 oracle 的哪一部分? 3:随意说说你觉得 oracle 最有意思的部分或者最困难的部分 4:为何要选择做 DBA 呢?

参考解答: 参考解答: 一:SQL tuning 类 1:列举几种表连接方式 列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2:不借助第三方工具,怎样查看 sql 的执行计划 不借助第三方工具, 不借助第三方工具set autot on explain plan set statement_id = &item_id for &sql; select * from table(dbms_xplan.display); http://download-west.oracle.com/ ... /b10752/ex_plan.htm3:如何使用 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:使用索引查询一定能提高查询的性能吗 为什么 使用索引查询一定能提高查询的性能吗?为什么 使用索引查询一定能提高查询的性能吗 索引就是为了提高查询性能而存在的, 如果在查询中索引没有提高性能, 只能说是用 错了索引,或者讲是场合不同 9:绑定变量是什么 绑定变量有什么优缺点 绑定变量是什么?绑定变量有什么优缺点 绑定变量是什么 绑定变量有什么优缺点? 绑定变量是相对文本变量来讲的,所谓文本变量是指在 SQL 直接书写查询条件, 这样的 SQL 在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询 bind value 在运行时传递, 然后绑定执行。 优点是减少硬解析,降低 CPU 的争用,节省 shared_pool ; 缺点是不能使用 histogram,sql 优化比较困难 10:如何稳定 固定 执行计划 如何稳定(固定 如何稳定 固定)执行计划query_rewrite_enabled = true star_transformation_enabled = true optimizer_features_enable = 9.2.0创建并使用 stored outlinehttp://download-west.oracle.com/ ... /outlines.htm#26854 来源:考试大-Oracle 认证考11:和排序相关的内存在 8i 和 9i 分别怎样调整,临时表空间的作用是什么 和排序相关的内存在 分别怎样调整, 8i 中 sort_area_size/sort_area_retained_size 决定了排序所需要的内存 如果排序操作不能在 sort_area_size 中完成,就会用到 temp 表空间 9i 中如果 workarea_size_policy=auto 时, 排序在 pga 内进行,通常 pga_aggregate_target 的 1/20 可以用来进行 disk sort; 如果 workarea_size_policy=manual 时,排序需要的内存由 sort_area_size 决定 在执行 order by/group by/distinct/union/create index/index rebuild/minus 等操作时, 如果在 pga 或 sort_area_size 中不能完成,排序将在临时表空间进行(disk sort),

临时表空间主要作用就是完成系统中的 disk sort. 12:存在表 T(a,b,c,d),要根据字段 c 排序后取第 21—30 条记录显示,请给出 sql 存在表 要根据字段 条记录显示,create table t(a number(,b number(,c number(,d number(); / begin for i in 1 .. 300 loop insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4); end loop; end; /select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30; / select * from (select * from test order by c desc) x where rownum

一个 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:日志的作用是什么 日志的作用是什么 记录数据库事务,最大限度地保证数据的一致性与安全性 重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一 个数据库至少需要两个重做日志文件 归档日志文件: 是重做日志文件的脱机副本, 这些副本可能对于从介质失败中进行恢复 很必要。 7:SGA 主要有那些部分,主要作用是什么 主要有那些部分,SGA:db_cache/shared_pool/large_pool/java_pool db_cache:数据库缓存(Block Buffer)对于 Oracle 数据库的运转和性能起着非常关键的作用, 它占据 Oracle 数据库 SGA(系统共享内存区)的主要部分。 Oracle 数据库通过使用 LRU 算法,将最近访问的数据块存放到缓存中,从而优化对磁盘数据的访问. shared_pool: 共享池的大小对于 Oracle 性能来说都是很重要的。 共享池中保存数据字典高速缓冲和完全解析或编译的的 PL/SQL 块和 SQL 语句及控 制结构 large_pool: 使用 MTS 配置时, 因为要在 SGA 中分配 UGA 来保持用户的会话, 就是用 Large_pool 来保持这个会话内存 使用 RMAN 做备份的时候,要使用 Large_pool 这个内存结构来做磁盘 I/O 缓存器 java_pool: 为 java procedure 预备的内存区域,如果没有使用 java proc,java_pool 不是必须的

8 Oracle 系统进程主要有哪些,作用是什么 系统进程主要有哪些, 数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件 日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件 系统监控(smon) :检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢 复 进程监控(pmon) :负责在一个 Oracle 进程失败时清理资源 检查点进程(chpt): 负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新 控制文件和数据文件中的数据库状态信息。 归档进程(arcn) :在每次日志切换时把已满的日志组进行备份或归档 作业调度器(cjq) :负责将调度与执行系统中已定义好的 job,完成一些预定义的工作. 恢复进程(reco) :保证分布式事务的一致性,在分布式事务中,要么同时 commit,要么同时 rollback; 备份恢复类 1:备份如何分类 备份如何分类 逻辑备份:exp/imp 物理备份: RMAN 备份 full backup/incremental backup(累积/差异) 热备份:alter tablespace begin/end backup; 冷备份:脱机备份(database shutdown) 2:归档是什么含义 归档是什么含义 关于归档日志:Oracle 要将填满的在线日志文件组归档时,则要建立归档日志(archived redo log)。 其对数据库备份和恢复有下列用处: 数据库后备以及在线和归档日志文件, 在操作系统和磁盘故障中可保证全部提交的事物 可被恢复。 在数据库打开和正常系统使用下, 如果归档日志是永久保存, 在线后备可以进行和使用。 数据库可运行在两种不同方式下:

NOARCHIVELOG 方式或 ARCHIVELOG 方式数据库在 NOARCHIVELOG 方式下使 用时,不能进行在线日志的归档,如果数据库在 ARCHIVELOG 方式下运行,可实施在线日 志的归档。3:如果一个表在 2004-08-04 10:30:00 被 drop,在有完善的归档和备份的情况 下,如何恢复? 手工拷贝回所有备份的数据文件startup mount; sql alter database recover automatic until time '2004-08-04:10:30:00'; alter database open resetlogs;4:rman 是什么 有何特点 是什么,有何特点 有何特点? RMAN(Recovery Manager)是 DBA 的一个重要工具,用于备份、还原和恢复 oracle 数 据库, RMAN 可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可 以用来执行完全或不完全的数据库恢复。RMAN 有三种不同的用户接口: COMMAND LINE 方式、GUI 方式(集成在 OEM 中的备份管理器)、API 方式(用于集 成到第三方的备份软件中)。 具有如下特点: 1)功能类似物理备份,但比物理备份强大 N 倍; 2)可以压缩空块; 3)可以在块水平上实现增量; 4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集; 5)备份与恢复的过程可以自动管理; 6)可以使用脚本(存在 Recovery catalog 中) 7)可以做坏块监测 5:standby 的特点 备用数据库(standby database):ORACLE 推出的一种高可用性(HIGH AVAILABLE) 数据库方案, 在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份 可以实现快速切换与灾难性恢复,从 920 开始,还开始支持物理与逻辑备用服务器。 9i 中的三种数据保护模式分别是: 1)、MAXIMIZE PROTECTION :最大数据保护与无数据分歧,LGWR 将同时传送到 备用节点,

在主节点事务确认之前,备用节点也必须完全收到日志数据。如果网络不好,引起 LGWR 不能传送数据,将引起严重的性能问题,导致主节点 DOWN 机。 2)、MAXIMIZE AVAILABILITY :无数据丢失模式,允许数据分歧,允许异步传送。 正常情况下运行在最大保护模式, 在主节点与备用节点的网络断开或连接不正常时, 自 动切换到最大性能模式, 主节点的操作还是可以继续的。在网络不好的情况下有较大的性能影响。 3)、MAXIMIZE PERFORMANCE:这种模式应当可以说是从 8i 继承过来的备用服务 器模式,异步传送, 无数据同步检查,可能丢失数据,但是能获得主节点的最大性能。9i 在配置 DATA GUARD 的时候默认就是 MAXIMIZE PERFORMANCE 6:对于一个要求恢复时间比较短的系统 数据库 50G,每天归档 5G),你如何设计备份策 对于一个要求恢复时间比较短的系统(数据 对于一个要求恢复时间比较短的系统 数据库 每天归档 , 略 rman/每月一号 level 0 每周末/周三 level 1 其它每天 level 2 四:系统管理类 对于一个存在系统性能的系统, 对于一个存在系统性能的系统,说出你的诊断处理思路 1 做 statspack 收集系统相关信息 了解系统大致情况/确定是否存在参数设置不合适的地方/查看 top 5 event/查看 top sql 等 2 查 v$system_event/v$session_event/v$session_wait 从 v$system_event 开始,确定需要什么资源(db file sequential read)等 深入研究 v$session_event,确定等待事件涉及的会话 从 v$session_wait 确定详细的资源争用情况(p1-p3 的值:file_id/block_id/blocks 等) 3 通过 v$sql/v$sqltext/v$sqlarea 表确定 disk_reads、(buffer_gets/executions)值较大 的 SQL 2:列举几种诊断 IO、CPU、性能状况的方法 列举几种诊断 、 、 top/vmstat

statspack

sql_trace/tkprof

查v$system_event/v$session_event/v$session_wait

查v$sqlarea(disk_reads或buffer_gets/executions较大的SQL)

3:对statspack有何认识

StapSpack是Oracle公司提供的一个收集数据库运行性能指标的软件包,该软件包从8i起,在9i、10g都有显著的增强 。该软件包的辅助表(存储相关参数与收集的性能指标的表)由最初的25个增长到43个。收集级别参数由原来的3个(0、5、10)增加到5个(0、5、6、7、10)通过分析收集的性能指标,数据库管理员可以详细地了解数据库目前的运行情况,对数据库实例、等待事件、SQL等进行优化调整。利用statspack收集的snapshot,可以统计制作数据库的各种性能指标的统计趋势图表。

4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响

在系统比较空闲时;nologging选项(如果有dataguard则不可以使用nologging)大的sort_ared_size或pga_aggregate_target较大

5:对raid1+0 和raid5有何认识

RAID 10(或称RAID 1+0)与RAID 0+1不同,它是用硬盘驱动器先组成RAID 1阵列,然后在RAID 1阵列之间再组成RAID 0阵列。RAID 10模式同RAID 0+1模式一样具有良好的数据传输性能,但却比RAID 0+1具有更高的可靠性。RAID 10阵列的实际容量为M×n/2,磁盘利用率为50%。RAID 10也需要至少4个硬盘驱动器构成,因而价格昂贵。 RAID 10的可靠性同RAID 1一样,但由于RAID 10硬盘驱动器之间有数据分割,因而数据传输性能优良。RAID 5与RAID 3很相似,不同之处在于RAID 5的奇偶校验信息也同数据一样被分割保存到所有的硬盘驱动器,而不是写入一个指定的硬盘驱动器,从而消除了单个奇偶校验硬盘驱动器的瓶颈问题。RAID 5磁盘阵列的性能比RAID 3有所提高,但仍然需要至少3块硬盘驱动器。其实际容量为M×(n-1),磁盘利用率为(n-1)/n 。

范文七:2014阿里巴巴笔试题

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(

printf(

}

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. 一台指针式钟表的时钟和分钟的指向重合的时间间隔是

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. 一个线程写、多个线程读一个共同的数据结构,写操作不是原子操作,读操作是原

子操作

22. 一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树可能是。

A. 所有的结点均无右孩子

B. 只有一个叶子结点

C. 是一颗二叉树索树

D. 所有的结点均无左孩子

23. 以下数字在表示为double(8字节的双精度浮点数)时存在舍入误差的有

A. 2 B. 10的30次方 C. 0.1 D. 0.5 E. 100

24. 给定如下C程序:

typedef struct node_s{

int item;

struct node_s* next;

}node_t;

void reverse_list(node_t* head)

{

node_t* n=head;

head=NULL;

while(n){

}

return head;

}

以下哪项能实现该函数的功能

A. node_t* m=head; head=n; head->next=m; n=n->next;

B. node_t* m=n; n=n->next; m->next=head; head=m;

C. node_t* m=n->next; n->next=head; n=m; head=n;

D. head=n->next; head->next=n; n=n->next;

第三部分 填空与问答(5题,共30分)

25. (4分)某无聊的程序员在玩Windows上的记事本程序,不用鼠标,每次可以按以下键或组合之一:A、Ctrl+A(全选)、Ctrl+C(拷贝)、Ctrl+V(粘贴),那么在10次按键只能可以制造的最长文本长度为 。

26. (4分)若初始序列为gbfcdae,那么只会少需要次两两交换,才能使该序列变为abcdefg。任给一个自由a--g这7个字母组成的排列,最坏的情况下需要至少 次两两交换,才能使序列变为abcdefg。

27. (5分)在某恶劣天气,若地图上S点到T点的交通网如下图所示,其中每条边表示一条双向通道,其上的数字为该通路可通行的概率,且该概率两两独立。求S到T的可通行概率 。

1/3

1/2

1/2

1/2

1/2

1/3

28. (8分)6度分离假说的含义是,世界上任何两个人要么是朋友,要么是朋友的朋友,或者更高阶的朋友的朋友(如朋友的朋友的朋友),改论断中“朋友”一词出现的次数为两人之间的距离,那么该距离小于等于6。如果某SNS(如QQ、旺旺等),有100万用户,其人际关系网咯符合以下两个假设:

1) 朋友关系是一种对称关系(如A和B是朋友,那么B和A也是朋友)

2) 符合2度分离假说

3) 第i个人拥有的朋友的个数为ni ,所有ni 中最大值为n

试估算n的最小值 。

29. (9分)某电子商务网站进行A、B两种推荐算法的效果对比测试,对用户的访问请求按照1:9的比例随机分配给A和B两种算法处理。产生推荐结果后,按照两种指标对比两种算法产生的结果好坏:第一种指标是CTRPV=该算法下用户的点击展现次数/该算法下所有的展现次数,第二种指标是CTRUV=该算法下有点击的用户数/该算法下所有的用户数。假定每个用户会对该推荐服务2次访问,如果A和B的CTRPV持平(假设为0.01)。那么CTRUV哪个大,大的比小的大百分之多少 。

第四部分:附加题

1. 一个10亿条记录的文本文件,已按照关键字排好字存储,请设计方法,可以快速的从文件中查找指字关键字的记录:

2.请描述一下TCP建立连接三次握手的过程。

3.

范文八:阿里巴巴一个笔试题

A,B头上各有一顶帽子,帽子上各有一个大于0的整数,已知这两个整数相差1。

A,B能看见对方的帽子,但是看不见自己。

这时候:

C问A:你知道你头上的数字是多少吗? A说:不知道

C问B:你知道你头上的数字是多少吗? B说:不知道

C又问A:你知道你头上的数字是多少吗? A说:不知道

C又问B:你知道你头上的数字是多少吗? B说:不知道

C又问A:你知道你头上的数字是多少吗? A说:不知道

C又问B:你知道你头上的数字是多少吗? B说:不知道

C又问A:你知道你头上的数字是多少吗? A说:我知道了

C又问B:你知道你头上的数字是多少吗? B说:我知道了

你知道他们头上的数字吗?

参考解答:

1、假设S、P额头上的数字分别为2和1(以S=2、P=1表示)。S可以看到P=1,P可以看到S=2。根据P=1,S可以断定S=0或2,但数字为正整数,故只能为2,即第一次问时S即可猜出自己头上的数字为2。根据S=2,P可以断定P=1或3。假定P=3,则第一次问时S只能得到S=2或4,并不能猜出S到底等于几,故可得出P=1的结论。即第一次问时S即猜出自己的数字时P也能猜出自己的数字。故S=2、P=1时Q问一次S及P即可猜出自己的数字。

2、假设S=3、P=2。根据P=2,S可以得出S=1或3;根据S=3,P可以得出P=2或4。第一次问时,S和P均猜不出自己额头上的数字。第二次问时,S可以这么思考:假设S=1,根据1中的证明,第一次问时P即可猜出P=2,故S=1可排除,即可断定S=3。S猜出自己的数字后,P可以这么思考:假设P=4,S能得出的结论是S=3或5,第二次问时S并不能猜到S等于几,故可将P=4排除,即可断定P=2。故S=3、P=2时Q问两次S及P即可猜出自己的数字。

由以上分析知,S、P的值增加1,S和P猜出自己数字所需问的次数就要增加1(由数学归纳法可知,不过并不严密,严密的证明太复杂了,想不出来:()。现在问了四次后S和P猜出了自己的数字,所以S=5,P=4。不知道对不对?

范文九:阿里巴巴java笔试题

阿里巴巴java笔试zz

java笔试

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空调机半成品是假货。

4. 有些自然物品具有审美价值,所有的艺术品都有审美价值。因此,有些自然物品也是艺术品。

Question 5. (单选)

不可能所有的花都结果。

以下哪项断定的含义,与上述断定最为接近?

1. 可能所有的花都不结果。

2. 可能有的花不结果。

3. 可能有的花结果。

4. 必然有的花不结果。

Question 6. (单选)

电冰箱的问世引起了冰市场的崩溃,以前人们用冰来保鲜食物,现在电冰箱替代了冰的作用。同样道理,由于生物工程的成果,研究出能抵抗害虫的农作物,则会引起什么后果?

以下哪项是上述问题的最好回答?

1. 增加种子成本。

2. 农田的价值下降。

3. 化学农药的需求减少。

4. 饲养家畜的农民数量下降。

Question 7. (单选)

某法院审理一起盗窃案件,某村的甲

、乙、丙三人作为嫌疑犯被押上法庭。审问开始了。法官先问甲:“你是怎样作案的?”由于甲说的是方言,法官听不懂。于是,法官就间乙和丙:“刚才甲是如何回答我的问题的?”乙说:“甲的意思是,他并不是盗窃犯。”丙说:“甲刚才招供了,他承认自己是盗窃犯。”法官听完了乙和丙的话之后,马上做出判断:释放乙,逮捕丙入狱。事实证明法官的判断是正确的。

法官做出准确判断最不可能依据的假定是什么?

1. 初审时,在没有胁迫的情况下,甲不论是否是盗窃犯,他总会回答说:我不是盗窃犯。

2. 初审时,在没有胁迫的情况下,说真话的不会是盗窃犯,而说假话的是盗窃犯。

3. 丙在转述甲的回答中说了假话。

4. 据某村村民反映,丙以前曾多次盗窃人家的财物。

Question 8. (单选)

许多神学家坚持上帝的存在说,理由是:谁能够证明上帝不存在呢?

以下诸项中,具有与上述引文相同论证错误的是:

1. 哥德巴赫猜想是成立的,即每个大于6的偶数都可表示为两个素数之和。理由是:没有人能找到这样的偶数不能表示为两个素数之和。

2. 有人说小李是个品行不端的人,理由是:他的爸爸不是个好东西。

3. 许多人认为大米没有白面营养价值高,理由是:为什么很多人不喜欢吃大米呢?

4. 有人坚持托勒密的“地心说”,理由是:亚里斯多德是这么认为的。

Question 9. (单选)

主人每天早晨给小猴子三颗荔枝,晚上四颗,小猴子很不高兴。于是主人很大方他说:“好吧!从明天起早晨给你四颗,晚上三颗。”小猴子开心极了。

下列哪项与上述寓言有相同的欺骗手法?

1. 许多厂家为了推销自己的产品,常常给对方经办人员5%左右的回扣,以此为诱饵,增加对方的订货。

2. .“佳美”羊毛衫零售价一般是200元,但销路很不好。某一商店突发奇招,在柜台前贴一张海报:佳美羊毛衫,原价250元,现价200元,八折优惠。从此门庭若市。

3. 某烟贩销售假“红塔山”,8元一包,并谎称是批发价,结果顾客抢购如潮。

4. 张某为实现自己非分之想,给领导李某1万元好处费,结果是李某开心,张某称心。

Question 10. (单选)

英国哲学家伯特兰·罗素有一个关于归纳主义者火鸡的故事。在火鸡饲养场里,有一只火鸡发现,第一天上午9点钟主人给它喂食。然而作为一个卓越的归纳主义者,它并不马上作出结论。它一直等到已收集了有关上午9点给它喂食这一经验事实的大量观察;而且,它是在多种情况下进行这些观察的:雨天和晴天,热天和冷天,星期三和星期四……它每天都在自己的记录表中加进新的观察陈述。最后,它的归纳

主义良心感到满意,它进行归纳推理,得出了下面的结论:“主人总是在上午9点钟给我喂食。”可是,事情并不像它所想像的那样简单和乐观。在圣诞节前夕,当主人没有给它喂食,而是把它宰杀的时候,它通过归纳概括而得到的结论终于被无情地推翻了。大概火鸡临终前也会因此而感到深深遗憾。

在这则故事中,火鸡的归纳及其失败类似于下面哪项?

1. 在过去很长一段时间里,由于人们一直不曾看见白色以外颜色的天鹅,认为天鹅都是白色的,直到澳州发现黑天鹅才推翻这一结论。

2. 过去人们一直在物理上绝对相信“以太”的存在,直到爱因斯但相对论提出后,才推翻“以太”存在说。

3. 一个识字的人出于对他所读不懂的书的神秘感,而认为“所有的书都是好的”。当然这个结论是不成立的。

4. 甲地有一座金矿,综合考察乙地的各项地理条件类似甲地而认为乙地也有金矿,实际开采发觉这个结论是错误的。

Question 11. (单选)

用二分法查找一个长度为10的、排好序的线性表,查找不成功时,最多需要比较多少次?

1. 5

2. 2

3. 4

4. 1

Question 12. (单选)

80386微处理器的实存容量为

1. 64KB

2. 512KB

3. 1MB

4. 2MB

Question 13. (单选)

下列哪一个关键码序列不符合堆的定义?

1. A、C、D、G、H、M、P、Q、R、X

2. A、C、M、D、H、P、X 、G、0、R

3. A、D、P、R、C、Q、X 、M、H、G

4. A、D、C、M、P、G、H、X 、R、Q

Question 14. (单选)

下列各种操作的时间中,哪一个不属于活动头硬盘的存取访问时间?

1. 寻道时间0

2. 旋转延迟时间

3. 定位时间

4. 传送时间

Question 15. (单选)

下列对MD5的叙述不正确的是:

1. 是一种散列算法

2. 指纹(摘要)的长度为128位

3. 是一种对称加密算法

4. 可用来校验数据的完整性

Question 16. (单选)

与逆波兰表达式ab+cd+*对应的中缀表达式是:

1. a+b+c*d

2. (a+b)*c+d

3. (a+b)*(c+d)

4. a+b*c+d

Question 17. (单选)

HTTP 1.1协议中规定表示正常响应的状态代码是

1. 0

2. 100

3. 200

4. 400

Question 18. (单选)

在SOCKET通信过程中,下列哪些函数是客户端需要调用,但是服务端不需要调用的函数?

1. socket()

2. bind()

3. connect()

4. send()

Question 19. (单选)

将网络地址映射为链路层相应地址的协议是

1. DNS

2. TCP

3. ARP

4. ICMP

Question 20. (单选)

int listen(SOCKET s, int backlog);该函数中第二个参数的含义

1. 是否打开log信息

2. 是否打开后台log信息

3. 后台等待连接队列的最大限制值

4. 后台等待连接队列的最小限制值

5. 无意义

Question 21. (单选)

交换机不具有下面哪项功能

1. 交换机不具有下面哪项功能

2. 回路避免

3. 路由转发

4. 地址学习

Question 22. (单选)

面哪种网络设备用来隔绝广播

1. 集线器

2. 交换机

3. 路由器

Question 23. (单选)

SMTP的主要功能是什么

1. 提供有关网络设备的管理信息

2. 在路由器接口层监控安全边界

3. 在主机间传输邮件

4. 提供端口利用信息

Question 24. (单选)

下面关于通道的叙述中,正确的是Ⅰ.通道相当于一个功能简单的处理机Ⅱ.通道完成数据输入输出工作Ⅲ.通道与CPU共用一个内存

1. Ⅰ和Ⅱ

2. Ⅰ和Ⅲ

3. Ⅱ和Ⅲ

4. 都是

Question 25. (单选)

某二叉树结点的对称序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E。该二叉树对应的树林结点的层次次序序列为

1. E、G、F、A、C、D、B

2. E、A、C、B、D、G、F

3. E、A、G、C、F、B、D

4. E、G、A、C、D、F、B

Question 26. (单选)

有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?(????)

1. 5 4 3 6 1 2

2. 4 5 3 1 2 6

3. 4 3 5 2 1 6

4. 2 3 4 1 5 6

5. 3 4 6 5 2 1

Question 27. (单选)

下面的哪个序列可能是二叉搜索树中序遍历的结果

1. 73 8 2 9 4 11

2. 2 3 4 7 8 9 11

3. 11 2 9 3 8 4 7

4. 以上均可

Question 28. (单选)

假设一棵二叉树的后序遍历序列为 DGJHEBIFCA ,中序遍历序列为 DBGEHJACIF ,则其前序遍历序列为 ( ) 。

1. ABCDEFGHIJ

2. ABDEGHJCFI

3. ABDEGHJFIC

4. ABDEGJHCFI

Question 29. (单选)

下面叙述正确的是。

1. 算法的执行效率与数据的存储结构无关

2. 算法的空间复杂度是指算法程序中指令(或语句)的条数

3. 算法的有穷性是指算法必须能在执行有限个步骤之后终止

4. 以上三种描述都不对

Question 30. (单选)

启发式搜索一般是何种算法的改进

1. 深度优先搜索

2. 广度优先搜索

3. 动态规划

4. 贪婪法

Question 31. (单选)

字符串通常采用的两种存储方式是

1. 散列存储和索引存储

2. 索引存储和链式存储

3. 顺序存储和链式存储

4. 散列存储和顺序存储

Question 32. (单选)

汉诺塔(Hanoi)问题中令h(n)为从A移动n个金片到C上所用的次数,则递归方程为

1. h(n)=2hn-1

2. h(n) = 2h(n-1)+1

3. h(n)=2^n-n*h-1

4. h(n)=2h*n-1

Question 33. (多选)

栈是一种依赖于以下哪种实现的结构

1. 先进/后出

2. 后进/先出

3. 先来先用

4. 先进/先出

5. 后进/后出

Question 34. (多选)

下列叙述哪些是对的。

1. 线性表的逻辑顺序与物理顺序总是一致的。

2. 线性表的顺序存储表示优于链式存储表示。

3. 线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

4. 二维数组是其数组元素为线性表的线性表。

5. 每种数据结构都应具备三种基本运算:插入、删除和搜索。

Question 35. (单选)

下面描述中正确的为:

1. 线性表的逻辑顺序与物理顺

序总是一致的。

2. 线性表的顺序存储表示优于链式存储表示。

3. 线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

4. 二维数组是其数组元素为线性表的线性表。

Question 36. (单选)

在数据库的如下两个表中,若雇员信息的主键是雇员号,部门信息表的主键是部门号,在下列所给的操作中,哪个操作不能执行?雇员信息表: 雇员号 雇员名 部门号 工资 001 张山 02 2000 010 王宏达 01 1200 056 马林生 02 1000 101 赵敏 04 1500 部门信息表 部门号部门名 主任 01 业务部 李建 02 销售部 应伟东 03 服务部 周垠 04 财务部 陈力胜

1. 从雇员信息表中删除行('010','王宏达','01',1200)

2. 将行('102','赵敏','01',1500)插入到雇员信息表中

3. 将雇员信息表中雇员号='010'的工资改为1600元

4. 将雇员信息表中雇员号='101'的部门号改为' 05'

Question 37. (单选)

数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上。假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,对信息存储进行优化分布后,处理10个记录的最少时间为()

1. 40ms

2. 60ms

3. 120ms

4. 160ms

Question 38. (单选)

某软件公司在招聘软件评测师时,应聘者甲向公司作如下保证: 1.经过自己测试的软件今后不会再出现问题; 2.在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结; 3.承诺不需要其它人员,自己就可以独立进行测试工作; 4.发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休。你认为应聘者甲的保证( )

1. 1 4是正确的

2. 2 是正确的

3. 都是正确的

4. 都不正确

Question 39. (单选)

现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为

1. i /(1+ F)n

2. F/(1+i n)

3. F/in

4. F/(1+i)n

Question 40. (单选)

如果互连的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的互连设备应该是

1. 中继器

2. 网桥

3. 网卡

4. 路由器

Question 41. (多选)

有两台游戏服务器运行于linux 2.6.x内核上,需要同步用户访问日志,你会用下列哪些方法同步日志(开放题:假设权限和条件均可满足)?

1. rsync

2. wget

3. scp

4. ftp

5. 还有更多(举例说明,正确者加分)

Question 42. (多选)

linux 2.6.* 内核支持的文件系统有:

1. ext3

2. ext2

3. ext4

4. xfs

5. ufs

Question 43. (单选)

最影响应用性能的因素是:

1. cpu 的快慢

2. 磁盘的快慢

3. 内存的快慢

4. 显卡的快慢

5. 网卡的快慢

Question 44. (单选)

php是一门:

1. 编译语言

2. 解释语言

3. 脚本语言

Question 45. (单选)

用ext2格式化文件系统,文件系统块大小为4K bytes,那么硬盘读写的最小单位是:

1. 1 byte

2. 1024 bytes

3. 512 bytes

4. 4096 bytes

5. 1024 bits

Question 46. (多选)

已知如下类定义:

class Base {

public Base (){ //... }

public Base ( int m ){ //... }

protected void fun( int n ){ //... }

}

public class Child extends Base{

// member methods

}

如下哪句可以正确地加入子类中?

1. private?void?fun(?int?n?){?//...}

2. void fun ( int n ){ //... }

3. protected void fun ( int n ) { //... }

4. public void fun ( int n ) { //... }

Question 47. (单选)

It is an important feature of the Java language that it always provides a default constructor to a class.

1. FALSE

2. TRUE

Question 48. (单选)

A class contained in a Java program file must have the same name as the file, except for the extension

范文十:阿里巴巴DBA笔试题

1:列举几种表连接方式

2:不借助第三方工具,怎样查看sql的执行计划

3:如何使用CBO,CBO与RULE的区别

4:如何定位重要(消耗资源多)的SQL

5:如何跟踪某个session的SQL

6:SQL调整最关注的是什么

7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能) 8:使用索引查询一定能提高查询的性能吗?为什么

9:绑定变量是什么?绑定变量有什么优缺点?

10:如何稳定(固定)执行计划

11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么

12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql 二:数据库基本概念类

1:pctused and pctfree 表示什么含义有什么作用

2:简单描述table / segment / extent / block之间的关系

3:描述tablespace和datafile之间的关系

4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点

5:回滚段的作用是什么

6:日志的作用是什么

7:SGA主要有那些部分,主要作用是什么

8racle系统进程主要有哪些,作用是什么

三:备份恢复类

1:备份如何分类

2:归档是什么含义

3:如果一个表在2004-08-04 10:30:00 被drop,在有完善的归档和备份的情况下,如何恢复

4:rman是什么,有何特点

5:standby的特点

6:对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略 四:系统管理类

1:对于一个存在系统性能的系统,说出你的诊断处理思路

2:列举几种诊断IO、CPU、性能状况的方法

3:对statspack有何认识

4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响

5:对raid10 和raid5有何认识

五:综合随意类

1:你最擅长的是oracle哪部分?

2:喜欢oracle吗?喜欢上论坛吗?或者偏好oracle的哪一部分?

3:随意说说你觉得oracle最有意思的部分或者最困难的部分

4:为何要选择做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);

http://download-west.oracle.com/ ... /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:使用索引查询一定能提高查询的性能吗?为什么

索引就是为了提高查询性能而存在的, 如果在查询中索引没有提高性能, 只能说是用错了索引,或者讲是场合不同

9:绑定变量是什么?绑定变量有什么优缺点?

绑定变量是相对文本变量来讲的,所谓文本变量是指在SQL直接书写查询条件,这样的SQL在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询bind value在运行时传递,然后绑定执行。优点是减少硬解析,降低CPU的争用,节省shared_pool ;缺点是不能使用histogram,sql优化比较困难

10:如何稳定(固定)执行计划

query_rewrite_enabled = true

star_transformation_enabled = true

optimizer_features_enable = 9.2.0

创建并使用stored outline

http://download-west.oracle.com/ ... /outlines.htm#26854 11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么 8i中sort_area_size/sort_area_retained_size决定了排序所需要的内存 如果排序操作不能在sort_area_size中完成,就会用到temp表空间 9i中如果workarea_size_policy=auto时, 排序在pga内进行,通常pga_aggregate_target的1/20可以用来进行disk sort; 如果workarea_size_policy=manual时,排序需要的内存由sort_area_size决定

在执行order by/group by/distinct/union/create index/index rebuild/minus等操作时,

如果在pga或sort_area_size中不能完成,排序将在临时表空间进行(disk sort),

临时表空间主要作用就是完成系统中的disk sort.

12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql

create table t(a number(,b number(,c number(,d number();

/

begin

for i in 1 .. 300 loop

insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4);

end loop;

end;

/

select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;

/

select * from (select * from test order by c desc) x where rownum

minus

select * from (select * from test order by c desc) y where rownum