“山鬼”通过精心收集,向本站投稿了19篇阿里巴巴DBA笔试题小结,下面就是小编给大家带来的阿里巴巴DBA笔试题小结,希望大家喜欢阅读!

篇1:阿里巴巴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主要有那些部分,主要作用是什么 :
8:Oracle系统进程主要有哪些,作用是什么/
三:备份恢复类
1:备份如何分类
2:归档是什么含义
3:如果一个表在-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呢?
篇2:阿里巴巴DBA笔试题
,
在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))
篇3:阿里巴巴笔试题
以下分享的这15道选择题,是阿里巴巴公司招聘人才时,经常考的笔试题,如果感兴趣的朋友,可以收藏和分享此文!
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、选择排序
A、C肯定不选的,归并排序的在merge中是跟序列有关,如果有序,比较次数最少n/2,最糟是元素错落n-1。而选择排序比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+...+1=n*(n-1)/2。所以 应该是选择排序!
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
假设是X进制,则567=7+6*X+5*X^2,456=6+5*X+4*X^2,所以564*456=(7+6*X+5*X^2)*(6+5*X+4*X^2)而150216=6+X+2*X^2+5*x^4+X^5,由于567*456=150216,则6+X+2*X^2+5*x^4+X^5=(7+6*X+5*X^2)*(6+5*X+4*X^2),最后解出来X=18
12、关于struct和class,下列说法正确的是()
A、struct的成员默认是public,class的成员默认是private
B、struct不能继承,class可以继承
C、struct可以有无参构造函数
D、struct的成员变量只能是public
若不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;都可使用public/private/protected修饰符,都可以有无参构造函数
13、定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数?
A、int (*(*F)(int, int))(int)
B、int (*F)(int, int)
C、int (*(*F)(int, int))
D、*(*F)(int, int)(int)
14、声明一个指向含有10个元素的数组的指针,其中每个元素是一个函数指针,该函数的返回值是int,参数是int*,正确的是()
A、(int *p[10])(int*);
B、int [10]*p(int *);
C、int (*(*p)[10])(int *);
D、int ((int *)[10])*p;
E、以上选项都不正确
15、一个栈的输入序列为123.....n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()
A、不确定
B、n-i+1
C、i
D、n-i
IBM Java笔试题 宝洁笔试面试真题 华为Java笔试题目
篇4:阿里巴巴笔试题
一、论述题
(1)至今为止你认为对你影响最大的一本书是什么?
(2)你认为应聘的该职位能为你带来什么?
(3)你最常登录的三个会员制网站是什么?有什么特色?
二、简答题
(1)请预测淘宝一天交易额有多少,并说明理由。
(2)预测脸谱网全球手机用户
(3)阿里巴巴的搜索引擎和谷歌的搜索引擎的异同点。
三 、综合体
给出了淘宝网上10件商品进行排序,并说明理由
延伸:
阿里巴巴数据分析师面试题目
前段时间看到阿里的校招,我果断投了一份简历,今天就去在线面试一下,特地把题目复制出来供大伙参考参考哈
有点坑爹啊,虽然只有4道题,但是每题都很坑爹,考试时间是120分钟,足够吧?
Q1.商业设计的一个特点是它的目的性非常强 , 精准直接快速的传达信息是它要实现的目的 , 现在如果需要设计一个配有宣传语的图片广告 , 下面是一个最简单的工作流程 , 但顺序已经被打乱了 , 请重新理顺工作步骤 , 如果对步骤有所补充 , 欢迎添加。
图形设计明确宣传目的策划宣传语绘制草图与需求方沟通
这里我学习了软件设计流程这门课程加上百度了一下,算是写出来了。结果呢,就不知道了
Q2.你知道无印良品这个日本的品牌么 , 说说它在的产品在视觉上是如何做到与众不同的 , 如果不知道 , 找一个你熟悉的出众的牌子来说 , 阐述其特点以及你对这个品牌的理解或是看法.
说实话什么 无印良品,听都么听过,百度发现这是个没有logo的品牌。我不熟悉只好作罢,改写qq了,这个还是蛮好写的,毕竟更贴近生活啊!其实我想写什么阿里巴巴等他们公司的品牌,发现我对他们不熟悉,怕写错了就悲剧⊙n⊙b汗
Q3.我们现在需要做一个宣传一款只有简单通话功能的非智能手机的平面广告 , 但是又不想使用手机的图片做为主体 , 能帮我们想出一个方案么 , 用文字简单描述它 ,另外 , 用几个字概括你思考的出发点吧 , 还有其他的 点 么,有的话多说几个加分.
这个设计广告,稍微想了一下,给它弄了张我设计的图片,哈哈,不知道可以不?
Q4.请吐槽一个网络产品的缺点 , 描述让你觉得最不满意的地方 , 视觉设计的'缺陷也好、功能缺陷也好,说明理由并给出改进建议 .
[ 提示:建议候选产品有新浪微博、淘宝首页、微信、旺旺QQ 脸谱网等,或者你自己选定的一个产品 ]
哇,吐槽什么的我挺喜欢的,但是直觉告诉我最好写有关于阿里产品的,而且不能写的太损!!!所以为就挑了新浪微博来吐槽,吐槽的地方就是网页版微博的登陆问题,相信大家都碰到过,总是登陆超时登陆失败等等,让人无比头疼,改进的方法无非就是网页版的一些优化,什么兼容性啊乱扯了下,但是也没瞎说阿里巴巴数据分析师面试题目阿里巴巴数据分析师面试题目。
篇5:阿里巴巴笔试题
一、论述题
(1)至今为止你认为对你影响最大的一本书是什么?
(2)你认为应聘的该职位能为你带来什么?
(3)你最常登录的三个会员制网站是什么?有什么特色?
二、简答题
(1)请预测淘宝一天交易额有多少,并说明理由,
最新阿里巴巴笔试题
,
(2)预测FACEBOOK全球手机用户
(3)阿里巴巴的搜索引擎和谷歌的搜索引擎的异同点。
三 、综合体
给出了淘宝网上10件商品进行排序,并说明理由
篇6:阿里巴巴笔试题
阿里巴巴笔试题
共两题:
1. 关于图片文件存储的一个开放性的题目,没什么好说的,
2. 有一颗树,每一个树节点存储着一个数字,现在想要找到两个相同的.节点(这两个节点存储的数字及其所有子树均相等)。
以下是我答题时候的思路,欢迎大家讨论。
思路1:
1) 首先通过一个遍历(如前序遍历)得到一个数字序列,并对树中的叶子节点在这个序列中做标记(现在问题退化为在一个数字串中找出重复的字符串,且这些字符串应该是以标记的叶子节点结尾的)
2) 采用后缀树可以很方便的求得相同的数字串序列
3) 验证2)中得到的结果(应该是一个小结果集) 是否满足要求,验证的时间复杂度应该是比较小的
思路2:
1) 对树中的每一个节点设定一个权值,这个权值为其所有子节点的权值及其自身数字值之间的乘积(可能需要bignumber,或者考虑将这些数字进行移位异或)
2) 采用后序遍历,计算每一个节点的权值,并顺带记录其树深度,
统计权值和深度均相同的节点
3) 验证2)中得到的结果是否满足要求,验证的时间复杂度应该是比较小的

