阿里巴巴笔试题及答案.docx

上传人:b****3 文档编号:5427681 上传时间:2022-12-16 格式:DOCX 页数:14 大小:24.33KB
下载 相关 举报
阿里巴巴笔试题及答案.docx_第1页
第1页 / 共14页
阿里巴巴笔试题及答案.docx_第2页
第2页 / 共14页
阿里巴巴笔试题及答案.docx_第3页
第3页 / 共14页
阿里巴巴笔试题及答案.docx_第4页
第4页 / 共14页
阿里巴巴笔试题及答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

阿里巴巴笔试题及答案.docx

《阿里巴巴笔试题及答案.docx》由会员分享,可在线阅读,更多相关《阿里巴巴笔试题及答案.docx(14页珍藏版)》请在冰豆网上搜索。

阿里巴巴笔试题及答案.docx

阿里巴巴笔试题及答案

阿里巴巴笔试题及答案

【篇一:

阿里巴巴oracle-dba笔试题及答案】

txt>1:

列举几种表连接方式

hashjoin/mergejoin/nestloop(clusterjoin)/indexjoin

2:

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

setautoton

explainplansetstatement_id=item_idforsql;

select*fromtable(dbms_xplan.display);

在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择cbo,否则选rbo。

rbo遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目,

然后选择最佳级别(最少的数量)的执行路径来运行查询。

cbo尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算使用不同

的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。

4:

如何定位重要(消耗资源多)的sql

selectsql_text

fromv$sql

wheredisk_reads1000or(executions0andbuffer_gets/executions30000);5:

如何跟踪某个session的sql

