阿里巴巴2014秋季校园招聘_软件研发工程师笔试题答案
- 格式:doc
- 大小:112.00 KB
- 文档页数:9
1.平均速度最快的排序算法是______。
Shell排序快速排序冒泡排序插入排序2014-03-29 18:36:022.某服务进程的QPS(没秒处理的请求个数)较低,在空闲时间RT(响应时间)比较合理。
在压力下CPU占用率20%左右。
那么可能存在的问题是______。
该进程的某个处理过程的代码需要提高速度该进程依赖的服务可能存在性能瓶颈该进程需要增加线程数该进程可能有一个锁的粒度太大2014-03-29 18:36:163.无锁化编程有哪些常见方法?______ 。
针对计数器,可以使用原子加只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法CAS(Compare-and-Swap),如无锁栈,无锁队列等待2014-03-29 18:37:002014-03-29 18:37:004.假设栈S和队列Q的初始状态为空,元素a、b、c、d、e、f依次通过S和Q,即每一个元素必须先进栈,之后再出栈进入队列。
若这6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该为______。
34562014-03-29 18:37:115.设栈S初始状态为空。
元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为c,f,e,d,b,a,则栈S的容量至少应该为______ 。
3462014-03-29 18:37:256.一个单向链表,头指针和尾指针分别为p,q,以下_____项操作的复杂度受队列长度的影响?删除头部元素删除尾部元素头部元素之前插入一个元素尾部元素之后插入一个元素2014-03-29 18:37:337.集合A={1,2,3},A上的关系R={(1,1),(2,2),(2,3),(3,2),(3,3)},则R不具备。
自反性传递性对称性反对称性2014-03-29 18:37:448.件设备的寿命通常符合指数分布,即无记忆性,也就是如果一个设备当前正常工作,那么剩余预期寿命和已经工作的时间无关。
阿里巴巴集团2014校园招聘笔试题(9月22北京)(答案仅是个人见解,欢迎补充更正,谢谢)第一部分单选题(前10题,每题2分;后10题,每题3分。
选对得满分,选错倒扣1分,不选得0分)1、一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是()A、几微秒,几毫秒,几十毫秒B、几十纳秒,几十微秒,几十毫秒C、几十纳秒,几十微秒,几十毫秒D、几微秒,几十微秒,几十毫秒2、8进制数256,转化成7进制数是(B)A、356B、336C、338D、3463、某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内最大可分配地址个数各位(C)A、8,32B、32,8C、32,6D、8,304、以下关于链式存储结构说法错误的是(A)A、查找节点时链式存储比顺序存储快B、每个节点是由数据域和指针域组成C、比顺序存储结构的存储密度小D、逻辑上不相邻的节点物理上可能相邻5、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(A)A、6B、4C、2D、86、下面函数的功能是(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,65535B、0,-1C、-1,-1D、0,6553511、有一段年代久远的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、13B、12C、11D、8分析:缺页为:0、1、7、8、6、2、3、9、8、1、0,共11次13、阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP 连接在100s的时间内从A传输到B。
阿里巴巴秋招客户端开发工程师在线笔试题一、单项选择题1.“秘密”是一款在朋友圈内匿名交流的SNS平台,A朋友很多的楼主。
B朋友很少的楼主。
C发负能量帖子的楼主。
D有很多个小朋友圈的楼主。
E发正能量帖子的楼主。
F只有一个大朋友圈的楼主。
2.有一个装过食盐的瓶子,容积是w,在食盐用完之后,还有一些食盐粉末(体积可以忽略)残留在瓶子壁上。
现在要把该瓶子改装糖,给你u体积的纯洁水,用来清洗该瓶子。
在每次清洗之后,瓶子里会残留至少v体积的水(食盐溶液,可以忽略盐的体积)。
假设w>u>v,请问下述哪种方式使用这些纯洁水,能把瓶子洗得最干净?A.把所有的纯洁水全部倒入瓶子,然后把水倒掉。
B.将纯洁水平均分为两份,用每一份清水洗一遍瓶子。
C.每次注入体积为v的纯洁水清洗瓶子,直到纯洁水用尽。
D.每次注入体积为2v的纯洁水清洗瓶子,直到纯洁水用尽。
E.将用过的水重新注入瓶子,屡次清洗。
F.以上方法清洗效果相同。
3.有一只火鸡出生在某年春天。
从出生第一天起,主人就会每天给它喂食。
这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。
这只火鸡发现这个爱的指数每天都在上升。
有一天感恩节到了,火鸡被主人杀掉了。
关于火鸡的爱的指数模型的说法正确的选项是:?A.火鸡的模型之所以无效,是因为这个公式不是最大似然估计。
B.火鸡的模型之所以无效,是因为这个爱的指数增长速度先快后慢。
C.火鸡的模型之所以无效,是因为没有计算这个爱的指数的方差。
D.火鸡的模型之所以无效,是因为分母+1了。
E.火鸡的模型之所以无效,是因为主人太坏了。
F.火鸡的模型之所以无效,是因为统计的概率空间不完整。
4.以下方法中,不可以用来程序调优 ?A.改善数据访问方式以提升缓存命中率B.使用多线程的方式提高I/O密集型操作的效率C.利用数据库连接池替代直接的数据库访问D.使用迭代替代递归E.合并多个远程调用批量发送F.共享冗余数据提高访问效率5.并发进程执行的相对速度是。
阿里巴巴软件测试笔试题类型:软件测试|试题:55道试题(50道选择题,5道问答题)注意:答题过程如果您不提交答案,或者关闭浏览器退出,我们将不再允许您再次答题。
谢谢!一、单选题1.在面向对象的系统中,系统责任的良好分配原则是A、在类之间均匀分配B、集中分配在少数控制类中C、根据交互图的消息进行分配D、根据个人喜好进行分配2.int I=2;int x=(I++)+(I++)+(I++);执行结束后,X的值是A、6B、7C、8D、93.char*p=”ab”;sizeof(*p)=()A、1B、2C、3D、44.下列关于程序效率的描述错误的是A、提高程序的执行速度可以提高程序的效率B、降低程序占用的存储空间可以提高程序的效率C、源程序的效率与详细设计阶段确定的算法的效率无关D、好的程序设计可以提高效率5.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为A、i/(1+F)nB、F/(1+i n)C、F/inD、F/(1+i)n6.以下哪些类型的文件可以通过数字签名加载到IE?A、.datB、.icoC、.exeD、.cab7.在LINUX系统中,下列哪一个命令属于目录管理的常用命令?A、pwd B、pr C、ln D、find8.如果互连的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的互连设备应该是A、中继器B、网桥C、网卡D、路由器9.LINUX下,解压缩文件的命令为?A、tar zxvf文件名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、aB、AC、xD、Y20.OSI(开放系统互联)参考模型的最低层是A、传输层B、网络层C、物理层D、应用层21.计算机中,一个浮点数由两部分组成,它们是A、阶码和尾数B、基数和尾数C、阶码和基数D、整数和小数22.存储400个24×24点阵汉字字形所需的存储容量是A、255KBB、75KBC、37.5KBD、28.125KB23.用于保存计算机输入输出数据的材料及其制品称为A、输入输出媒体B、输入输出通道C、输入输出接口D、输入输出端口24.下面是关于解释程序和编译程序的论述,其中正确的一条是A、编译程序和解释程序均能产生目标程序B、编译程序和解释程序均不能产生目标程序C、编译程序能产生目标程序而解释程序则不能D、编译程序不能产生目标程序而解释程序能25.下面是与地址有关的四条论述,其中有错的一条是A、地址寄存器是用来存储地址的寄存器B、地址码是指令中给出源操作数地址或运算结果的目的地址的有关信息部分C、地址总线上既可传送地址信息,也可传送控制信息和其他信息D、地址总线上除传送地址信息外,不可以用于传输控制信息和其它信息26.下列四个不同数制表示的数中,数值最大的是A、二进制数11011101B、八进制数334C、十进制数219D、十六进制数DA27.当个人计算机以拨号方式接入Internet网时,必须使用的设备是A、网卡B、调制解调器(Modem)C、电话机D、浏览器软件28.微机计算机硬件系统中最核心的部件是A、主板B、CPUC、内存储器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、11111110B、11101111C、11111011D、1110111035.下列术语中,属于显示器性能指标的是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、CB、必为A、C、BC、必为B、C、AD、不能确定42.在虚拟页式存储管理方案中,下面哪一部分完成将页面调入内存的工作?A、缺页中断处理B、页面淘汰过程C、工作集模型应用D、紧缩技术利用43.在DOS系统中,用于记录和管理磁盘数据区使用情况的数据结构A、位图表B、空闲块表C、文件分配表D、文件控制块44.PSP是?A、团队软件过程B、个体软件过程C、过程改进过程D、质量管理过程45.在CMM模型中,对软件成熟度有以下5个级别,请从低到高排序a初始级:软件过程的特点是无秩序的,偶尔甚至是混乱的。
阿里巴巴笔试题及答案篇一:阿里巴巴oracle-dba 笔试题及答案】txt>1: 列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2: 不借助第三方工具,怎样查看sql 的执行计划set autot onexplain plan set statement_id = item_id for sql;select * from table(dbms_xplan.display);在optimizer_mode=choose 时, 如果表有统计信息(分区表外) ,优化器将选择cbo, 否则选rbo 。
rbo 遵循简单的分级方法学, 使用15 种级别要点,当接收到查询,优化器将评估使用到的要点数目,然后选择最佳级别(最少的数量)的执行路径来运行查询。
cbo 尝试找到最低成本的访问数据的方法, 为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。
4: 如何定位重要(消耗资源多)的sql select sql_textfrom v$sqlwhere disk_reads 1000 or (executions 0 and buffer_gets/executions 30000); 5: 如何跟踪某个session 的sql execdbms_system.set_sql_trace_in_session(sid,serial#,sql_trace); selectsid,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/physicalreads/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 在运行时传递,然后绑定执行。
2014年阿里巴巴校园招聘研发工程师考试真题1.有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5,1,2,5,1,2,3,4,5,会发生多少缺页?A、7B、8C、9D、102.设有一个顺序栈S,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个元素的出栈顺序为s2、s3、s4、s6、s5、s1,则顺序栈的容量至少应为多少?A、2B、3C、4D、53.下列关于文件索引结构的叙述中,哪一个是错误的?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、10B、2^10C、2^14D、2^246.在一个长为33厘米的光滑凹轨上,在第3厘米、第6厘米、第19厘米、第22厘米、第26厘米处各有一个钢珠,凹轨很细,不能同时通过两个钢珠,开始时,钢珠运动方向是任意的。
两个钢珠相撞后,以相同速度反向运动。
假设所有钢珠初始速度为每秒运动1厘米,那么所有钢珠离开凹轨的最长可能时间是()A、30B、26C、38D、337.std::vector::iterator重载了下面哪些运算符?A、++B、>>C、*(前置)D、==8.下列运算符,在C++语言中不能重载的是()A、*B、?:C、::D、delete9.在排序方法中,元素比较次数与元素的初始排列无关的是()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=150216A、9B、10C、12D、1812.关于struct和class,下列说法正确的是()A、struct的成员默认是public,class的成员默认是privateB、struct不能继承,class可以继承C、struct可以有无参构造函数D、struct的成员变量只能是public13.定义一个函数指针,指向的函数有两个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+1C、iD、n-i16.下列代码编译时会产生错误的是()[cpp] view plaincopy#includeusing namespace std;struct Foo{Foo() { }Foo(int) { }void fun() { }};int main(void){Foo a(10); //语句1a.fun(); //语句2Foo b(); //语句3b.fun(); //语句4return 0;A、语句1B、语句2C、语句3D、语句417.在32位机器上,下列代码中[cpp] view plaincopy#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、20B、21C、22D、24E、非以上选项18.下面描述中,错误的是()A、基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B、基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C、基类定义的public和protected成员在保护继承的派生类中不可见D、基类定义的protected成员在protected继承的派生类中可见,也能在类外被访问19.当很频繁地对序列中部进行插入和删除操作时,应该选择使用的容器是()A、vectorB、listC、dequeD、stack20.判断一个单向链表中是否存在环的最佳方法是()A、两重遍历B、快慢指针C、路径记录D、哈希表辅助21.给你1、2、3 这三个数字可以使用C的各种运算符你能表示的最大的整数是()A、2*3*sizeof(1)B、3<<(2<< D、(unsignedC、sizeof(3)<<(sizeof(2)<<(sizeof(1)))> -1的二进制形式就是全1表示22.下面代码的输出是多少?[cpp] view plaincopyclass A{public:A() { cout<<"A"<<>~A() { cout<<"~A"<<>};class B:public A{public:B(A &a):_a(a){cout<<"B"<< p>}~B(){cout<<"~B"<< p>}private:A _a;};int main(void){A a; //很简单,定义a的时候调用了一次构造函数B b(a); //这里b里面的_a是通过成员初始化列表构造起来的//而且是通过copy constructor构造的是b的成员对象_a的,这里是编译器默认的,因此在构造好_a前,先调用基类构造函数//然后才是构造自身,顺序就是A()->_a->B()(局部)//因此这里有两个A,一个B//在return之前进行析构/************************************************************************//*析构是按照定义对象的反顺序来的,而且同一个对象按照构造的反顺序来的,因此这里先析构b然后才是a,那么b的构造顺序是上面的A()->_a->B()(局部),反过来,就是B()(局部)->_a->A()因此得到的就是~B->~A->~A在b之后就是析构a最后结果就是~B->~A->~A->~A*/return 0;}23.一个骰子,6面,1个面是1,2个面是2,3个面是3,问平均掷多少次能使1、2、3都至少出现一次!24.一个有趣的抛硬币问题假设有一个硬币,抛出字(背面)和花(正面)的概率都是0.5,而且每次抛硬币与前次结果无关。
1.现有1G数据需要排序,计算资源只有1G内存可用,下列排序方法中最可能出现性能问题的是____。
A.堆排序B.插入排序C.归并排序D.快速排序E.选择排序F.冒泡排序正确答案:C2.Linux下两个进程可以同时打开同一个文件,这时如下描述错误的是:A.两个进程中分别产生生成两个独立的fdB.两个进程可以任意对文件进行读写操作,操作系统并不保证写的原子性C.进程可以通过系统调用对文件加锁,从而实现对文件内容的保护D.任何一个进程删除该文件时,另外一个进程会立即出现读写失败E.两个进程可以分别读取文件的不同部分而不会相互影响F.一个进程对文件长度和内容的修改另外一个进程可以立即感知正确答案:D一个进程删除该文件后,另一个进程可以继续操作,直到退出以后,才找不到该文件3.现在有一个程序由A,B两个同学结对编程完成,在整个程序中的代码比例是3:5,据往常的统计A同学的千行代码缺陷率为10‰,B同学的千行代码缺陷率为15‰,现在在改程序中发现了一个缺陷,那么是由A同学的代码引起的缺陷的概率为____。
A.28.6%B.37.5%C.40.0%D.47.4%E.52.6%F.71.4%正确答案:A记发现BUG为事件BUG,A编写代码为事件A,B编写代码为事件B,则A编写的代码中发现BUG的概率为P(BUG|A)=0.01%B编写的代码中发现BUG的概率为P(BUG|B)=0.015%对于已经编好的一个程序,P(A)=3/8,P(B)=5/8根据贝叶斯公式得:P(A|BUG)=P(A)P(BUG|A)/{P(A)P(BUG|A)+P(B)P(BUG|B)}=3/8*0.01%/(3/8*0.01%+5/8*0.015%)4.猜数字游戏的过程是你输入一个4位数(数字选取0~9,不会重复),电脑会告诉你两个信息:A个数字和位置均正确,B个数字正确但位置错误。
例如正确答案是7890你输入0789,电脑会告诉你0A4B,表示有0个数字和位置完全正确,但有4个数字正确但位置错误。
阿里巴巴java笔试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. 有些自然物品具有审美价值,所有的艺术品都有审美价值。
因此,有些自然物品也是艺术品。
1. 现在计算机中整数采用的编码方式:A. 原码B. 反码C. Unicode 码D. 补码2. 下面程序的运行结果:#include <iostream>using namespace std;void test(char c, char *d){++c;++*d;cout << c << *d;}int main(){char a='A', b = 'a';test(b, &a);cout << a << b;return 0;}A. ...B. ...C. bBBaD. ...3. 下面的说法那个正确:#define NUMA 10000000#define NUMB 1000int a[NUMA], b[NUMB];void pa(){int i, j;for(i = 0; i < NUMB; ++i)for(j = 0; j < NUMA; ++j)++a[j];}void pb(){int i, j;for(i = 0; i < NUMA; ++i)for(j = 0; j < NUMB; ++j)++b[j];}A. pa 和pb 运行的一样快B. pa 比pb 快C. pb 比pa 快D. 无法判断4. 10 个小球中只有一个红球,现在有放回地抽取一个小球,问至到第n 次才取到k 个红球(k ≤n) 的概率是多少?A. B. C. D.5. 某指令流水线由5 段组成,各段所需要的时间分别是:t、3t、t、2t 和t 。
问如果连续执行10 条指令,则吞吐率是多少?A. 0.1428/tB. 0.2041/tC. 0.2857/tD. 0.3333/t6. 现有两道四个选项的火星文单选题,你已经至少答对一题了,那么你两题都对的概率是多少?A. 1/3B. 1/4C. 1/7D. 1/87. 以下是一个tree 的遍历算法,queue 是一个FIFO 队列。
2021年阿里巴巴秋季校园招聘系统工程师笔试卷考试真题第一局部单项选择题〔前10题,每题2分;后10题,每题3分;共50分。
选对得总分值,选错倒扣一分,不选得0分。
〕1.字符串“alibaba〞有个不同的排列。
A. 5040B. 840C. 14D.4202.以下一段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("%d,",pObj->Bar((char)(100)));printf("%d,",pObj->Bar(100));}A. 100,50B. -100,200C. -100,50D. 100,2003.有一个二维数组A[10][5],每个数据元素占1个字节,且A[0][0]的存储地址是1000,那么A[i][j]的地址是。
A. 1000+10i+jB. 1000+i+jC. 1000+5i+jD. 1000+10i+5j4.以下不是线性表?A. 队列B. 栈C. 关联数组D. 链表5. 以下有关在一个处理器〔processor〕上跑两个线程〔thread〕的说法中,正确的选项是。
A. 一个线程可以改变另一个线程的程序计数器〔program counter〕B. 一个线程既不能读也不能写另一个线程的栈〔stack〕C. 一个线程可以读写另一个线程的存放器〔register〕D. 以上都不对6.关于双链表的搜索给定元素操作的说法正确的选项是。
笔试面试题汇总一、笔试题1、给你一个二叉树的前序序列和中序序列,求其后续序列?(淘宝)先看三个公式:PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树);InOrder(T)= InOrder(T的左子树)+T的根节点+ InOrder(T的右子树);PostOrder(T)= PostOrder(T的左子树)+ PostOrder(T的右子树)+T的根节点。
根据以上的三给公式就可以很容易解决一下两个问题:前序+中序后序;中序+后序前序。
当然也可把树画出来,再求他的各种序列。
2、Cache替换算法命中率最高是?(淘宝)这个组成原理就有讲到了,可以找组成原理的书看下,把各种替换算法在理解下,在书上的P98-P99讲得很详细。
3、给一个顺序表,然后再给你一个码值,求在二分查找改码值的比较次数?(淘宝)自己去做二分的查找的过程,我们知道二分查找是log(n)的,一次比较次数大于log(n)肯定是错的。
具体可以看下数据结构的书,P17-P一八讲的很详细。
4、编译程序中安排中间代码生成的目的是?(淘宝)把与机器相关的工作集中到目标代码生成阶段,难度和工作量下降。
便于移直和维护。
利于优化。
5、假设在n进制下,17*456=8206成立,n是多少?(淘宝)从上面的等式中可以看到8,则进制可定大于8,因此可以从9进制开始枚举,直至满足等式,就可以了。
(建议:先都转换成十进制,在实现乘法运算)6、要从一亿会员中抽出100万会员,考虑到公平性、相对分散、相对随机,不能重复,抽取速度要快。
有一个random函数,能产生0-9的随机数。
请写出你能想到的抽取方法?并写明步骤。
(淘宝)用random函数产生两个数x1、x2,那么会员号mod 100 等于x1x2的话,该会与就被选中。
这样每个会员的中奖概率是1/100。
7、Malloc和new的区别?8、++、--、sizeof(字符串、结构体)(融通)9、字符串函数的实现(strlen、strcpy等)(网龙、亿联网络)10、字符串以单词逆序11、CSTRING类的一些基本函数的实现12、DEBUG 和RELESE 两种调试的区别13、CONST的用法我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。
阿里校园招聘研发工程师笔试题1.某团队有2/5的人会写java程序,有3/4的人会写c++程序,这个团队里同时会写java和c++的至少有()人a.3b.4c.5d.8e.15f.202.某团队负责人接到一个紧急项目,他要考虑在代号为abcdef这6个团队成员中的部分人员参加项目开发工作。
人选必须满足一下各点:ab两人中至少一个人参加ad不能都去aef三人中要派两人bc两人都去或都不去cd两人中有一人参加若d不参加,e也不参加那么最后()参加紧急项目开发。
a.ecefb.afc.ecfd.fe.abcff.ecdef3.对立双方争夺一个价值为1的商品,双方可以采纳的策略可以分为鸽子策略和鹰策略。
如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价;如果一个为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。
在争夺结果出来之前,没人知道对方是鸽子策略还是鹰策略。
当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。
那么该值是:a.0.2b.0.4c.0.5d.0.7e.0.8f.以上都不对4.在小端机器中,如果unionx{intx;chary[4];};如果:xa;a.x=0x11223344;//16进制则:a.a.y[0]=11b.a.y[1]=11c.a.y[2]=11d.a.y[3]=11e.a.y[0]=22f.a.y[3]=225.在以下*作中,数组比线*表速度更快的是()a.原地逆序b.头部*入c.返回中间节点d.返回头部节点e.选择随机节点6.linux系统某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是()a.rootmikeb.rootrootc.mikerootd.mikemikee.deamonmikef. mikedeamon7.有4个进程a、b、c、d,设它们依次进入就绪队列,因相差实际很短可视为同时到达。
腾讯阿⾥巴巴软件开发类笔试考试习题腾讯2014校园招聘软件开发类笔试试题考试时长:120分钟⼀不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分)1 已知⼀棵⼆叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D)A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA2 下列哪两个数据结构,同时具有较⾼的查找和删除性能?(CD)A.有序数组 B.有序链表 C.AVL树 D.Hash表3 下列排序算法中,哪些时间复杂度不会超过nlogn?(BC)A.快速排序 B.堆排序 C.归并排序 D.冒泡排序4 初始序列为1 8 6 25 4 7 3⼀组数采⽤堆排序,当建堆(⼩根堆)完毕时,堆所对应的⼆叉树中序遍历序列为:(A)A.8 3 2 5 1 6 4 7B.3 2 8 5 1 4 6 7C.3 8 2 5 1 6 7 4D.8 2 3 5 1 4 7 65 当n=5时,下列函数的返回值是:(A)int foo(int n){if(n<2)return n;return foo(n-1)+foo(n-2);A.5 B.7 C.8 D.106 S市A,B共有两个区,⼈⼝⽐例为3:5,据历史统计A的犯罪率为0.01%,B区为0.015%,现有⼀起新案件发⽣在S市,那么案件发⽣在A区的可能性有多⼤?(C)A.37.5% B.32.5% C.28.6% D.26.1%7 Unix系统中,哪些可以⽤于进程间的通信?(BCD)A.Socket B.共享内存 C.消息队列 D.信号量8 静态变量通常存储在进程哪个区?(C)A.栈区 B.堆区 C.全局区 D.代码区9 查询性能(B)A.在Name字段上添加主键B.在Name字段上添加索引C.在Age字段上添加主键D.在Age字段上添加索引10 IP地址131.153.12.71是⼀个(B)类IP地址。
2014研发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的整数答案:D2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是: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:诺依曼体系结构的主要特征是存储程序的工作方式答案:B4. 不属于诺依曼体系结构必要组成部分是:A:CPU B: Cache C:RAM D:ROM答案:B5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是:A:DECBA B:DCEBA C:ECDBA D:ABCDE答案:C6.你认为可以完成编写一个C语言编译器的语言是:A:汇编 B:C语言 C:VB D:以上全可以答案:D7. 关于C++/JAVA类中的static成员和对象成员的说确的是:A:static成员变量在对象构造时候生成B: static成员函数在对象成员函数中无法调用C: 虚成员函数不可能是static成员函数D: static成员函数不能访问static成员变量答案:A8:答案:C9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:A: 从就绪变为运行 B:从运行变为就绪C: 从运行变为阻塞 D:从阻塞变为就绪答案:C10:下面算法的时间复杂度为:Int f(unsigned int n){If(n==0||n==1)Return 1;ElseReturn n*f(n-1);}A: O(1) B:O(n) C:O(N*N) D:O(n!)答案:B11: n从1开始,每个操作可以选择对n加1或者对n加倍。
2014研发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的整数答案:D2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是: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:诺依曼体系结构的主要特征是存储程序的工作方式答案:B4. 不属于诺依曼体系结构必要组成部分是:A:CPU B: Cache C:RAM D:ROM答案:B5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是:A:DECBA B:DCEBA C:ECDBA D:ABCDE答案:C6.你认为可以完成编写一个C语言编译器的语言是:A:汇编 B:C语言 C:VB D:以上全可以答案:D7. 关于C++/JAVA类中的static成员和对象成员的说确的是:A:static成员变量在对象构造时候生成B: static成员函数在对象成员函数中无法调用C: 虚成员函数不可能是static成员函数D: static成员函数不能访问static成员变量答案:A8:答案:C9:某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将:A: 从就绪变为运行 B:从运行变为就绪C: 从运行变为阻塞 D:从阻塞变为就绪答案:C10:下面算法的时间复杂度为:Int f(unsigned int n){If(n==0||n==1)Return 1;ElseReturn n*f(n-1);}A: O(1) B:O(n) C:O(N*N) D:O(n!)答案:B11: n从1开始,每个操作可以选择对n加1或者对n加倍。
若想获得整数2013,最少需要多少个操作。
A:18 B:24 C:21 D;不可能答案:A,对2013用除法,显示2013->2012->1006->503->502->251->250->125->124->62->31->30->15->14->7->6->3->2->1正向只能是+1和×2,所以逆向只能-1和/2,由上过程可得18次12:对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:A: n B: n+1 C: n-1 D:n+边数答案:A13:答案:A.对于几何中的每个字符串取hash可以看作是同分布的独立重复事件,所以每一个事件出现10的概率都是p=1/1024,那么当出现的时候,期望的次数就是1/p,1024.14:如下函数,在32bit系统foo(2^31-3)的值是:Int foo(int x){Return x&-x;}A: 0 B: 1 C:2 D:4答案:B15:对于顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为:A: O(n),O(n)B:O(n),O(1) C:O(1),O(n) D:O(n),O(n)答案:C16:在32为系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是:Struct A{Int a;short b;int c;char d;};Struct B{int a;short b;char c;int c;};A: 16,16 B:13,12 C:16,12D:11,16答案:C17:袋中有红球,黄球,白球各一个,每次任意取一个放回,如此连续3次,则下列事件中概率是8/9的是:A: 颜色不全相同 B:颜色全不相同C:颜色全相同D:颜色无红色答案:A18:一个洗牌程序的功能是将n牌的顺序打乱,以下关于洗牌程序的功能定义说法最恰当的是:A: 每牌出现在n个位置上的概率相等B: 每牌出现在n个位置上的概率独立C: 任何连续位置上的两牌的容独立D: n牌的任何两个不同排列出现的概率相等答案:A19:用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色:A: 10 B:11 C:14: D:15答案:C解释:应该有14种方案,设只有黑白两色,默认白色,那么,用p(n)表示有n个黑棋的种类p(0)=p(6)=1p(1)=p(5)=1p(2)=p(4)=3 //相邻的一种,隔一个的一种,两个的一种p(3)=4 //都相邻的一种,BB0B的一种,BB00B的一种,B0B0B的一种,一共4种综上是14种20:递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为:A: O(n) B:O(d) C:O(logn) D:(nlogn)答案:B第二部分:多选21:两个线程运行在双核机器上,每个线程主线程如下,线程1:x=1;r1=y;线程2:y=1;r2=x; X和y是全局变量,初始为0。
以下哪一个是r1和r2的可能值:A: r1=1,r2=1B: r1=1,r2=0C:r1=0,r2=0D:r1=0,r2=1答案:ABD22.关于Linux系统的负载,以下表述正确的是:A: 通过就绪和运行的进程数来反映B: 通过TOP命令查看C: 通过uptime查看D: Load:2.5,1.3,1.1表示系统的负载压力在逐渐变小答案:BC(对于A不确定)23:关于排序算法的以下说法,错误的是:A: 快速排序的平均时间复杂度O(nlogn),最坏O(N^2)B:堆排序平均时间复杂度O(nlogn),最坏O(nlogn)C:冒泡排序平均时间复杂度O(n^2),最坏O(n^2)D:归并排序的平均时间复杂度O(nlogn),最坏O(n^2)答案:D解释:归并排序的平均时间复杂度O(nlogn),最坏O(nlogn)24:假设函数rand_k会随机返回一个【1,k】之间的随机数(k>=2),并且每个证书出现的概率相等。
目前有rand_7,通过调用rand_7()和四则运算符,并适当增加逻辑判断和循环控制逻辑,下列函数可以实现的有:A:rand_3 B:rand_21 C:rand_23 D:rand_49答案:ABCD解释:对于rand_x(x<7)的直接截断,只要rand数大于x直接忽略,保证rand_x能够做到概率相等。
而对于其他的则采用7×rand_7+rand_7,可以-7得到rand_49,然后截断成rand_42,统一除以2,则是rand_21,其他类似。
2013-09-21 23:32368人阅读评论(0)第三部分25、某二叉树的前序遍历序列为-+a*b-cd/ef,后序遍历序列为abcd-*+ef/-,问其中序遍历序列是——。
答案:a+b*c-d-e/f26、某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候1,5,1,3,2,4,1,2出现缓存命中的次数是——。
最后缓存中即将准备淘汰的数据项是——。
答案:3,3解释:(LRU是Least Recently Used 近期最少使用算法。
)1-》1,5-》5,1-》5,1,3-》5,1,3,2-》1,3,2,4-》3,2,4,1-》3,4,1,2-》首先1调入存,然后5调入存,然后1调入存(命中缓存),然后3调入存,然后2调入存,然后4调入存(将最少使用的5置换出存),然后1调入存(命中缓存),然后2调入存(命中缓存)。
最后,最少使用的3将面临被置换出的危险。
27、两个较长的单向链表a和b,为了找出及诶单noed满足node in a并且node in b。
请设计空间使用尽量小的算法(用c/c++,java 或者伪代码)[html]view plaincopyprint?1struct node2{3 int v;4 node *next;5};6/*7返回链表的长度8链表为空返回010size_t listLen(node * p)11{12 size_t num = 0;13 while (p!=NULL)14 {15 num++;16 p = p->next;17 }18 return num;19}20// 如果找到了则返回指针指向公共节点21// 如果不存在则返回空指针22node * findFirstCommenNode(node * pheada, node * pheadb)23{24 size_t lenA = listLen(pheada);25 size_t lenB = listLen(pheadb);2627 node * plistA = pheada;28 node * plistB = pheadb;29 //调整长度30 //plistA 指向较长的一个31 if (lenA < lenB)32 {33 plistB = pheada;34 plistA = pheadb;35 size_t t = lenA;36 lenA = lenB;37 lenB = t;38 }39 while(lenA > lenB)40 {41 plistA = plistA->next;42 --lenA;43 }44 //一样长了45 //寻找公共节点46 while (plistA!=NULL && plistA != plistB)47 {48 plistA = plistA->next;49 plistB = plistB->next;50 }51 return plistA;52}算法的空间复杂度O(1),时间复杂度O(m+n)。
28、当存储数据量超出单节点数据管理能力的时候,可以采用的办法有数据库sharding的解决方案,也就是按照一定的规律把数据分散存储在多个数据管理节点N中(节点编号为0,1,2,,,,N-1)。
假设存储的数据时a 请完成为数据a计算存储节点的程序。