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

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

阿里巴巴的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:日志的作用是什么

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

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

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

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

一份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);

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

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(8),b number(8),c number(8),d number(8)); /

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 < 30 minus

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

相比之 minus性能较差

二:数据库基本概念类

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:日志的作用是什么

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

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

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

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)。

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

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

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

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

NOARCHIVELOG方式或ARCHIVELOG 方式

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

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

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

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

sql>startup mount;

sql>alter database recover automatic until time '2004-08-04:10:30:00'; sql>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:对于一个存在系统性能的系统,说出你的诊断处理思路

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 。

五:综合随意类

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

pl/sql及sql优化

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

喜欢,sql的优化

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

latch free的处理

4:为何要选择做DBA呢?

兴趣所在

阿里巴巴2010校园招聘笔试题摘录(附答案)

阿里巴巴2010校园招聘笔试题摘录(附答案) 1. 一架飞机在满油的情况下可以绕地球飞 0.5 圈,假设飞机与飞机之间可以互相加油,请问在确保所有飞机够油飞回起点的情况下,最少需要几架飞机才可以让其中一架飞机成功绕地球飞行一圈?(提示1:地球是圆的!提示2:飞机可以重复使用!)( A ) A:3 B:4 C:5 D:6 E:7 2. 100 张多米诺骨牌整齐地排成一列,依顺序编号为 1、2、3、……、99、100 。第一次拿走所有奇数位置上的骨牌,第二次再从剩余骨牌中拿走所有奇数位置上的骨牌,以此类推。请问最后剩下的一张骨牌的编号是多少?(B ) A:32 B:64 C:88 D:96 3. 给你 8 颗小石头和一架天平。其中有 7 颗石头重量是一样的,另外一个比这 7 颗略重。请问在最坏的情况下,最少要称几次,才能把这颗较重的石头找出来。( B) A:3 B:2 C:1 D:4 4. 如果你有两个大小一样的桶,分别装了半桶红颜料和半桶蓝颜料。如果我们从蓝色颜料桶里舀一杯,倒入红色颜料桶里,搅拌均匀,然后再从红色颜料桶里舀一杯倒入蓝颜色桶。请问以下说法那种正确?(C ) A:红桶中蓝颜色的比例大 B:蓝桶中红颜色的比例大 C:红桶中蓝颜色的比例和蓝桶中红颜色的比例一样大 D:无法判断 5. 小王去商店买衬衫,售票员问她想要那种颜色,小王幽默的说:“我不像讨厌黄色那样讨厌红色,我不像讨厌白色那样讨厌蓝色,我不像喜欢粉色那样喜欢红色,我对蓝色不如对黄色那样喜欢”。小王最后会选择的颜色是什么?( A) A:粉色 B:蓝色 C:红色 D:黄色

6.在一次歌唱竞赛中,每一名参赛选手都有评委投了优秀票。如果上述断定为真,则以下哪项不可能为真?I.有的评委投了所有参赛选手优秀票。II.有的评委没有给任何参赛选手投优秀票。III.有的参赛选手没有得到一张优秀票。( C) A.只有I. B.只有II. C.只有III. D.只有I和II. E.只有I和III. 7.所有通过英语六级考试的学生都参加了学校的英语俱乐部,王进参加了英语俱乐部,所以他一定通过了英语六级考试。以下哪项最好地指出了上述论证的逻辑错误?(E ) (A)部分通过英语六级考试的学生没有参加英语俱乐部。 (B)王进能够参加英语俱乐部是因为它符合加入俱乐部的基本条件。 (C)王进曾经获得过年级英语演讲比赛第一名。 (D)凡愿意每学期缴纳50元会费,并且愿意积极参加俱乐部活动的学生都可以成为俱乐部的成员。 (E)有些参加俱乐部的学生还没有通过英语六级考试。 8.如果所有的妇女都有大衣,那么漂亮的妇女会有:(C ) A.给多的大衣 B.时髦的大衣 C.大衣 D.昂贵的大衣 9.在我国北方严寒冬季的夜晚,车辆前挡风玻璃会因低温而结冰霜。第二天对车辆发动预热后玻璃上的冰霜会很快融化。何宁对此不解,李军解释道:因为车辆仅有除霜孔位于前挡风玻璃,而车辆预热后除霜孔完全开启,因此,是开启除霜孔使车辆玻璃冰霜融化。以下哪项为真,最能质疑李军对车辆玻璃迅速融化的解释?(B ) A.车辆一侧玻璃窗没有出现冰霜现象 B.尽管车尾玻璃窗美哟除霜孔,其玻璃上的冰霜融化速度与前挡风玻璃没有差别 C.当吹在车辆玻璃上的空气气温增加,其冰霜的融化速度也会增加 D.车辆前挡风玻璃除霜孔排出的暖气流排出后可能很快冷却 10.小张承诺:如果天不下雨,我一定去听音乐会,以下哪项如果为真,说明小张没有兑现承诺?(I)天没下雨,小张没去听音乐会。(II)天下雨,小张去听了音乐会。(III)天下雨,小张没去听音乐会。(A ) A.仅(I) B.仅(II) C.仅(III) D.仅(I)和(II) E.(I),(II)和(III) 11.某零件加工厂按照工人完成的合格零件和不合格零件数支付工资,工人每做出一个合格零件能得到工资10元,每做出一个不合格的零件将被扣掉5元,已经某人一天共做了12个零件,得到工资90元,那么他在这一天作了多少个不合格零件?( A) A 2 B 3 C 4 D 6