execdbms_system.set_sql_trace_in_session(sid,serial#,sql_trace);

selectsid,serial#fromv$sessionwheresid=(selectsidfromv$mystatwhererownum=1);

execdbms_system.set_ev(sid,serial#,event_10046,level_12,);6:

sql调整最关注的是什么

查看该sql的responsetime(dbblockgets/consistentgets/physicalreads/sorts(disk))

7:

说说你对索引的认识(索引的结构、对dml影响、为什么提高查询性能)b-treeindex/bitmapindex/functionindex/patitionalindex(local/global)索引通常能提高select/update/delete的性能,会降低insert的速度,

8:

使用索引查询一定能提高查询的性能吗?

为什么

索引就是为了提高查询性能而存在的,

如果在查询中索引没有提高性能,

只能说是用错了索引,或者讲是场合不同

9:

绑定变量是什么?

绑定变量有什么优缺点?

绑定变量是相对文本变量来讲的,所谓文本变量是指在sql直接书写查询条件,

这样的sql在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询bindvalue在运行时传递,然后绑定执行。

如果排序操作不能在sort_area_size中完成,就会用到temp表空间

9i中如果workarea_size_policy=auto时,

排序在pga内进行,通常pga_aggregate_target的1/20可以用来进行disksort;如果workarea_size_policy=manual时,排序需要的内存由sort_area_size决定

在执行orderby/groupby/distinct/union/createindex/indexrebuild/minus等操作时,

如果在pga或sort_area_size中不能完成,排序将在临时表空间进行(disksort),临时表空间主要作用就是完成系统中的disksort.

12:

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

createtablet(anumber(8),bnumber(8),cnumber(8),dnumber(8));/

begin

foriin1..300loop

insertintotvalues(mod(i,2),i/2,dbms_random.value(1,300),i/4);endloop;

end;

/

select*from(selectc.*,rownumasrnfrom(select*fromtorderbycdesc)c)wherernbetween21and30;

/

select*from(select*fromtestorderbycdesc)xwhererownum30minus

select*from(select*fromtestorderbycdesc)ywhererownum20orderby3desc

相比之minus性能较差

二:

数据库基本概念类

1:

pctusedandpctfree表示什么含义有什么作用

pctused与pctfree控制数据块是否出现在freelist中,

pctfree控制数据块中保留用于update的空间,当数据块中的freespace小于pctfree设置的空间时,

该数据块从freelist中去掉,当块由于dml操作freespace大于pct_used设置的空间时,该数据库块将

能够迅速有效地管理存储扩展和剩余区块(freeblock),因此能够改善分段存储本质,assm表空间上创建的段还有另外一个称呼叫bitmapmanagedsegments(bmb段)。

5:

回滚段的作用是什么

事务回滚:

当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(rollback)时,oracle将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。

事务恢复:

当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,oracle将在下次打开数据库时利用回滚来恢复未提交的数据。

读一致性:

当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。

当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)

当oracle执行select语句时,oracle依照当前的系统改变号(systemchangenumber-scn)

来保证任何前于当前scn的未提交的改变不被该语句处理。

可以想象:

当一个长时间的查询正在执行时,

若其他会话改变了该查询要查询的某个数据块,oracle将利用回滚段的数据前影像来构造一个读一致性视图。

6:

日志的作用是什么

记录数据库事务,最大限度地保证数据的一致性与安全性

重做日志文件:

含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件

归档日志文件:

是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

7:

sga主要有那些部分,主要作用是什么

sga:

db_cache/shared_pool/large_pool/java_pool

db_cache:

数据库缓存(blockbuffer)对于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:

为javaprocedure预备的内存区域,如果没有使用javaproc,java_pool不是必须的

8:

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

数据写进程(dbwr):

负责将更改的数据从数据库缓冲区高速缓存写入数据文件

日志写进程(lgwr):

将重做日志缓冲区中的更改写入在线重做日志文件

系统监控(smon):

检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控(pmon):

负责在一个oracle进程失败时清理资源

检查点进程(chpt):

负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

归档进程(arcn):

在每次日志切换时把已满的日志组进行备份或归档

作业调度器(cjq):

负责将调度与执行系统中已定义好的job,完成一些预定义的工作.恢复进程(reco):

保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback;

三:

备份恢复类

1:

备份如何分类

逻辑备份:

exp/imp

物理备份:

rman备份

fullbackup/incrementalbackup(累积/差异)

热备份:

altertablespacebegin/endbackup;

冷备份:

脱机备份(databaseshutdown)

2:

归档是什么含义

关于归档日志:

oracle要将填满的在线日志文件组归档时,则要建立归档日志(archivedredolog)。

其对数据库备份和恢复有下列用处:

1数据库后备以及在线和归档日志文件,在操作系统和磁盘故障中可保证全部提交的事物可被恢复。

2在数据库打开和正常系统使用下,如果归档日志是永久保存,在线后备可以进行和使用。

数据库可运行在两种不同方式下:

noarchivelog方式或archivelog方式

数据库在noarchivelog方式下使用时,不能进行在线日志的归档,

如果数据库在archivelog方式下运行,可实施在线日志的归档。

3:

如果一个表在2004-08-0410:

30:

00被drop,在有完善的归档和备份的情况下,如何恢复?

手工拷贝回所有备份的数据文件

sqlstartupmount;

sqlalterdatabaserecoverautomaticuntiltime2004-08-04:

10:

30:

00;sqlalterdatabaseopenresetlogs;

4:

rman是什么,有何特点?

rman(recoverymanager)是dba的一个重要工具,用于备份、还原和恢复oracle数据库,rman可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可以用来执行完全或不完全的数据库恢复。

rman有三种不同的用户接口:

commandline方式、gui方式(集成在oem中的备份管理器)、api方式(用于集成到第三方的备份软件中)。

具有如下特点:

1)功能类似物理备份,但比物理备份强大n倍;

2)可以压缩空块;

3)可以在块水平上实现增量;

4)可以把备份的输出打包成备份集,也可以按固定大小分割备份集;

5)备份与恢复的过程可以自动管理;

6)可以使用脚本(存在recoverycatalog中)

7)可以做坏块监测

9i中的三种数据保护模式分别是:

1)、maximizeprotection:

最大数据保护与无数据分歧,lgwr将同时传送到备用节点,在主节点事务确认之前,备用节点也必须完全收到日志数据。

如果网络不好,引起lgwr不能传送数据,将引起严重的性能问题,导致主节点down机。

2)、maximizeavailability:

无数据丢失模式,允许数据分歧,允许异步传送。

正常情况下运行在最大保护模式,在主节点与备用节点的网络断开或连接不正常时,自动切换到最大性能模式,

主节点的操作还是可以继续的。

在网络不好的情况下有较大的性能影响。

3)、maximizeperformance:

这种模式应当可以说是从8i继承过来的备用服务器模式,异步传送,

无数据同步检查,可能丢失数据,但是能获得主节点的最大性能。

9i在配置dataguard的时候默认就是maximizeperformance

6:

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

rman/每月一号level0每周末/周三level1其它每天level2

四:

系统管理类

1:

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

1做statspack收集系统相关信息

【篇二:

阿里巴巴2016前端开发工程师笔试及答案

(二)】

答案:

c你的答案:

空(错误)

e.preventdefault()

e.cancelbubble=true

e.stoppropagation()

e.stopimmediatepropagation()

以下关于盒子模型描述正确的是:

正确答案:

a你的答案:

空(错误)

标准盒子模型中:

盒子的总宽度=左右margin+左右border+左右padding+width

ie盒子模型中:

盒子总宽度=左右margin+左右border+width

标准盒子模型中:

盒子的总宽度=左右margin+左右border+width

ie盒子模型中:

盒子总宽度=width

使用css的flexbox布局,不能实现以下哪一个效果:

正确答案:

d你的答案:

空(错误)

三列布局,随容器宽度等宽弹性伸缩

多列布局,每列的高度按内容最高的一列等高

三列布局,左列宽度像素数确定,中、右列随容器宽度等宽弹性伸缩

多个宽高不等的元素,实现无缝瀑布流布局

关于html语义化,以下哪个说法是正确的?

正确答案:

d你的答案:

空(错误)

语义化的html有利于机器的阅读,如pda手持设备、搜索引擎爬虫;但不利于人的阅读table属于过时的标签,遇到数据列表时,需尽量使用div来模拟表格

语义化是html5带来的新概念,此前版本的html无法做到语义化

header、article、address都属于语义化明确的标签

关于http协议,下面哪个说法是正确的?

正确答案:

c你的答案:

空(错误)

http协议是有状态协议。

以下是一个http链接的response的响应头:

get/xxx/xxx/js/lib/test.jshttp/1.1host:

127.0.0.1connection:

keep-alivepragma:

no-cachecache-control:

no-cacheaccept:

*/*

restful接口中,利用http协议的method字段来描述要对资源操作的方式,比如get表示获取资源,post表示新增一个资源,put表示更新资源,delete表示删除资源等等。

一个http请求返回的http状态码中,304表示临时重定向。

使用forin循环数组中的元素会枚举原型链上的所有属性,过滤这些属性的方式是使用1函数

参考答案hasownproperty

在空白处填入适当的代码使输出结果成立:

functionshowmoney(){

};

varpersona=newobject;

varpersonb=newobject;

persona.money=100;

personb.money=150;

persona.showmoney=showmoney;

personb.showmoney=showmoney;

输出结果:

persona.showmoney();//100

personb.showmoney();//150

你的答案(错误)

参考答案returnthis.money;

删除给定数组中的第二项和第三项,并且在得到的新的数组中第二项后面添加一个新的值

vararr1=[a,b,c,d,e];vararr2=arr1.(,,newvalue)

你的答案(错误)

参考答案splice

写一个求和的函数sum,达到下面的效果

1

2

3

4

5

6

7//shouldequal15sum(1,2,3,4,5);//shouldequal0sum(5,null,-5);//shouldequal10sum(1.0,false,1,true,1,a,1,b,1,c,1,d,1,e,1,f,1,g,1);

9sum(0.1,0.2);

你的答案

1

2

3

4

5

6

7

functionsum(){varnresult=0;for(vari=0,l=arguments.length;il;i++){nresult+=window.parsefloat(arguments[i])||0;}returnnresult.tofixed(3)*1000/1000;}

请写一个表格以及对应的css,使表格奇数行为白色背景,偶数行为灰色背景,鼠标移上去时为黄色背景。

你的答案

1

2

3

4

5

6

7

8

9

10

11

12

13

14tableclass=tabletrtd第一行/td/trtrtd第二行/td/trtrtd第三行/td/trtrtd第四行/td/tr/tablestyle.tabletr:

nth-child(2n-1){background-color:

white;}.tabletr:

nth-child(2n){background-color:

grey;}

16

17

18

background-color:

yellow;}/style写一个traverse函数,输出所有页面宽度和高度大于50像素的节点。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

functiontraverse(onode){vararesult=[];onode=onode||document.body;if(onode.style){varnwidth=window.parseint(onode.style.width,10)||0;varnheight=window.parseint(onode.style.height,10)||0;if(nwidth50nheight50){aresult.push(onode);}}varachildnodes=onode.childnodes;if(achildnodes.length0){for(vari=0,l=achildnodes.length;il;i++){varotmp=achildnodes[i];aresult=aresult.concat(traverse(otmp));}}returnaresult;}

【篇三:

2015阿里巴巴实习生笔试试卷001】

试卷描述:

【微信考试】、【检验实力】、【挑战bat】。

试卷限时:

120分钟

一.单选题(共24题)

是否题目乱序:

是否选项乱序:

是否可回溯:

每题分值:

2分

1.[单选]设栈s初始状态为空。

元素a,b,c,d,e,f依次通过栈s,若出栈的顺序为

c,f,e,d,b,a,则栈s的容量至少应该为______。

a.

b.

c.

d.3456

答案:

b

2.[单选]10个相同的糖果,分给三个人,每个人至少要得一个。

有___种不同分法。

a.33

b.34

c.35

d.36

答案:

d

3.[单选]小数值1.5625的二进制表示是____。

a.101.1001

b.0.001

c.101.111

d.1.1001

答案:

d

4.[单选]某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是

______。

a.a、45231

b.b、42351

c.c、12345

d.d、54321

答案:

a

5.[单选]主机甲和主机乙间已建立一个tcp连接,主机甲向主机乙发送了两个连

续的tcp段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是___。

a.500

b.700

c.800

d.1000

答案:

d

6.[单选]在n个乱序数字中查找第k大的数字,时间复杂度可以减小至___。

a.o(n*logn)

b.o(n)

c.o

(1)

d.o(n^2)

答案:

b

7.[单选]平均速度最快的排序算法是______。

a.shell排序

b.快速排序

c.冒泡排序

d.插入排序

答案:

b

8.[单选]以下指令集架构属于复杂指令集架构的是____。

a.arm

b.mips

c.sparc

d.以上皆不是

答案:

d

9.[单选]有两个n*n的矩阵a和b,想要在pc上按矩阵乘法基本算法编程实现计

算a*b。

假设n较大,本机内存也很大,可以存下a、b和结果矩阵。

那么,为了计算速度,a和b在内存中应该如何存储(按行存指先存储第一行,再第二

行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)

a.a按行存,b按行存。

b.a按行存,b按列存。

c.a按列存,b按行存。

d.a按列存,b按列存。

答案:

a

10.[单选]设一棵二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总

的节点数为______。

a.12

b.13

c.14

d.15

答案:

a

11.[单选]ip数据报头采用______字节序,在此字节序下从低地址到高地址0x1234

的表示形式为______。

a.big_endian,0x120x3400

b.little_endian,0x340x1200

c.big_endian,000x120x34

d.little_endian,000x340x12

答案:

c

12.[

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1