篇7:阿里巴巴实习生笔试题
阿里巴巴实习生笔试题
二进制来编码字符串”abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要______位的二进制字符串,
有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)
数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是______。
• 线性链表
• 二叉链表
• 栈与队列
• 循环队列
下列关于无向连通图特性的叙述中,正确的是______。
Ⅰ.所有顶点的度之和为偶数
Ⅱ.边数大于顶点个数
Ⅲ.至少有一个顶点的度为1
• 只有Ⅰ
• 只有Ⅱ
• Ⅰ和Ⅱ
• Ⅰ和Ⅲ
某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的 缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是____。
• 90ns
• 80ns
• 70ns
• 60ns
主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是 。
• 500
• 700
• 800
• 1000
IP数据报头采用______字节序,在此字节序下从低地址到高地址0×1234的表示形式为______。
• big_endian, 0×12 0×34 0 0
• little_endian,0×34 0×12 0 0
• big_endian, 0 0 0×12 0×34
• little_endian,0 0 0×34 0×12
假设栈S和队列Q的初始状态为空,元素a、b、c、d、e、f依次通过S和Q,即每一个元素必须先进栈,之后再出栈进入队列。若这6个元素出队的顺序是b、d、c、f、e、a,则栈S的'容量至少应该为______。
• 3
• 4
• 5
• 6
硬件设备的寿命通常符合指数分布,即无记忆性,也就是如果一个设备当前正常工作,那么剩余预期寿命和已经工作的时间无关。假定某种设备1000台,在一年之内坏掉500台(无维修),那么在有维修(设备坏掉立刻换新的)的情况下,一年之内需要换______台该设备。
• 400台
• 500台
• 753台
• 1000台
下述描述中,正确的是____。
• char const * pointer表示pointer指向的内存区域的内容不能修改
• const char *pointer表示pointer不能指向别的内存地址
• char * const pointer 表示pointer指向的内存区域的内容不能修改
• const char * const pointer在C++语言中不合法
在linux中,列举当前目录下文件的是哪个命令______,
• ps
• cd
• mv
• ls
某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。
• 45231
• 42351
• 12345
• 54321
需要频繁的插入删除操作使用什么结构比较合适______。
• 数组
• 队列
• 链表
• 栈
你有一个3X3X3的立方体。你现在在正面左上的顶点,需要移动到对角线的背面右下的顶点中。每次移动不限距离,但只能从前至后、从左至右、从上至下运动,即不允许斜向或后退。有______种方法。
• 9
• 90
• 180
• 1680
一个容器类数据结构,读写平均,使用锁机制保证线程安全。如果要综合提高该数据结构的访问性能,最好的办法是______。
• 只对写操作加锁,不对读操作加锁
• 读操作不加锁,采用copyOnWrite的方式实现写操作
• 分区段加锁
• 无法做到
下面序列中,哪一种序列 不可能是一个二叉搜索树的后序遍历结果?
• 1,2,3,4,5
• 1,2,5,4,3
• 5,4,3,2,1
• 3,5,1,4,2
小数值1.5625的二进制表示是____。
• 101.1001
• 0.001
• 101.111
• 1.1001
有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算速度,A和B在内存中应该采用的存储方法是______。(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)
• A按行存,B按行存
• A按行存,B按列存
• A按列存,B按行存
• A按列存,B按列存
有n条随机的二进制流(n非常大),有n个接收器收集数据,遇到1就停止,并把之前收到的二进制传存储起来,最后0的个数大约有_______个。
• n
• n/2
• 2n
• 3n/2
下列叙述中正确的是____。
• 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
篇8:阿里巴巴程序笔试题
阿里巴巴笔试1,当硬盘中已经安装有win ,通过dos下运行pq magic,提示pq magic不能在基于nt的系统上运行。现要求在dos下运行pq magic,不能删除win2000,请给出解决办法。
阿里巴巴笔试2,解释硬盘的lba模式和chs模式的区别。
阿里巴巴笔试3,出现网络故障,使先软后硬还是先硬后软,请给出你自己的看法。
阿里巴巴笔试4,如果一个web服务器要提供2000人同时在线,请给出服务器硬件最低要求和目前市场估价。
阿里巴巴笔试5,是否有组建200台以上计算机的局域网络的经验?有的话,请给出实施纲要。
阿里巴巴笔试6,清除病毒的方法:是依靠杀毒软件还是手工?如果有手工清除病毒的经验,请给出清除的大致步骤。
阿里巴巴笔试7,你觉得你离一名合格的网管,还有多大的差距?
阿里巴巴笔试8,我们为什么要聘用你?
篇9:阿里巴巴程序笔试题
收到了阿里巴巴的笔试通知,今天下午坐了一个半小时的车,才到了阿里巴巴笔试的地方。人还真是不少,不过有点真让人郁闷,看了下笔试的名单,求职C++程序员的只有17人,而JAVA程序员竟然有100多人,真是后悔当时为什么要学JAVA(貌似记得当时觉得C++太难了)。反正也不知道他们水平怎么样,就硬着头皮考考。考试时间是1小时,后来因为题量有点大,就延长了20分钟。那题目还真的不是很难,可惜我不会做,只能说那些题目很基础,看来平时还是要注意下基础的知识。
趁现在对题目还有印象,先贴上来给大家一个参考:
阿里巴巴笔试1~3 逻辑题(就是那些有点考验你智商的或者考验你逻辑能力的题目)
JAVA基础题
阿里巴巴笔试4、抽象类与接口有什么不同?
阿里巴巴笔试5、关于线程的题目,记不清了。
算法题
阿里巴巴笔试6、写出2乘以17效率最高的算法?
阿里巴巴笔试7、编程题(题目太长,略)。好像还是关于JAVA的知识点
阿里巴巴笔试8、简述final、fianlly和finalize的区别?
阿里巴巴笔试9、简述ArrayLists和LinkedList的区别?
阿里巴巴笔试10、在try的括号里面有return一个值,那是否还执行finally里的代码。是在return前执行还是return后执行。
篇10:阿里巴巴程序笔试题
设计模式题
简述templates和××××(忘了)的区别?
数据库题
阿里巴巴笔试12、创建学生表S,课程表C,学生选课表SC。写出建表的SQL语句。
阿里巴巴笔试13、写出返回选了全部课程的学生的SQL语句。
阿里巴巴笔试14、写出返回至少选了5门课的学生的SQL语句。
javascript题
阿里巴巴笔试15、实现点击页面上的一个链接,然后隐藏这个链接的javascript代码。
测试知识题
阿里巴巴笔试16、简述什么是测试驱动开发(TDD)。
补充题
阿里巴巴笔试17、说说你希望从阿里巴巴得到什么。用3个名词概括。
题目大致就是这样,我是不太会做,希望给后来者一个参考,希望大家能够注重基础。
篇11:阿里巴巴招聘笔试题
1、iBatis相比JDBC优势的优势有哪些?
答:简单易上手、开发速度快、面向对象,数据库可移植。
(此处应该将优缺点一起分析,才是满意得到回答)
延伸学习:
MyBatis和iBatis的区别:
ibatis本是apache的一个开源项目,这个项目由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由四个层次组成:网络接口层、网络层、传输层和应用层。
延伸学习:
应用层:由用户自己规定,只要形成的消息能与表示层接口。这包括各机互访协议,分布式数据库协议等。
表示层:是在满足用户需求的基础上,尽可能的节省传输费用而设置的。如文本压缩、常用词转换、加密、变更文件格式等。这就是说,只要能表示用户所需的信息,形式上可以改变,并尽可能形成标准格式,以利于传送。
对话层:是为用户之间对话的进行而设置的 ,这包括建立和拆除对话,确定对话对象。如不是授权的对话者,就不予送出信息,以达到可靠的要求,这一层也可与传输层合并。
传输层:就是使主机之间或信源和信宿之间能互通信息。这一层因此也可以被称为源--宿层或端--端层,这一般是主机操作系统的一部分。它负责把上一层(对话层)来的信息传输给网络层,后者已能保证把各信息包送达目的地,本层把信息处理得适于网内传送,包括把信息分给各种网络去传递,也可规定服务方式,如点对点通信或点对多的广播式通信。
网络层:是规定通信网内的路由选择等方式,以使建立用户间的信息报传输设施。这包括地址的标明,把消息分成信息包或把信息包组成消息,一些调整阻塞所需的规定,路由选择等。这些功能可由计算机的输入输出设备来完成,也可专用一些具有处理功能的接口板来完成。
数据链路层:是规定建立链路的过程。这在信息包传送过程中就需有一定的帧结构,其中包括收发数据的相互应答。
物理层:是规定一些机电性能。例如代表“0”和“1”的电压值、匹配阻抗、每个比特的时长以及插脚的多少和功能等。也包括工作方式如双工、单工或半双工,建立通信的启动和终止等,这一层协议满足后,从上一层看去,已提供了一个合适的数字新到,也就是数据已可通过它传输出去。
4、为什么3次握手,4次挥手?
3次握手建立连接:
第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)即握手信号。
第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
4次挥手断开连接:
对于一个已经建立的连接,TCP使用改进的4次挥手来释放连接(使用一个带有FIN附加标记的报文段)。TCP关闭连接的步骤如下:
第一步,当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段(FIN表示英文finish)。
第二步,主机B收到这个FIN报文段之后,并不立即用FIN报文段回复主机A,而是先向主机A发送一个确认序号ACK,同时通知自己相应的应用程序:对方要求关闭连接(先发送ACK的目的是为了防止在这段时间内,对方重传FIN报文段)。
第三步,主机B的应用程序告诉TCP:我要彻底的关闭连接,TCP向主机A送一个FIN报文段。
第四步,主机A收到这个FIN报文段后,向主机B发送一个ACK表示连接彻底释放。
5、进程和线程区别是什么?
答:
进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。
一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
线程与进程的区别归纳:
地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信――需要进程同步和互斥手段的辅助,以保证数据的一致性。
调度和切换:线程上下文切换比进程上下文切换要快得多。
篇12:阿里巴巴笔试题统计
阿里巴巴笔试题统计
客观题考点:
c++:1.DOM的描述;2.网络蜘蛛系统;3.UTF-8;4.分布列(概率中的数学期望)4.数据库检索:查准率和查全率;5.索引压缩;6.cralwer速度的影响;7.信息熵量大小的影响;8.Trie算法的最差时间复杂度;9.HTML和HTTP协议;10.信息检索模型;11.分布式通信协议;12.分布式搜索引擎;13.双向循环链表;14.快速排序;15.32位系统,
java: 1.Servlet中怎样控制页面在客户端的'缓存策略;2.执行存储过程;3.JSP;4.Thread.wait可否设置超时;5.注释XML内容:CDATA;6.IOC;7.Open-Closed原则含义;8.JUnit TestCase基类中的代码;9.javax.servle.http.HttpServlet;10.JDBC连接池&功能;11.XML Schema:
另外有公共部分的考题:
1、 软件测试的对象;
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攻击的是?
两道主观题:
1.隐马尔科夫模型(HMM)的3个基本问题
2.有序集合a, b,求交集(写函数)
篇13:几道阿里巴巴的笔试题
几道阿里巴巴的笔试题
回忆几题,供有兴趣的讨论
12个学生排成两排,两排都是按身高的递增的顺序排列,并且后面一个同学总是比前面一个同学要高,任何两个同学的身高都不同。问你一共有多少种排法?
五种颜色涂到一个田字格里,相邻两个格子的'颜色不能相同,颜色可以重复使用,
问你一共有多少种涂法?
一天24小时内,时针、分针、秒针一共重合多少次?
一个牧场的草,10头牛可以吃20天,15头牛可以吃10天,并且每天牧场的草都是均匀的生长,问你25头牛可以吃多少天?
菲波纳契数列f(i),1,1,2,3,5.。。。。问你f(50)-1最少可以写成多少个菲波纳契数之和?
提高网络安全你有什么建议?
对下一代互联网你有什么设计?
篇14:阿里巴巴程序笔试题及答案
【问题】如果类A和类B中有静态变量,静态语句块,非静态变量,非静态语句块,构造函数,静态方法,非静态方法,同时类A继承类B,请问当实例化A时,类内部的加载顺序是什么?
【解析】测试代码如下:
Class B:
public class B{//静态变量static int i=1;//静态语句块static {System.out.println(”Class B1:static blocks“+i);}//非静态变量int j=1;//静态语句块static{i++;System.out.println(”Class B2:static blocks“+i);}//构造函数public B{i++;j++;System.out.println(”constructor B: “+”i=“+i+”,j=“+j);}//非静态语句块{ i++; j++; System.out.println(”Class B:common blocks“+”i=“+i+”,j=“+j);}//非静态方法public void bDisplay(){i++;System.out.println(”Class B:static void bDisplay():“+”i=“+i+”,j=“+j);return ;}//静态方法public static void bTest(){i++;System.out.println(”Class B:static void bTest():“+”i=“+i);return ;}}
Class A:
public class A extends B{//静态变量static int i=1;//静态语句块static {System.out.println(”Class A1:static blocks“+i);}//非静态变量int j=1;//静态语句块static{i++;System.out.println(”Class A2:static blocks“+i);}//构造函数public A(){ super();i++;j++;System.out.println(”constructor A: “+”i=“+i+”,j=“+j);}//非静态语句块{ i++; j++; System.out.println(”Class A:common blocks“+”i=“+i+”,j=“+j);}//非静态方法public void aDisplay(){i++;System.out.println(”Class A:static void aDisplay():“+”i=“+i+”,j=“+j);return ;}//静态方法public static void aTest(){i++;System.out.println(”Class A:static void aTest():“+”i=“+i);return ;}}
Class ClassLoading :
public class ClassLoading {public static void main (String args[]) {A a=new A();a.aDisplay();}}
程序运行结果如图:
通过上述示图,我们可以比较清晰的看出java类的整个加载过程:
1.若要加载类A,则先加载执行其父类B(Object)的静态变量以及静态语句块(执行先后顺序按排列的先后顺序)。
2.然后再加载执行类A的静态变量以及静态语句块。(并且1、2步骤只会执行1次)
3.若需实例化类A,则先调用其父类B的构造函数,并且在调用其父类B的构造函数前,依次先调用父类B中的非静态变量及非静态语句块.最后再调用父类B中的构造函数初始化。
4.然后再依次调用类A中的非静态变量及非静态语句块.最后调用A中的构造函数初始化。( 并且3、4步骤可以重复执行)
5.而对于静态方法和非静态方法都是被动调用,即系统不会自动调用执行,所以用户没有调用时都不执行,主要区别在于静态方法可以直接用类名直接调用(实例化对象也可以),而非静态方法只能先实例化对象后才能调用。
[阿里巴巴程序笔试题及答案]
篇15:阿里巴巴实习生招聘笔试题
阿里巴巴实习生招聘笔试题
答题说明:
1.答题时间90分钟,请注意把握时间;
2.试题分为四个部分:单项选择题(10题,20分)、不定向选择题(4题,20分)、填空问答(5题,40分)、综合体(1题,20分);
3.其他一些乱七八糟的考试说明,
一、单项选择题
1.下列说法不正确的是:(D)
A.SATA硬盘的速度速度大约为500Mbps/s
B.读取18XDVD光盘数据的速度为1Gbps
C.前兆以太网的数据读取速度为1Gpbs
D.读取DDR3内存数据的速度为100Gbps
解析:
DDR3内存读取速度约为1.6Gbps
2.(D)不能用于Linux中的进程通信
A.共享内存
B.命名管道
C.信号量
D.临界区
3.设在内存中有P1,P2,P3三道程序,并按照P1,P2,P3的优先级次序运行,其中内部计算和IO操作时间由下表给出(CPU计算和IO资源都只能同时由一个程序占用):
P1:计算60ms---》IO 80ms---》计算20ms
P2:计算120ms---》IO 40ms---》计算40ms
P3:计算40ms---》IO 80ms---》计算40ms
完成三道程序比单道运行节省的时间是(C)
A.80ms
B.120ms
C.160ms
D.200ms
4.两个等价线程并发的执行下列程序,a为全局变量,初始为0,假设printf、++、--操作都是原子性的,则输出不肯哪个是(A)
void foo() {
if(a <= 0) {
a++;
}
else {
a--;
}
printf(”%d“, a);
}
A.01
B.10
C.12
D.22
5.给定fun函数如下,那么fun(10)的输出结果是(C)
int fun(int x) {
return (x==1) ? 1 : (x + fun(x-1));
}
A.0
B.10
C.55
D.3628800
6.在c++程序中,如果一个整型变量频繁使用,最好将他定义为(D)
A.auto
B.extern
C.static
D.register
7.长为n的字符串中匹配长度为m的子串的复杂度为(B)
A.O(N)
B.O(M+N)
C.O(N+LOGM)
D.O(M+LOGN)
解析: KMP算法
8.判断一包含n个整数a[]中是否存在i、j、k满足a[i] + a[j] = a[k]的时间复杂度为()
A. O(n3)
B.O(n2lgn)
C.O(n2)
D.O(nlgn)
解析:O(N2)的算法能想一大堆,虽然最终我选的C,比如说用hash的话,三维遍历可以轻松编程二维遍历,但是总感觉是不是应该有nlgn的算法。
9.三次射击能中一次的概率是0.95,请问一次射击能中的概率是多少?(A)
A.0.63
B.0.5
C.**
D.0.85
10.下列序排算法中最坏复杂度不是n(n-1)/2的是_(D)
A.快速序排 B.冒泡序排 C.直接插入序排 D.堆序排
二、不定向选择题
1.阻塞、就绪、运行的三态转换
2.一个栈的`入栈数列为:1、2、3、4、5、6;下列哪个是可能的出栈顺序。(选项不记得)
3.下列哪些代码可以使得a和b交换数值,
(选项不记得)
4.A和B晚上无聊就开始数星星。每次只能数K个(20<=k<=30)A和B轮流数。最后谁把星星数完谁就获胜,那么当星星数量为多少时候A必胜?
A. B.2886 C.4026 D......E.....(选项不记得)
三、填空问答题
1.给你一个整型数组A[N],完成一个小程序代码(20行之内),使得A[N]逆向,即原数组为1,2,3,4,逆向之后为4,3,2,1
void revense(int * a,int n) {
}
2.自选调度方面的问题,题目很长,就是给你三个线程,分别采用先来先分配的策略和最短执行之间的调度策略,然后计算每个线程从提交到执行完成的时间。题目实在太长,还有几个表格。考察的是操作系统里面作业调度算法先进先出和最短作业优先。
3.有个苦逼的上班族,他每天忘记定闹钟的概率为0.2,上班堵车的概率为0.5,如果他既没定闹钟上班又堵车那他迟到的概率为1.0,如果他定了闹钟但是上班堵车那他迟到的概率为0.9,如果他没定闹钟但是上班不堵车他迟到的概率为0.8,如果他既定了闹钟上班又不堵车那他迟到的概率为0.0,那么求出他在60天里上班迟到的期望。
4.战报交流:战场上不同的位置有N个战士(n>4),每个战士知道当前的一些战况,现在需要这n个战士通过通话交流,互相传达自己知道的战况信息,每次通话,可以让通话的双方知道对方的所有情报,设计算法,使用最少的通话次数,是的战场上的n个士兵知道所有的战况信息,不需要写程序代码,得出最少的通话次数。
5.有N个人,其中一个明星和n-1个群众,群众都认识明星,明星不认识任何群众,群众和群众之间的认识关系不知道,现在如果你是机器人R2T2,你每次问一个人是否认识另外一个人的代价为O(1),试设计一种算法找出明星,并给出时间复杂度(没有复杂度不得分)。
解答:这个问题等价于找未知序列数中的最小数,我们将reg这个函数等价为以下过程:,如果i认识j,记作i大于等于j,同样j不一定大于等于i,满足要求,i不认识j记作i
int finds(S,N)
{
int flag=0;//用于判定是否有明星,即当前最小数另外出现几次
int temp=0;//存放最小数在S中的位置
for(i=1;i
{
if(!reg(S[i],S[temp])//如果temp标号的数小于i标号的数
{
temp=i;
flag=0;//更换怀疑对象(最小数)时,标记清零
}
elseif(reg(S[temp],S[i])//如果temp里存放的确实是唯一最小数是不会跑进这里来的
{
flag++; `
}
}
if(flag>0) return -1;//表示没有明星,例如所有的数都相等
return temp;//返回明星在S中的位置
}
四、综合题
皇冠用户仓库开销:有一个淘宝商户,在某城市有n个仓库,每个仓库的储货量不同,现在要通过货物运输,将每次仓库的储货量变成一致的,n个仓库之间的运输线路围城一个圈,即1->2->3->4->...->n->1->...,货物只能通过连接的仓库运输,设计最小的运送成本(运货量*路程)达到淘宝商户的要求,并写出代码。
思路:这个在各种online-judge平台上都有答案,纯粹的数学问题,
如图,这是一个仓库分布的模拟,假设从第i个仓库向第i+1个仓库转移的物品为Pi个单位,其中Pi为负表示思是从i+1个仓库转移到第i个仓库,第n个仓库转移到第一个仓库即为Pn,设最后每个仓库平均后的货物为ave个单位,则有要最小化|P1|+|P2|+…+|Pi|+…+|Pn|
ave[i]=ave=A[i]-Pi+Pi-1
ave[1]=A[1]-P1+Pn
然后设W[i]=ave[i]-A[i]=-Pi+Pi-1
于是S[i]=W[1]+W[2]+….W[i]=Pn-Pi
即Pi=Pn-S[i] ,所以问题归结到最小化|Pn-S[1]|+|Pn-S[2]|+…+|Pn-S[n]|
所以Pn是S中位数的时候最小
篇16:阿里巴巴校招笔试题
一、论述题
(1)至今为止你认为对你影响最大的一本书是什么?
(2)你认为应聘的该职位能为你带来什么?
(3)你最常登录的三个会员制网站是什么?有什么特色?
二、简答题
(1)请预测淘宝一天交易额有多少,并说明理由。
(2)预测FACEBOOK全球手机用户
(3)阿里巴巴的搜索引擎和谷歌的搜索引擎的异同点。
三 、综合体
给出了淘宝网上10件商品进行排序,并说明理由
8、
C、13个
9、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将:
A、从就绪变为运行 B、从运行变为就绪
C、从运行变为阻塞 D、从阻塞变为就绪
10、下面算法的时间复杂度为:
[cpp] view plain copyint f(unsigned int n)
{
if(n == 0 || n == 1)
return 1;
else
return n*f(n-1);
}
A、O(1) B、O(n) C、O(N*N) D、O(n!)
11、n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。
A、24 B、21 C、18 D、不可能
12、对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:
A、n B、n+1 C、n-1 D、n+边数
14:如下函数,在32bit系统foo(2^31-3)的值是:
[cpp] view plain copyint foo(int x)
{
return x&-x;
}
A、0 B、1 C、2 D、4
15、对于顺序存储的线性数组,访问节点和增加、删除节点的时间复杂度为:
A、O(n),O(n) B、O(n),O(1) C、O(1),O(n) D、O(1),O(1)
16、在32位系统环境中,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:
[cpp] view plain copystruct A
{
int a;
short b;
int c;
char d;
};
struct B
{
int a;
short b;
char d;
int c;
};
A、16,16 B、16,12 C、13,12 D、11,16
17、袋中有红球,黄球,白球各一个,每次任意取一个又放回,如此连续抽取3次,则下列事件中概率是8/9的是:
A、颜色不全相同 B、颜色全相同 C、颜色全不同 D、颜色无红色
18、一个洗牌程序的功能是将n张牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:
A、任何连续位置上的两张牌的内容独立
B、n张牌的任何两个不同排列出现的概率相等
C、每张牌出现在n个位置上的概率相等
D、每张牌出现在n个位置上的概率独立
19、用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色模式。
A、10 B、14 C、15 D、16
20、递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:
A: O(logn) B:O(nlogn) C:O(n) D:(d)
篇17:阿里巴巴校招笔试题
阿里巴巴校招笔试题
①、C++
以下程序输出结果是( )
class A
{
public:
virtual void func(int val = 1)
{
std::cout << ”A->“ << val << std::endl;
}
virtual void test
{
func();
}
};
class B:public A
{
public:
void func(int val = 0)
{
std::cout << ”B->" << val << std::endl;
}
};
int main(int argc,char* argv[])
{
B*p = new B;
p->test();
return 0;
}
A:A->0
B:B->1
C:A->1
D:B->0
答案:B
解析:由于p指向了继承类B的对象,所以,在调用A中的test之后,虚函数func()会调用继承类B的函数,而默认形参仍然会使用test所在的类A的形参1,从而输出B->1,
②、数学计算将1,2,3,......,99,100任意排列成一个圈,相邻两数的差的绝对值求和最多为( )
A:100
B:198
C:200
D:500
E:2500
F:5000
答案:F
解析:定义1-50为“小数”,51-100为“大数”,将“相邻元素的差的绝对值之和”简称“绝差之和”。为了将绝差之和取最大,应该避免将“大数”和“大数”放在一起,
因此,可以考虑间隔排布。形成:1,100,2,99,3,98,4,97……,50,51的`序列。而事实上,这个序列即绝差之和最大的序列。可使用如下证明:
1、 如下图所示:如果将小数和小数交换,得到的序列绝差之和不变。将小数x和y互换。假定交换之前,x和y的相邻元素分别为a、b和c、d。则交换之前的绝差为:(a-x)+(b-x)+(c-y)+(d-y),交换之后的绝差为:(a-y)+(b-y)+(c-x)+(d-x),二者相等。
2、 如下图所示:如果将大数和大数交换,得到的序列绝差之和不变。将大数a和b互换。假定交换之前,a和b的相邻元素分别为x、y和z、w。则交换之前的绝差为:(a-x)+(a-y)+(b-z)+(b-w),交换之后的绝差为:(b-x)+(b-y)+(a-z)+(a-w),二者相等。
3、 如下图所示:如果将大数和小数交换,得到的序列绝差之和必然减小。将小数a和大数z互换。假定交换之前,a和z的相邻元素分别为x、y和b、c。则交换之前的绝差为:(a-x)+(a-y)+(b-z)+(c-z),交换之后的绝差为:|x-z|+|y-z|+|b-a|+|c-a|,由于x、y、z更接近,a、b、c更接近,所以交换后绝差变小。
因此,无论如何交换,绝差之和都无法增大。即原序列的绝差之和是最大的。它形成的绝差序列是99,98,97,96……,2,1,50,这100个数的和为5000。
③、计算机基础
如果下列的公式成立:84*148=B6A8。则采用的是( )进制表示的。
A:15
B:11
C:12
D:14
E:16
F:以上都不对
答案:C
解析:1、常规做法:假定数值是x进制的,则写出等式:(8x+4)*(x2+4x+8)=11x3+6x2+10x+8,化简得到(3x2+6x+2)*(x-12)=0,则x的非负整数解为x=12。
2、“启发式”做法:在十进制体系下,左侧个位乘积4*8=32;右侧个位为8,差32-8=24,从而进制必然是24的约数。只有C选项12是24的约数。
篇18:阿里巴巴集团校园招聘笔试题
阿里巴巴集团校园招聘笔试题
第一部分 单选题(前10题,每题2分;后10题,每题3分,选对得满分,选错倒扣1分,不选得0分)
1、一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是()
A、几微秒,几毫秒,几十毫秒 B、几十纳秒,几十微秒,几十毫秒
C、几十纳秒,几十微秒,几十毫秒 D、几微秒,几十微秒,几十毫秒
2、8进制数256,转化成7进制数是(B)
A、356 B、336 C、338 D、346
3、某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内最大可分配地址个数各位(C)
A、8,32 B、32,8 C、32,6 D、8,30
4、以下关于链式存储结构说法错误的是(A)
A、查找节点时链式存储比顺序存储快
B、每个节点是由数据域和指针域组成
C、比顺序存储结构的存储密度小
D、逻辑上不相邻的节点物理上可能相邻
5、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(A)
A、6 B、4 C、2 D、8
6、下面函数的功能是(C)
int fun (char *s)
{
char *p=s;
while(*p++);
return p-s-1;
}
A、计算字符串的位(bit)数 B、复制一个字符串
C、求字符串的长度 D、求字符串存放的位置
7、判断有向图是否存在回路,利用(A)方法最佳
A、拓扑排序 B、求最短路径
C、求关键路径 D、广度优先遍历
8、依次读入数据元素序列{a,b,c,d,e,f,g}进栈,元素进栈或出栈顺序是未知的,下列序列中,不可能成为栈空时弹出的元素构成序列的有(D)
A、{d,e,c,f,b,g,a} B、{c,d,b,e,f,a,g} C、{e,f,d,g,c,b,a} D、{f,e,g,d,a,c,b}
9、下列有关图的遍历说法中,不正确的是(C)
A、有向图和无向图都可以进行遍历操作
B、基本遍历算法两种:深度遍历和广度遍历
C、图的遍历必须用递归实现
D、图的遍历算法可以执行在有回路的图中
10、在16位机器上跑下列foo函数的结果是(B)
void foo()
{
int i = 65536;
cout << i <<”,”;
i = 65535;
cout << i;
}
A、-1,65535 B、0,-1 C、-1,-1 D、0,65535
11、有一段年代久远的C++代码,内部逻辑复杂,现在需要利用其实现一个新的需求,假定有以下可行的方案,应当优先选择(D)
A、修改老代码的接口,满足新的需求
B、将老代码抛弃,自己重新实现类似的逻辑
C、修改老代码的内部逻辑,满足新的需求
D、在这段代码之外写一段代码,调用该代码的一些模块,完成新功能需求
12、在5个页框上使用LRU页面替换算法,当页框初始为空时,引用序列为0、1、7、8、6、2、3、7、2、9、8、1、0、2,系统将发生(C)次缺页
A、13 B、12 C、11 D、8
分析:缺页为:0、1、7、8、6、2、3、9、8、1、0,共11次
13、阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP连接在100s的时间内从A传输到B。已知FTP连接建立在TCP协议之上,而TCP协议通过ACK来确认每个数据包是否正确传送。网络信号传输速度2*108m/s,假设机房间带宽足够高,那么A节点的发送缓冲区可以设置为最小(A)
A、18M B、12M C、6M D、24M
分析:
TCP协议原理:TCP每发送一个报文段,就启动一个定时器,如果在定时器超时之后还没有收到ACK确认,就重传该报文。
14、有3个节点的二叉树可能有(A)种
A、5 B、13 C、12 D、15
15、设某文件经内排序后得到100个初始归并段(初始顺串),若使用多路归并排序算法,且要求三趟归并完成排序,问归并路数最少为(D)
A、8 B、7 C、6 D、5
分析:m个元素k路归并的归并趟数s=logk(m),代入数据:logk(100)Q3
16、一个优化的程序可以生成一n个元素集合的所有子集,那么该程序的时间复杂度是(B)
A、O(n!) B、O(2n) C、O(n2) D、O(n log n)
17、快速排序在已经有序的情况下效率最差,复杂度为(B)
A、O(n log n) B、O(n2) C、O(n1.5) D、O(n2 log n)
18、从一副牌(52张,不含打小怪)里抽出两张牌,其中一红一黑的概率是(D)
A、25/51 B、1/3 C、1/2 D、26/51
分析:52张牌从中抽两张,就是C522种情况,一红一黑是C261 * C261种情况,概率P = C261 * C261 / C522 =26/51
19、有一堆石子共100枚,甲乙轮流从该堆中取石子,每次可取2、4或6枚,若取得最后的石子的玩家为赢,若甲先取,则(C)
A、谁都无法取胜 B、乙必胜 C、甲必胜 D、不确定
分析:先取的.人只需要保证最后剩8枚就胜了,
而要保证最后剩8枚,则必须要保证每一个回合内取的数是一个可控的固定数,显然这个数字是8,所以只需要保证第一次取完后,剩下的数字是8的倍数,就一定能胜。100除以8余数为4,故而,甲先取4枚,之后每一个回合所取数与上一个回合乙所取数之和为8,就能保证必胜。
20、现有一完全的P2P共享协议,每次两个节点通讯后都能获取对方已经获取的全部信息,现在使得系统中每个节点都知道所有节点的文件信息,共17个节点,假设只能通过多次两个对等节点之间通讯的方式,则最少需要(C)次通讯
A、32 B、31 C、30 D、29
分析:如上图1所示,假设有5个节点,按连线1、2、3、4通讯之后,节点4和5就掌握了所有节点的信息,之后,1、2、3节点只需跟4或5任一节点通讯一次即连线5、6、7就可保证每个节点都知道所有节点的信息,总的通讯次数是(n-1)+(n-2)=2n-3次。
如果将所有节点分成两组,如图2所示,两组中的节点分别按连线1-8顺序通讯之后,节点4和5就掌握了1-5所有节点的信息,节点9和0就掌握了6-0所有节点的信息,再按连线9、10通讯之后,节点4、5、9、0就掌握了1-0所有节点的信息,剩下的节点只需跟4、5、9、0任一节点通讯一次就可保证每个节点知道所有节点信息,和图1相比,多了9和10两次通讯,总的通讯次数是(2n1-3)+(2n2-3)+2=2n-4次(n1和n2分别表示分组中元素个数)。
分3组的情况是(2n1-3)+(2n2-3)+(2n3-3)+6=2n-3次
分4组的情况是(2n1-3)+(2n2-3)+(2n3-3)+(2n4-3)+8=2n-4次
第二部分 不定项选择(每题五分,每题有1-5个正确选项,完全正确计5分,漏选计2分不选计0分,多选、错选计-2分)
21、2-3树是一种特殊的树,它满足两个条件:
(1)每个内部节点有两个或三个子节点;
(2)所有的叶节点到根的路径长度相同;
如果一颗2-3树有9个叶节点,下列数量个非叶节点的2-3树可能存在的有(BE)
A、8 B、7 C、6 D、5 E、4
分析:根据条件(2),叶节点只能在同一层,根据条件(1),上一层的父节点只能是3个或4个,只能是如下图所示的两种结果
22、下列有关进程的说法中,错误的是(ABC)
A、进程与程序是一亿对应的 B、进程与作业时一一对应的
C、进程是静态的 D、进程是动态的过程
23、下列函数定义中,有语法错误的是(D)
A、void fun(int x, int *y){x *= *y;}
B、int * fun(int *x, int y){return x += y;}
C、void fun(int *x, int y){*x += y;}
D、void fun(int x, int *y){*x *= *y;}
24、有朋自远方来,他乘火车,轮船,汽车,飞机来的概率分别是0.3,0.2,0.1,0.4,坐各交通工具迟到的概率分别是1/4,1/3,1/12,0,下列语句中正确的是(CD)
A、如果他准点,那么乘飞机的概率大于等于0.5
B、坐陆路(火车,汽车)交通工具准点机会比坐水路(轮船)要低
C、如果他迟到,乘火车的概率是0.5
D、如果他准点,坐轮船或汽车的概率等于坐火车的概率
篇19:阿里巴巴软件测试常见笔试题
阿里巴巴软件测试常见笔试题
1. 把校园中同一区域的两张不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖之下,每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。下面关于重合点的说法中正确的是
2. 某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中:美国外援单独擅长守门;意大利外援不擅长前锋;巴西外援和另外某个外援擅长相同的位置;荷兰外援擅长的位置和巴西外援不同。以上条件可以推出巴西外援擅长的位置是
3. 毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每个人随机地拾起帽子,三个人中没有人选到自己原来带的帽子的概率是
4. 计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*n, n*p, p*q,且m
5. 有字符序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P, A,M,Q,R,S,Y,X}是下列______排序算法一趟扫描的结果
6. IP地址的相关知识
7. 有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数模型的说法正确的是:
8. 读程序
9. UNIX系统代码段和数据段分开的目的
10. 线程调度的相关知识
11. 堆的概念
12. 棋盘上共有2020个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达2014或超过2014,游戏结束。那么,棋子刚好到达2014的概率与______最接近
13. Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是
14. 一个函数定义的返回值是float,它不能在return语句中返回的值的类型是:
15. 随机存取实现的结构是什么
16. 某团队有 2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的最少有______人,
17. 对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的`结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:
18. 有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个数的公式应为
19. 给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率
20. 如果让你来测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?
21. 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率
22. 数组比线性表速度更快的是哪个操作
23. 网络编程的相关概念
24. 二叉树前序、中序和后序的转化
25. 环形队列
26. 单链表的删除
27. 不同排序方法的区别
28. C++内存分配的问题
29. 页式存储管理的问题
30. 磁盘访问的问题