阿里巴巴笔试题(南京站,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 的头文件中.

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)

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

阿里巴巴面试题 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】

阿里巴巴校园招聘阿里云笔试试题题目

1.有一个文件:c:/c.txt,写java程序把该文件内容复制两遍,追加到c:/c.txt; 2.写正则表达式1.邮箱2.数字 3.HashMap 改变map类对用户会不会有影响? 4.Linux中需查看所有的java进程,用什么命令 ps -ef|grep java 5.Ajax请求的整个流程 AJAX 在浏览器与Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。 open():建立到服务器的新请求。 send():向服务器发送请求。 abort():退出当前请求。 readyState:提供当前 HTML 的就绪状态。 responseText:服务器返回的请求响应文本。 6.写一个类实现线程同步的单例设计模式 7.一个包含4块硬盘的服务器一年中至少有一块硬盘出故障的概率是99.99%,每块硬盘任意时刻出故 障的概率服从相同的分布规律,并且彼此独立,问12块硬盘的服务器一季度内至少有一个硬盘出故障的概率是多少。 8.有一个size1000的ector,删除其中的第5,6,7号元素,要求效率高(C) 9.数列L中有n个整数,其中K个数字出现了两次,1个数字出现了一次,所以n=2k+1; 请在使用O(1)空间的前提下,尽快找出只出现一次的那个数字,并说明算法的复杂度。用异或,时间复杂度O(n) 10.有一个文件,存在40亿个不重复的整数(0~4294967295),可用内存只有256M,32比 特的整数有4294967295(约42.9亿)种取值可能,如何找出不存在的294967295(约 2.9亿)个数扫描结果数据可存放到文件中,不占用内存 分段载入内存,排序,输出,一共要扫描文件2^32/(256*2^20/32)=512遍 BITMAP分16次处理 建42.9bits的文件,按200m一段映射,先遍历40亿个数,检查n/有8字节位置是否在当前映射区,否则换映射位置,然后标记。然后读 2.9亿检查,都一个道理,建在共享内存里的bitmap 而已。 位图算法,用含有1千万个位的字符串来表示这个文件,文件中有的数据则标识为1,没有则标识为0,最后从第一位读至最后一位,即为有序的集合。这种算法充分利用了题目中给的条件,但也仅仅适合本题目,(不会有重复的数字,同时不与其余的数进行关联)

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

阿里巴巴的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:日志的作用是什么

阿里巴巴校园招聘:软件研发工程师笔试题

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:

阿里巴巴校招产品经理笔试题

阿里巴巴校招产品经理笔试题目 【业务性产品经理(商业领域)笔试题】 (开放题,每人选做其中五道即可) 1.如果让你作天猫、淘宝7月某类目销量分析,你会怎么做?现在大家都在讲O2O, 清谈一下你对O2O的理解以及对客户的价值所在,并且以商家的角度,描述一下 你观察到的他们的核心痛点有哪些? 2.如果你手上的资源短期只能解决一个痛点的话,你会怎么来选择?为什么?后期的 优先级是怎么排列的? 3.如果让你设计一款相册APP,代替系统自带的相册功能,你会怎么设计,列举主要 功能(先分析原生相册的不足,用户需求痛点,然后描述下界面设计,并说明为什 么用户要使用你的产品) 4.如何验证一个产品优化方案是否有效选择旅游、商品、理财、食品、体育其中一类, 设计一个你觉得有需求且目前没有得到较好满足的功能,可以是一款小而美的产品,也可以是承载在某一款产品上的功能你最喜欢的互联网公司,其都有哪些优缺点, 如何改进? 5.最近扶梯安全事故频发,你是扶梯公司ceo,你怎么改善产品,怎么运营,怎么利 润最大化?设计一个果汁饮料,竞品有哪些,如何进行竞品分析?如何检测o2o 线下服务质量? 6.设计一个B2C营销盛典的页面,包括H5游戏。写出主要设计思路。分析淘宝中的 “淘抢购”频道的用户群体,用户需求,用户使用特性等等要设计一款果汁饮料, 做竞品分析。写出主要的竞争对手有哪些,并说明主要思路规划一款预订理发的

