阿里巴巴2018校园招聘笔试试题-软件研发工程师+答案

合集下载

2018-2019-201X年阿里校招笔试题目word版本 (16页)

2018-2019-201X年阿里校招笔试题目word版本 (16页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==201X年阿里校招笔试题目前言我明天上午9点还有面试,今天突然看到某大牌IT公司笔试题目,必须做一下了题目一、单选题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的整数选择C,解释:开始纠结于C和D,但是hash的特性在于常数的时间执行插入、删除和查找操作,用D作为hash函数无法满足该条件,用C产生碰撞可以用链接法解决冲突,感谢@zdw12242的纠正2.下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:A: 堆排序 B:插入排序C: 冒泡排序 D:快速排序选择A,解释:(1)堆排序的时间复杂度一直都是O(nlogn),不稳定(2)插入排序在初始有序情况下,时间复杂度为O(n),平均时间复杂度为O(n^2),稳定排序(3)冒泡排序在初始有序的情况下,增加交换标示flag可将时间复杂度降到O(n),稳定排序(4)快速排序在初始有序的情况下,可能会退化到O(n^2),不稳定排序3. 下面说法错误的是:A: CISC计算机比RISC计算机指令多B: 在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间C:增加流水线段数理论上可以提高CPU频率D:冯诺依曼体系结构的主要特征是存储程序的工作方式选择B,解释(1)CISC复杂指令集,RISC精简指令集,从名字上就可以得出A正确(2)保持指令字长度不变而增加指令操作的数量(3)看样子都觉得正确(4)冯诺依曼体系结构的主要特点:存储程序控制(要求计算机完成的功能,必须事先编制好相应的程序,并输入到存储器中,计算机的工作过程是运行程序的过程);程序由指令构成,指令和数据都用二进制表示;指令由操作码和地址码构成;机器以cpu为中心4. 不属于冯诺依曼体系结构必要组成部分是:A:CPU B: Cache C:RAM D:ROMB,解释:冯诺依曼体系结构必要组成部分:运算器、控制器、存储器、输入设备、输出设备,Cache属于缓存了5. 一个栈的入栈序列式ABCDE则不可能的出栈序列是:A:DECBA B:DCEBA C:ECDBA D:ABCDEC,不解释.你认为可以完成编写一个C语言编译器的语言是:A:汇编 B:C语言 C:VB D:以上全可以D,解释:其实你学好编译原理用什么语言都能写出来7. 关于C++/JAVA类中的static成员和对象成员的说法正确的是:A:static成员变量在对象构造时候生成B: static成员函数在对象成员函数中无法调用C: 虚成员函数不可能是static成员函数D: static成员函数不能访问static成员变量C,解释:虽然博主主要以php和c为主,php也能面向对象,我来简单说明一下。

2018年阿里巴巴笔试题练习题-优秀word范文 (12页)

2018年阿里巴巴笔试题练习题-优秀word范文 (12页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==阿里巴巴笔试题练习题想要进入阿里巴巴的朋友,你们做过他们公司的笔试题目吗?下面是小编整理的阿里巴巴笔试题练习题,欢迎大家阅读!阿里巴巴笔试题练习题【1】1.下面哪一个不是动态链接库的优点?A.共享B.装载速度快C.开发模式好D.减少页面交换2.n个数值选出最大m个数(3A.O(n)B.O(nlogn)C.O(logn)D.O(mlogn)E.O(nlogm)F.O(mn)3.由权值分别为1、12、13、4、8的叶子节点生成一颗哈夫曼树,它的带权路径长度为()A.12B.68C.43D.6E.25F.814.阿里巴巴国际站的股票代码是1688,这个数字具有这样的特性,首先是个首位为1的4位数,其次恰巧有且仅有1个数字出现了两次。

类似的数字还有:1861,1668等。

这样的数字一共有()个。

A.144B.180C.216D.270E.288F.4325.工程师M发明了一种游戏:M将一个小球随机放入完全相同的三个盒子中的某一个,玩家选中装有球的盒子即获胜;开始时M会让玩家选择一个盒子(选择任何一个获胜概率均为1/3);玩家做出选择后,M会打开没有被选择的两个盒子中的一个空盒,此时M会询问玩家是否更改选择(可以坚持第一次选择,也可以选择另一个没有打开的盒子),下列叙述正确的有()。

A.改选后,玩家获胜的概率还是1/3B.若不改选,玩家的获胜概率是1/2C.无论怎么选择,获胜的概率都是1/2D.坚持原来的选择获胜概率更高E.选择另一个没有被打开的盒子获胜概率更高F.获胜概率取决于随机因素(如小球的实际位置)6.以下哪种方式,在读取磁盘上多个顺序数据块时的效率最高?A.中断控制方式B.DMA方式C.通道方式D.程序直接访问方式E.循环检查I/O方式F.以上访问方式都一样7.下列不是进程间的通信方式的是()A.管道B.回调C.共享内存D.消息队列E.socketF.信号量8.已知IBM的PowerPC是big-endian字节序列而Intel的X86是little-endian字节序,如果在地址啊存储的整形值时0x04030201,那么地址为a+3的字节内存储的值在PowerPC和Intel X86结构下的值分别是?A.1 4B.1 3C.4 1D.3 1E.4 4F.1 19.在TCP/IP建立连接过程中,客户端或服务器的状态转移说法错误的是?A.经历SYN_RECV状态B.经历SYN_SEND状态C.经历ESTABLISHED状态D.经历TIME_WAIT状态E.服务器在收到syn包时将加入半连接队列F.服务器收到客户端的ack包后将从半连接队列删除10.已知一棵二叉树的先序和中序遍历序列如下:先序:A、B、C、D、E、F、G、H、I,J中序:C、B、A、E、F、D、I、H、J、G其后序遍历序列为:A.C、B、D、E、A、G、I、H、J、FB.C、B、D、A、E、G、I、H、J、FC.C、E、D、B、I、J、H、G、F、AD.C、E、D、B、I、H、J、G、F、AE.C、B、F、E、I、J、H、G、D、AF.C、B、F、E、I、H、J、G、D、A11.设有三个元素A、B、C、D顺序进栈,在进栈过程中可以出栈,出栈次序错误的排列是A.ABCDB.DCBAC.ACBDD.BCDAE.ACDBF.DCAB12.问题描述:#pragma pack(2)class BU{int number;union UBffer{char buffer[13];int number;}ubuf;void foo(){}typedef char*(*f)(void*);enum{hdd,ssd,blueray}disk;}bu;sizeof(bu)的值是()A.20B.21C.22D.23E.24F.非以上选项13.同一个进程中的线程不共享的部分是()A.信号B.堆C.文件描述符D.进程组idE.代码段F.栈空间14.下面关于系统调用的描述中,错误的是()A.系统调用把应用程序的请求传输给系统内核执行B.系统调用中被调用的过程运行在”用户态”中C.利用系统调用能够得到操作系统提供的多种服务D.是操作系统提供给编程人员的接口E.系统调用给用户屏蔽了设备访问的细节F.系统调用保护了一些只能在内核模式执行的操作指令15. 在动态分区分配方案中,系统回收主存,合并空闲空间时需修改空闲区表,以下哪种情况空闲区会减1?A.只要回收主存,空闲区数就会减一B.空闲区数和主存回收无关C.无上邻空闲区,也无下邻空闲区D.有上邻空闲区,但无下邻空闲区E.有下邻空闲区,但无上邻空闲区F.有上邻空闲区,也有下邻空闲区16.下面关于虚拟局域网VLAN的叙述错误的是()A.VLAN是由局域网网段构成的与物理位置无关的逻辑组B.利用以太网交换机可以很方便地实现VLANC.每一个VLAN的工作站可处在不同的局域网中D.不同VLAN内的用户可以相互之间直接通信E.vELAN可以强化网络安全和网络管理F.VLAN能灵活控制广播活动17.刚毕业的小王上班有两路公交车都可以从家到公司.如果只等A车,平均需要5分钟才等到;如果只等B车,平均需要7分钟才能等到.假定两辆车运行时间独立,那么小王平均需要等多长时间才能等到A车或B车?A.2分钟B.2分35秒C.2分55秒D.3分钟E.5分钟F.6分钟18.一个黑色袋子中装有5个红球,5个蓝球,5个黄球,从中抽取三次,每次抽一个球,取完不放回,则每种颜色球各得一个的概率是()A.1/5B.1/4C.1/3D.12/91E.20/91F.25/9119.int* pint = 0;pint += 6;cout << pint << endl;以上程序的运行结果是:A.12B.72C.24D.0E.6F.任意数20.某种5号(AA)充电电池在充满电之后的电量是900毫安时和1100毫安时的可能性各为1/2。

阿里校招研发工程师在线笔试题

阿里校招研发工程师在线笔试题

阿里校招研发工程师在线笔试题xx阿里校招研发工程师在线笔试题、C++内存分配中说法错误的是 _____A 对于栈来说,生长方向是向上的,也就是向着内存地址增加的方向B 对于堆,大量的new/操作会造成内存空间不连续C 堆容易产生memory leakD 堆的效率比栈要低很多E 栈变量引用容易逃逸F 以上都对2、全班100个学生,老师让玩如下一个游戏:每个学生在纸上写一个1到100之间的整数(含1和100),不能参考别人写的数字,谁的数字最接近所有数字的3/4,谁就会获得100元。

下面的数字中,最糟糕的选择是 _____A 1B 2C 10D 20E 50F 803、下列正则表达式不可以匹配“.alibaba-inc.”的是_____A ^\w+\.\W+\-\w+\.\w+$B [w]{0,3}.[a-z\-]*.[a-z]+C [c-w.]{3,10}[.][c-w.][.][a]D [w][w][w][alibaba-inc]+[]+E ^\w.*$F [w]{3}.[a-z\-]{11}.[a-z]{3}4、关于UNIX系统代码段和数据段分开的目的,错误的说法有_____A 可共享正文B 可共享数据C 可重入D 可保护代码为只读E 方便编程F 更好支持内存回收策略5、下列关键字序列为堆的是 _____A 100,60,70,50,32,65B 60,70,65,50,32,100C 65,100,70,32,50,60D 70,65,100,32,50,60E 32,50,100,70,65,60F 50,100,70,65,60,326、用6块1*2的完整瓷砖,铺满2*6的地面,一共有 _____ 种不同铺法,不允许将瓷砖划分为小瓷砖。

A 13B 15 C22 D 24 E 25 F 267、设m和n都是int类型,那么一下for循环语句_____for(m=0,n=-1;n=0;m++,n++)n++;A 循环体一次也不执行B 循环体执行一次C 无限循环D 有限次循环E 循环结束判断条件不合法F 运行出错8、带头结点的单链表head为空的判断条件是 _____A head==NULLB head->next=NULLC head->next==headD head!=NULLE *head==NULLF *(head->next)==NULL9、硬币游戏:连续仍硬币,直到某一人获胜。

2018阿里巴巴秋招试题

2018阿里巴巴秋招试题

2018阿里巴巴秋招试题目录2018阿里巴巴秋招试题 (1)2018阿里巴巴秋招正式试题 (2)一、选择题 (2)二、简答题 (7)2018阿里巴巴java秋招试题 (13)一、单项选择题 (13)二、编程题 (27)2018阿里巴巴秋招正式试题一、选择题1.下面代码中,当点击点我时,输出的正确结果是:B<div id="div2"><div id="div1">点我</div></div>var div2=document.getElementById('div2');var div1=document.getElementById('div1');div1.addEventListener('click', function(event){console.log("A");}, true); div2.addEventListener('click', function(event){console.log("B");});div1.addEventListener('click', function(event){console.log("C");}, false); div2.addEventListener('click', function(event){console.log("D");}, true);A、A B C DB、D A C BC、A D B CD、D C A BE、B D A C2.关于Fetch API,以下描述错误的是:FA、fetch() 返回的是一个Promise 实例B、Fetch API 可以结合async / await 使用C、Fetch API 提供的API 囊括但不限于XHR 的所有功能D、Fetch API 可以跨域E、Fetch 提供了对Request 和Response 对象的通用定义F、fetch() 必须接受一个参数:资源的路径3.以下代码片段在Node.js 环境下执行的结果顺序是:C setTimeout(function () {console.log('1');}, 0);process.nextTick(function(){console.log("3");});console.log('2');setImmediate(function(){console.log("4");A、2、1、4、3B、2、1、3、4C、2、3、1、4D、4、1、2、3E、4、2、1、3F、1、4、2、34.以下哪个标签不属于svg 元素:CA、<circle>B、<ellipse>C、<rectangle>D、<marker>E、<polyline>F、<animate>5.关于ES6 当中箭头函数说法错误的是:AA、箭头函数可以使用yieldB、箭头函数不可以用作构造函数C、不会改变this 的指向D、箭头函数是Function 的实例E、箭头函数函数体没有花括号可以做为返回值F、内部不能访问到arguments 对象6.关于JavaScript 中的函数,以下说法正确的有:BF在已知名称的函数的函数体声明语句之外,不能获知该函数的形参个数A、在函数内部,可以通过arguments 获取函数的实参个数B、因为arguments 是Array 的实例,因此可以使用数组的方法去操作它C、对同一个函数foo,使用new foo() 和foo() 调用的结果是一样的D、如果一个函数中没有使用return 语句,则它默认返回nullE、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象F、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象7.关于CSS 的position 属性,下列说法中正确的是:AD默认值是relativeA、值为static 时,left、right、top、bottom 的值无效。

2018年下半年软件设计师真题+答案解析(全国计算机软考)上午选择+下午案例完整版

2018年下半年软件设计师真题+答案解析(全国计算机软考)上午选择+下午案例完整版

2018年下半年软件设计师真题+答案解析上午选择2018年11月11日考试1、CPU在执行指令的过程中,会自动修改()的内容,以使其保存的总是将要执行的下一条指令的地址。

A. 指令寄存器B. 程序计数器C. 地址寄存器D. 指令译码器答案:BCPU执行指令的过程中,会自动修改PC的内容,PC是指令计数器,用来存放将要执行的下一条指令。

对于指令寄存器(IR)存放即将执行的指令,指令译码器(ID)对指令中的操作码字段进行分析和解释,地址寄存器(AR),不是我们常用的CPU内部部件,其作用是是用来保存当前CPU所要访问的内存单元或I/O设备的地址。

2、在微机系统中,BIOS(基本输入输出系统)保存在()中。

A. 主板上的ROMB. CPU的寄存器C. 主板上的RAMD. 虚拟存储器答案:ABIOS(Basic Input Output System)(基本输入输出系统)是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。

3、采用n位补码(包含一个符号位)表示数据,可以直接表示数值()。

A. 2nB. -2nC. 2n-1D. -2n-1答案:D在计算机中,n位补码(表示数据位),表示范围是-2n-1 ~ -2n-1-1,其中最小值为认为定义,以n=8为例,其中-128的补码是人为定义的1000 0000。

4、某系统由下图所示的部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为()。

A. (3R+2R)/2B. R/3+R/2C. (1-(1-R)3)(1-(1-R)2)D. (1-(1-R)3-(1-R)2)答案:C对于可靠度计算,串联系统可靠度为R1*R2,并联系统R1=1-(1-R)*(1-R)*(1-R),并联系统R2=1-(1-R)*(1-R),因此答案为(1-(1-R)3)(1-(1-R)2)。

[全]软件测试招聘面试笔试题(附答案)

[全]软件测试招聘面试笔试题(附答案)

[全]软件测试招聘面试笔试题(附答案)软件测试招聘面试笔试题(附答案)软件测试笔试题一、选择题1、对计算机软件和硬件资源进行管理和控制的软件是(D)A.文件管理程序B.输入输出管理程序C.命令出来程序D.操作系统2、在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A)A.错误推测法测试B.路劲分析测试C.语句覆盖测试D.条件覆盖测试3、某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为(C)A.静态测试B.单元测试C.黑盒测试4、编写测试计划的目的是(ABC)多选题A.使测试工作顺利进行B.使项目参与人员沟通更舒畅C.使测试工作更加系统化D.软件工程以及软件过程的需要E.软件过程规范化的要求F.控制软件质量5、关于软件测试与软件开发的认识,不正确的是(B)A.软件生命周期各个阶段都可能产生测试B.软件测试是独立于软件开发的一个工作C.软件开发的需求分析和设计阶段就应开始测试工作D.测试越早进行,越有助于提高被测软件的质量6、当一个应用程序窗口被最小化后该应用的程序将会出现一下哪种情况(D)A.被终止执行B.继续在前台执行C.被暂停执行D.被转入后台执行7、下列方法中,不属于黑盒测试的是?(A)A.基本路劲测试法B.等价类测试法C.边界值分析法D.基于场景的测试方法8、对于维护软件的人员来说,使用质量是【】的结果(C)A.功能性B.可靠性C.可维护性D.效率9、下列软件属性中,软件产品首要满足的应该是(A)A.功能需求B.性能需求C.可扩展性和灵活性D.容错、纠错能力10、单元测试中设计测试用例的依据是(D)A.概要设计规格说明书B.用户需求规格说明书C.项目计划说明书D.详细设计规格说明书二、判断题1、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

(√)2、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作(× )3、发现错误多的模块,残留在模块中的错误也多。

阿里巴巴2018校园招聘笔试试题-软件研发工程师+答案

阿里巴巴2018校园招聘笔试试题-软件研发工程师+答案

阿里巴巴2018秋季校园招聘-软件研发工程师笔试题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 成员变量8:答案:A 8:答案: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 加倍。

阿里巴巴2018秋季校园招聘研发工程师在线笔试题

阿里巴巴2018秋季校园招聘研发工程师在线笔试题

精选公函范文最新阿里巴巴2018秋季校园招聘研发工程师在线笔试题1. 以下关键字序列为堆的是。

A. 100, 60, 70, 50, 32, 65B. 60, 70, 65, 50, 32, 100C. 65, 100, 70, 32, 50, 60D. 70, 65, 100, 32, 50, 60E. 50, 100, 70, 65, 100, 322. 如果一个博物馆参观者到达的速率是20人/min,平均每个人在馆内停留20分钟,那么该博物馆至少需要容纳人才行?A. 100B. 200C. 300D. 400E. 500F. 600G. 700H. 8003. 计算三个稠密矩阵A, B, C的乘积ABC,假定三个矩阵的尺寸分别为m*n,n*p, p*q,且mA. (AB)CB. A(BC)C. (AC)BD. (BC)AE. (CA)B4. 通过算法生成的随机数是“伪随机”的,也就是说,在设定好第一个数之后,后面的数字的序列是确定的,并且经过一个非常大循环会回到第一个数的状态,然后周而复始。

显然,摇号、抽奖的程序是不能通过伪随机数来实现的。

显示中常常基于某种热噪声来实现真正的伪随机数。

假定某热噪声是标准正态分布,那么能否将它转换成(0, 1)区间上的均匀分布?A. 无法转换为(0, 1)区间上的均匀分布B. 信息不足,无法判断C. 借助伪随机数生成算法可以转换为(0, 1)区间上的均匀分布D. 仅仅靠伪随机数生成算法,就可以生成(0,1)区间上的均匀分布E. 以上说法都不对5. 有一个用数组C[1…m]表示的环形队列,m为数组长度。

假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。

若队列飞空,则计算队列中元素的个数的公式应为?A. (m+r-f) mod m[应用文写作好帮手B. r-fC. (m-r+f) mod mD. (m-r-f) mod mE. (r-f) mod mF. 需要判断边界6. 某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。

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

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

阿里巴巴面试题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,bB、f,d,bC、g,c,bD、g,d,b3、 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、7B、8C、9D、105、设有一个顺序栈S,元素s1、s2、s3、s4、s5、s6依次进栈,如果6个元素的出栈顺序为s2、s3、s4、s6、s5、s1,则顺序栈的容量至少应为多少?A、2B、3C、4D、56、下列关于文件索引结构的叙述中,哪一个是错误的?A、采用索引结构,逻辑上连续的文件存放在连续的物理块中B、系统为每个文件建立一张索引表C、索引结构的优点是访问速度快,文件长度可以动态变化D、索引结构的缺点是存储开销大7、在ASC算法team日常开发中,常常面临一些数据结构的抉择,令人纠结。

目前大家在策划一个FBI项目(Fast Binary Indexing),其中用到的词汇有6200条,词汇长度在10-15之间,词汇字符是英文字母,区分大小写。

阿里巴巴考试题及答案

阿里巴巴考试题及答案

阿里巴巴考试题及答案一、单选题(每题2分,共10题)1. 阿里巴巴集团成立于哪一年?A. 1995年B. 1998年C. 1999年D. 2001年答案:C2. 阿里巴巴集团的创始人是谁?A. 马化腾B. 马云C. 任正非D. 李彦宏答案:B3. 阿里巴巴集团的总部设在哪个国家?A. 美国B. 中国C. 印度D. 日本答案:B4. 阿里巴巴集团旗下的电商平台包括以下哪些?A. 淘宝、天猫、京东B. 淘宝、天猫、拼多多C. 淘宝、天猫、亚马逊D. 淘宝、天猫、苏宁易购答案:B5. 阿里巴巴集团的核心价值观是什么?A. 客户第一、员工第二、股东第三B. 客户第一、股东第二、员工第三C. 员工第一、客户第二、股东第三D. 股东第一、客户第二、员工第三答案:A6. 阿里巴巴集团的使命是什么?A. 让天下没有难做的生意B. 让天下没有难做的技术C. 让天下没有难做的服务D. 让天下没有难做的教育答案:A7. 阿里巴巴集团的愿景是什么?A. 成为全球最大的电商平台B. 成为全球最大的科技公司C. 成为全球最大的金融公司D. 成为全球最大的物流公司答案:A8. 阿里巴巴集团的企业文化是什么?A. 创新、合作、诚信、共赢B. 创新、竞争、诚信、共赢C. 创新、合作、诚信、竞争D. 创新、合作、竞争、共赢答案:A9. 阿里巴巴集团的口号是什么?A. 让天下没有难做的生意B. 让天下没有难做的技术C. 让天下没有难做的服务D. 让天下没有难做的教育答案:A10. 阿里巴巴集团的吉祥物是什么?A. 猫B. 狗C. 熊D. 兔答案:A二、多选题(每题3分,共5题)1. 阿里巴巴集团旗下的业务板块包括以下哪些?A. 电商B. 金融C. 物流D. 云计算E. 娱乐答案:ABCDE2. 阿里巴巴集团的核心价值观包括以下哪些?A. 客户第一B. 团队合作C. 拥抱变化D. 诚信E. 激情答案:ABCDE3. 阿里巴巴集团的使命和愿景包括以下哪些?A. 让天下没有难做的生意B. 成为全球最大的电商平台C. 创造就业机会D. 促进经济发展E. 提高人们的生活水平答案:ABDE4. 阿里巴巴集团的企业文化包括以下哪些?A. 创新B. 合作C. 诚信D. 共赢E. 竞争答案:ABCD5. 阿里巴巴集团的口号和吉祥物包括以下哪些?A. 让天下没有难做的生意B. 猫C. 狗D. 熊E. 兔答案:AB三、判断题(每题1分,共10题)1. 阿里巴巴集团成立于1999年。

2018秋招阿里巴巴java笔试试题 精

2018秋招阿里巴巴java笔试试题 精

2018秋招阿里巴巴java笔试试题精一、单项选择题1、以下函数的时间复杂度是()1 2 3 4 5 6 7 8 9void func(int x,int y, int z){ if(x<=0)printf("%d, %d\n", y, z);else{func(x-1,y+1,z);func(x-1,y,z+1);}}A.O(x*y*z)B.O(x^2*y^2)C.O(2^x)D.O(2^x*2^y*2^z)E.O(x!)F.O((x*y*z)!)参考答案:C2、在一台64位的计算机上,以下哪段C语言代码与代码(x[2]+4)[3]等价(x 的类型是int **)()A.*((*(x+16))+28)B.*((*(x+2))+7)C.**(x+28)D.*(((*x)+2)+7)E.*(((*x)+16)+28)F.**(x+9)参考答案:B3、关于ios和Android应用以下描述错误的是()A.ios和Android应用界面都可以通过IDE可视化界面拖拽完成布局,也可以在运行时通过代码布局B.Objective C的ARC和Java的GC,都是一种运行时内存管理机制C.ios和Android应用都可以发布或接收通知来进行跨进程通信D.Ios和Android应用都在调用某些系统功能如相机时,需预先拥有相应权限E.ios和Andriod应用都拥有各自独立、安全隔离的文件空间F.ios和Andriod应用都可以注册自定义URL Scheme参考答案:C4、堆栈中有元素abcdef,每次出栈可以选择一个或者两个元素栈,当有两个元素出栈时可以选择其中一个重新入栈,则所有元素为空,那么可能的出栈方式有()种?A.23B.22C.21D.20E.19F.18参考答案:C5、下列关于linux中kernel space和user space描述错误的是()er space不能直接对文件进行写操作B.程序代码能手动指定在哪个space中运行er space不能直接创建进程er space和kernel space的运行空间是相互隔离的E.Kernel space可以执行任意系统命令er space中运行出错不会影响kernel space参考答案:B6、请阅读下面代码,计算运行结果:public class C{ static class A{} static class B extends A{} public static void main(String[] args){ArrayList<A> list = new ArrayList<A>();list.add(new B()); method1(list);} private static void method1(List<?[侯萍1] supper A> list) { for(int i=0;i<list.size();i++){A a = list.get(0);}} }以上程序的运行结果可能出现的是:()A.list.add(new B())编译报错B.method1编译报错C.A a=list.get(0)编译报错D.程序正常运行E.list.add(new B())与method1(list)都编译报错F.list.add(new B())与A a=list.get(0);编译报错参考答案:C7、请阅读下面代码,计算运行结果;1 2 3 4 5 6 7 8 9 10 111213 14 15 16 17 18 public class ThreadTest{private static AtomicInteger atomicInteger=new AtomicInteger(); public static void main(String[] args){A a =new A();try{atomicInteger.wait();} catch (InterruptedException e){e.printStackTrace();}a.start();}static class A extends Thread{ <a class="js-nc-card" data-card-uid="992988" href="/profile/992988" target="_blank">@Override public void run(){atomicInteger.notify();zySet(1);System.out.println(atomicInteger.get());}}}</a>以上程序的运行结果是:()A.编译报错,有未捕捉的异常B.程序正常运行后,一直holdC.程序正常运行,控制台打印出1D.程序正常运行,控制台打印出0E.程序编译通过,但运行时报错F.以上都不对参考答案:A8、在一台6G 内存Linux 操作系统的机器上,coredump 打开且大小不做限制,执行下面的程序分别会发生什么?(1)1 2 3 4 5 6 7 8#include<stdio.h>#include<stdlib.h>int32_t main(){unit64_t size=8*1024*1024*1024L; char* a=new char(size);*(a+1)='a';return 0;}(2)1 2 3 4 5 6 7 8#include<stdio.h>#include<stdlib.h>int32_t main(){unit64_t size=10*1024*1024*1024L; char* a=new char(size);*(a+1)='a';return 0;}(3)1 2 3 4 5 6 7 8#include<stdio.h>#include<stdlib.h>int32_t main(){unit64_t size=7*1024*1024*1024L; char* a=new char(size);*(a+size-1)='a';return 0;}A.coredump,coredump,coredumpB.正常,coredump,正常C.正常,正常,coredumpD.coredump,正常,coredumpE.coredump,正常,正常F.正常,coredump ,coredump参考答案:A9、下列程序的输出是()1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include<iostream>using namespace std;class A{public:A(int n):m_n(n){}int cal(){int result = 0,i = 0,j = 0;for(int k = m_n;k>0;k--){if(j>0)j = k*10+j;elsej = k;while (j>=10) {int t = j % 100;j = j / 100;result = ((i++ % 2==0) ? result+t:result-t);}}if(j>0)result = ((i++ % 2==0) ? result+j:result-j);return result;}private:int m_n;};int main(){A a = A(101);cout<<a.cal()<<endl;return 0;}A.-80B.-79C.0D.90E.79F.80参考答案:A10、用0,1,2,3,4,5组成一个4位数,要求每一位都不一样,请问能组成多少个四位数()A.240B.280C.300D.360E.400F.450参考答案:C11、小明有200个淘公仔,小梅有20个电脑包,每次小明给小梅6个淘公仔,小梅就给小明1个电脑包,经过多少次交互后,小明手中的淘公仔的个数是小梅手中电脑包数量的11倍?()A.4B.5C.6D.7E.8F.9参考答案:A200-6n=11(20-n)解析:n=412、以下描述正确的是()A.线性规划问题是一个NP-Hard问题B.因为单纯形法可以保证在限步数内收敛,所以是复杂度为多项式级别的算法,用于解决线性规划问题C.内点法只用于解决线性规划问题D.线性规划区别于非线性规划的地方在于,其达到最优点的时候不需要满足K-K-T优化条件E.一个可解的线性规划问题的主问题和对偶问题分别达到最优化的时候,最优值一定相等F.以上都不对参考答案:B13、设有一个二维数组A[m][n],假设A[0][1]存放位置在1601(10),A[3][3]存放位置在1648(10),每个元素占一个空间,问A[2][2](10)存放在什么位置?脚注(10)表示用10进制表示。

2018-2019-阿里巴巴C++工程师校招笔试参考题目-实用word文档 (4页)

2018-2019-阿里巴巴C++工程师校招笔试参考题目-实用word文档 (4页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==阿里巴巴C++工程师校招笔试参考题目一、问答题01机器人每次向前走1步概率是1/2,每次向前走2步概率是1/2,当机器人走的路程是4的整数倍时候结束,求结束时机器人步数的期望027635412,做堆排序升序,第一轮后的结果03老公接老婆下班,老公6:20—6:30到,老婆6:25—6:30下办公楼,如果老公到老婆办公楼下比老婆晚,就会挨打,求老公挨打概率。

04二进制数0.0011001100110011最接近的10进制数05中国打算30年后成为发达国家,生产力翻番,问每年的生产力增长率至少为多少?06进程和线程区别07掷筛子拿奖金,两次机会,掷得是几,就拿几的奖金,比如掷3,则拿3元。

第一次掷结束后可以选择拿奖金离开,也可以选择再掷一次,如果再掷一次,则只能拿第二次获得的奖金,求期望08write pwrite seek fseek 哪个和其他的不同一个是系统调用一个是库函数二、附加题09给出一组整数对 { (a[0], b[0]), (a[1], b[1]) ... (a[n-1], b[n-1]) },所有 a 值和 b 值分别不重复(任意 i != j 满足 a != a[j] 且 b != b[j])。

构造一棵 n 结点的二叉树,将这 n 个整数对分配到各个结点上。

根和所有子树满足以下条件:1) 所有结点的 a 值满足二叉查找树的顺序,即 left->a < root->a && root->a < right->a;2) 所有结点的 b 值满足最大堆的顺序,即 root->b > left->b && root->b > right->b。

阿里巴巴 2018校园招聘笔试试题——Java研发岗

阿里巴巴 2018校园招聘笔试试题——Java研发岗

【实习碰壁】上个学期末我就开始投简历了,那时候是为了找一份暑期实习做做。

我投了4家公司,但是都被鄙视了,不是面试挂了,就是至少要求实习6个月,有的甚至连笔试机会都不给我。

当时心里相当得失落。

实验室的博士gg安慰我,说还是利用暑假好好看看书,好好巩固下基础。

我觉得蛮有道理的,所以7月份就在实验室看了一个月的书。

什么都看,算法,数据结构,设计模式,C++,英语…,然后8月份回家彻底放松了一个月。

【准备笔试】9月份返校不久,就看到阿里的招聘信息。

我本想报B2B部门的C++研发工程师,因为我一直准备C++方面的东西,但是B2B的C++研发工程师是做网络负载平衡的,要对网络协议和linux比较精通。

我觉得难度太大,所以改投了Java研发。

一是招得人很多,200个人;二是Java以前学过,对于J2EE的常用架构我也用过一点。

决定之后已经到了9月14号,离宣讲会还差10天,而我知道阿里的风格是宣讲会完了就笔试,面试,时间非常紧,所以打算这10天拼了。

一找准方向,感觉自己就很有动力。

首先把把电脑里面的所有游戏,电影全部删掉了,接着就到处收集资料,在网上搜笔经面经,到图书馆借书,仿佛又回来当初考研时的状态了。

杨师兄对我的帮助很大,他把他去年整理的材料给我,让我省了不少功夫,还有张师兄和谢师兄的资料对我帮助也很大。

我们实验室的billy,hwh也报了java研发方向,大家组成了一个team,天天钻研Java。

而且我发现大家一起准备,特别有效率,尤其是有不懂的问题的时候,大家一起讨论一下就有思路了。

后来,为了尽可能的抓紧时间,我又想到了一个idea,就是把网上找的一些资料,来不及看的,就发到我的新浪博客(/seu071212)里面,然后晚上可以躺在床上用手机看。

不过这个习惯不太好,因为有时间看久了对睡眠有影响。

遇到不懂的问题,我就请教我们实验室的博士gg,博士gg还在外地实习,就QQ语音。

10天的时间里,终于把要看的看得差不多了,只是spring和hibernate只是略懂其原理,实在来不及细看。

阿里校园招聘研发工程师笔试题

阿里校园招聘研发工程师笔试题

阿里校园招聘研发工程师笔试题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地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

阿里巴巴2018秋季校园招聘-软件研发工程师笔试题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!)11: n从1开始,每个操作可以选择对n加1或者对n加倍。

若想获得整数2018,最少需要多少个操作。

A:18 B:24 C:21 D;不可能答案:A,对2018用除法,显示2018->2018->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:415:对于顺序存储的线性数组,访问节点和增加节点删除节点的时间复杂度为: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,其他类似。

阿里巴巴2018秋季校园招聘-软件研发工程师笔试题续2018-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链表为空返回09*/10size_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)。

相关文档
最新文档