APP假如您现在需要为一家企业做一款社交软件,请描述一个完整的产品规划到实施的过程包括哪些部分。 7.如果我是一个风投,现在要给你一笔费用和一个团队。请设计一个针对南美市场的 跨境电商产品。请说明你需要多少费用和什么样的团队,将在一年内将这个产品做到什么样,达成什么目标? 8.假设美国亚马逊网站7-8月的网站访客流量比6月下降了10%,如果你是亚马逊 网站的流量分析产品经理,请解释分析下这个现象。 9.如果你是上门服务O2O的产品经理你将通过何种方式保证上门服务的质量现在大 型超市食品类柜台经常有试吃活动请谈谈顾客是怎样的消费心理,这对用户的购买率是否有影响?为什么? 10.如果有一位没用任何营销技能,甚至不能说话的销售员,你是否愿意让他/她去试 吃柜台为用户服务,这对用户的购买率是否有影响?为什么? 11.淘宝目前的哪个业务你觉得最受人吐槽,为什么以及如果做好了会怎么样。为老人 设计打车软件你熟悉的社交软件相较于其他社交软件的优劣势对天猫淘宝7月份某类目商品销量进行分析。 12.说出你喜欢的获取互联网资讯的途径,比如app,微信微博等,并分析其核心竞争 力你自己是否有产品的经历?如果有,需求是如何发现的?解决了什么问题?假如你是一个村支书,村里目前修路需要占用一部分土地,部门村民对被占用土地的赔偿金额感到不满,鼓动了一批民众到工地闹事,已经演变成聚众事件,你将如何解决?【 阿里巴巴校招运营专员笔试题】

2015校招-阿里巴巴在线笔试题目

1、某团队有 2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的最少有______人。 3 4 5 8 15 20 2、下列结构中,______必须随机存取实现。 栈 队列 数组 单链表 二叉树 堆 3、在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行______。delete q; q->next=p->next;delete p; p->next=q->next;delete p; p->next=q->next;delete q; delete p; q->next=p->next;delete q 4、带头结点的单链表head为空的判定条件是:______。 head==NULL head->next==NULL head->next==head head!=NULL *head==NULL *(head->next)==NULL 5、甲乙两路发车间隔均为10分钟的公交车发车时刻分钟数个位分别为1和9,那么对于一个随机到达的乘客,ta乘坐甲车的概率为: 0.1 0.2 0.3 0.4 0.5 0.9 6、硬币游戏:连续扔硬币,直到某一人获胜。A获胜条件是先正后反,B获胜是出现连续两次反面,问AB游戏时A获胜概率是______。 1/6 1/4

1/2 2/3 3/4 7、棋盘上共有2020个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达2014或超过2014,游戏结束。那么,棋子刚好到达2014的概率与______最接近。 2/3 1/2 1/3 2/7 1/6 1/7 8、“秘密”是一款在朋友圈内匿名交流的SNS平台。假定每个人只能看到朋友发的帖子,却不知道具体是谁发的;并且朋友关系是对称的,即如果A是B的朋友,那么B也是A的朋友。某好事者希望知道一篇帖子具体是谁发的,他通过找几个好友看看他们是否是这个帖子楼主的朋友,从而求“交集”,推断楼主是谁。朋友圈是指彼此互为朋友的人群。什么样的楼主容易被发现真实身份? 朋友很多的楼主。 朋友很少的楼主。 发负能量帖子的楼主。 有很多个小朋友圈的楼主。 发正能量帖子的楼主。 只有一个大朋友圈的楼主。 9、H同学每天乘公交上学,早上睡过头或遇到堵车都会迟到;H早上睡过头概率为0.2,路上遇到堵车概率为0.5;若某天早上H迟到了,那么以下推测正确的有______。 今天H早上睡过头了 今天H早上睡过头的概率为0.2 今天H早上睡过头的概率大于0.2 今天H早上遇到堵车了 今天H早上遇到堵车的概率为0.5 今天H早上遇到堵车的概率小于0.5 10、一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法表达式;现在有6对(),它们可以组成的合法表达式的个数为______。 15 30 64 132 256 360 11、下列结构中,______必须随机存取实现 栈 队列

阿里巴巴校园招聘笔试题目

2015年阿里巴巴校园招聘笔试题目 笔试时间为2014年8月29日,均为网上答题。第一部分为单选题,共20题,要在40分钟内完成。每个人的选择题都不一样,应该是后台有题库,每个人的试卷都是随机生成的。第二部分为附加题,一般为1道问答题,2道编程题。。 通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的,并且经过一个非常大的循环会回到第一个数的状态,然后周而复始。显然,摇号、抽奖的程序是不能通过伪随机数来实现的。现实中常常基于某种热噪声来实现真正的随机数。假定某热噪声是标准正态分布,那么能否将它转换成区间上的均匀分布______? 忽略测量和计算误差,可以转换为区间上的均匀分布。 无法转换为区间上的均匀分布。 信息不足,无法判断。 借助伪随机数生成算法可以转换为区间上的均匀分布。 仅仅靠伪随机数生成算法,就可以生成区间上的均匀分布 以上说法都不对。 在一个童话世界里,任意两个人之间要么是朋友关系,要么是敌人关系,不存在其他关系及没有关系的情况。并且,如果A和B是朋友关系,B和c是朋友关系,那么A和c必然是朋友关系。那么关于这个童话世界中的人群的说法错误的是:______?

可能只有1个人群,这个人群内部是朋友关系。 可能有2个人群,人群内部是朋友关系,人群之间是敌人关系。 可能有3个及以上个人群,人群内部是朋友关系,人群之间是敌人关系。 如果存在多个人群,并且人群内部是朋友关系,人群之间是敌人关系,那么这些人群必然是差不多大小的。 选项B中的情况可以是其中一个人群只有一个人,另外一个人群可以由很多人。 这样一个世界里朋友关系是比较不容易发生变化的。 12321能被写成______种两个质数相加的形式。 1 2 3 4 5 在小端序的机器中,如果 unionX{ intx; chary[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:

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

产品类面试真题 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 }.

2017阿里巴巴招聘笔试题

2017阿里巴巴招聘笔试题 1、iBatis相比JDBC优势的优势有哪些? 答:简单易上手、开发速度快、面向对象,数据库可移植。 (此处应该将优缺点一起分析,才是满意得到回答) 延伸学习: MyBatis和iBatis的区别: ibatis本是apache的一个开源项目,2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis (1)Mybatis实现了接口绑定,使用更加方便: 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件,而Mybatis实现了DAO接口与xml映射文件的绑定, (2)对象关系映射的改进,效率更高 iBatis: 优点 : 代码量减少、简单易上手、SQL语句和代码分离(便于修改)、数据库可移植 缺点:SQL语句需要自己写、参数只能有一个 Hibernate: 优点:对象关系数据库映射、完全面向对象、提供缓存机制、HQL编程 缺点:不能灵活使用原生SQL、无法对SQL优化、全表映射效率低下、N+1的问题 JDBC、iBatis、Hibernate明显对比: JDBC更为灵活,更加有效率,系统运行速度快。但是代码繁琐复杂,有的时候用了存储过程就不方便数据库移植了。 hibernate,iBatis 关系数据库框架,开发速度快,更加面向对象,可以移植更换数据库,但影响系统性能。 JDBC:手动 手动写sql,不能直接传入一个对象、不能直接返回一个对象。 iBatis的特点:半自动化 手动写sql,能直接传入一个对象、能直接返回一个对象。

Hibernate:全自动 不写sql,自动封装,能直接传入一个对象、能直接返回一个对象。 2、PrepareStatement相比statement,有哪些优点? 答: (1)直接使用Statement,驱动程序一般不会对sql语句作处理而直接交给数据库; 使用PreparedStament,形成预编译的过程,并且会对语句作字符集的转换(至少在sql server)中如此。 如此,有两个好处:对于多次重复执行的语句,使用PreparedStament效率会更高一点,并且在这种情况下也比较适合使用batch;另外,可以比较好地解决系统的本地化问题。 (2)PreparedStatement还能有效的防止危险字符的注入,也就是sql注入的问题。(但是必须使用“对?赋值的方法”才管用) 3、TCP/IP对应于OSI七层模型的哪些层? 答: OSI七层模型分别是:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。 TCP/IP协议不是TCP和IP协议的合称,而是指因特网整个TCP/IP协议族。从协议分层模型方面来看,TCP/IP由四个层次组成:网络接口层、网络层、传输层和应用层。 延伸学习: 应用层:由用户自己规定,只要形成的消息能与表示层接口。这包括各机互访协议,分布式数据库协议等。 表示层:是在满足用户需求的基础上,尽可能的节省传输费用而设置的。如文本压缩、常用词转换、加密、变更文件格式等。这就是说,只要能表示用户所需的信息,形式上可以改变,并尽可能形成标准格式,以利于传送。 对话层:是为用户之间对话的进行而设置的,这包括建立和拆除对话,确定对话对象。如不是授权的对话者,就不予送出信息,以达到可靠的要求,这一层也可与传输层合并。 传输层:就是使主机之间或信源和信宿之间能互通信息。这一层因此也可以被称为源--宿层或端--端层,这一般是主机操作系统的一部分。它负责把上一层

阿里巴巴笔试题

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.360docs.net/doc/cd9741523.html,/,本贴地址:https://www.360docs.net/doc/cd9741523.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

相关文档
最新文档