1、阿里巴巴秋招试题2018阿里巴巴秋招试题2018阿里巴巴秋招正式试题一、选择题1. 下面代码中,当点击 点我 时,输出的正确结果是:B 点我 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.addEventListen
2、er(click, function(event)console.log(C);, false); div2.addEventListener(click, function(event)console.log(D);, true); A、A B C D B、D A C B C、A D B C D、D C A B E、B D A C 2. 关于 Fetch API,以下描述错误的是:F A、fetch() 返回的是一个 Promise 实例 B、Fetch API 可以结合 async / await 使用 C、Fetch API 提供的 API 囊括但不限于 XHR 的所有功能 D、Fetc
3、h 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、3 B、2、1、3、4 C、2、3、1、4 D、4、1、2、3
4、E、4、2、1、3 F、1、4、2、3 4. 以下哪个标签不属于 svg 元素:C A、 B、 C、 D、 E、 F、 5. 关于 ES6 当中箭头函数说法错误的是:A A、箭头函数可以使用 yield B、箭头函数不可以用作构造函数 C、不会改变 this 的指向 D、箭头函数是 Function 的实例 E、箭头函数函数体没有花括号可以做为返回值 F、内部不能访问到 arguments 对象 6. 关于 JavaScript 中的函数,以下说法正确的有:BF 在已知名称的函数的函数体声明语句之外,不能获知该函数的形参个数 A、在函数内部,可以通过 arguments 获取函数的实参个数 B
5、、因为 arguments 是 Array 的实例,因此可以使用数组的方法去操作它 C、对同一个函数 foo,使用 new foo() 和 foo() 调用的结果是一样的 D、如果一个函数中没有使用 return 语句,则它默认返回 null E、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象 F、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象 7. 关于 CSS 的 position 属性,下列说法中正确的是:AD 默认值是 relative A、值为 static 时,left、right、top、bottom 的值无效。 B、fixed 相对于页面视口
6、定位 C、absolute 是相对于 body 标签定位 D、absolute 的元素可以设置外边距(margins),且不会与其他边距合并 E、fix 和 absolute 相对的定位对象是一样的 8关于ES6类(Class)的实现,以下表述正确的是:ABDE A、ES6 的 class 只是一个语法糖,实际上还是基于原型来实现的 B、如果没在 class 里面定义 constructor 方法,编译器会自动帮你添加 C、ES6 的 class 中支持定义私有属性 D、和 ES5 一样,同一个类的所有实例共享一个原型对象 E、如果没有显式指定构造方法,则会添加默认的 constructor
7、方法 修改基类的原型,派生类实例的原型不会被修改 二、简答题1. 变量 data 为树状结构,数据大小层次不固定,格式如下: const data = id: 1, children: id: 1-1, children: , value: a-1, , id: 1-2, children: , value: a-2, , , value: a, , id: 2, children: id: 2-1, children: id: 2-1-1, children: , value: c-1, , , value: b-1, , , value: b, , id: 3, children: , v
8、alue: c, , ; 请实现个方法 transformData, 递归处理数据,给所有的父节点(children 不为空的)添加一个字段 relateId, 值为当前第一个子节点(children 为空的) id 的值。 如上面的数据经过处理后的结果为: id: 1, children: id: 1-1, children: , value: a-1 , id: 1-2, children: , value: a-2 , value: a, relateId: 1-1 , id: 2, children: id: 2-1, children: id: 2-1-1, children: ,
9、value: c-1 , value: b-1, relateId: 2-1-1 , value: b, relateId: 2-1-1 , id: 3, children: , value: c 2. 下面 HTML 中的内嵌 JS 代码会生成一个列表,格式为 index. 点击目标的全名。于此同时当点击列表中的某个名字会在控制台中输出 click on no.点击目标的index firstName,lastName。请尝试指出代码中存在的 BUG以及可能会发生的性能问题,并从优雅、高效、可读性以及性能方面进行优化,在指出问题的同时请尽量给出修正代码。 Title maxLength =
10、4; list = document.querySelector(#list); function processName(name) return firstName: name0, lastName: name1, getFullName() return this.firstName + + this.lastName; , ; var names = Gregor, Bachmann, Anita, Bruns, Anke, Dorn, Ulrich, Koch, Dietrich, Riedl, Wolfgang, Jahn, Gesine, Sturm, Theodor, Pete
11、rsen, ; var validCount = 0; for (var i = 0; i = 4) getFullName = processName(namesi).getFullName; var lastName = processName(namesi).lastName; var firstName = processName(namesi).firstName; var span = document.createElement(li); var textNode = document.createTextNode(i + 1 + . + getFullName(); span.
12、appendChild(textNode); span.addEventListener(click, function () console.log(click on no. + i + + firstName + , + lastName); ); if (validCount + 1 maxLength) continue; validCount += 1; list.appendChild(span); 2018阿里巴巴java秋招试题一、单项选择题 1、以下函数的时间复杂度是() 123456789void func(int x,int y, int z)if(x=0)printf(
13、%d, %dn, y, z);elsefunc(x-1,y+1,z);func(x-1,y,z+1);A.O(x*y*z) B.O(x2*y2) C.O(2x) D.O(2x*2y*2z) E.O(x!) F.O(x*y*z)!) 参考答案:C 2、在一台64位的计算机上,以下哪段C语言代码与代码(x2+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) 参考答案:B 3、关于ios和Android应用以下描述错误的是() A.ios和Androi
14、d应用界面都可以通过IDE可视化界面拖拽完成布局,也可以在运行时通过代码布局 B.Objective C的ARC和Java的GC,都是一种运行时内存管理机制 C.ios和Android应用都可以发布或接收通知来进行跨进程通信 D.Ios和Android应用都在调用某些系统功能如相机时,需预先拥有相应权限 E.ios和Andriod应用都拥有各自独立、安全隔离的文件空间 F.ios和Andriod应用都可以注册自定义URL Scheme 参考答案:C 4、堆栈中有元素abcdef,每次出栈可以选择一个或者两个元素栈,当有两个元素出栈时可以选择其中一个重新入栈,则所有元素为空,那么可能的出栈方式有
15、( )种? A.23 B.22 C.21 D.20 E.19 F.18 参考答案:C 5、下列关于linux中kernel space和user space描述错误的是() A.user space不能直接对文件进行写操作 B.程序代码能手动指定在哪个space中运行 C.user space不能直接创建进程 D.user space和kernel space的运行空间是相互隔离的 E.Kernel space可以执行任意系统命令 F.user space中运行出错不会影响kernel space 参考答案:B 6、请阅读下面代码,计算运行结果: public class C static c
16、lass A static class B extends A public static void main(Stringargs)ArrayList list= new ArrayList();list.add(new B(); method1(list); private static void method1(List list) for(int i=0;ilist.size();i+)A a = list.get(0); 以上程序的运行结果可能出现的是:() A.list.add(new B()编译报错 B.method1编译报错 C.A a=list.get(0)编译报错 D.程序
17、正常运行 E.list.add(new B()与method1(list)都编译报错 F.list.add(new B()与A a=list.get(0);编译报错 参考答案:C 7、请阅读下面代码,计算运行结果; 123456789101112131415161718public class ThreadTestprivate static AtomicInteger atomicInteger=new AtomicInteger();public static void main(Stringargs)A a=new A();tryatomicInteger.wait(); catch (
18、InterruptedException e)e.printStackTrace();a.start();static class A extends Thread Override public void run()atomicInteger.notify();atomicInteger.lazySet(1);System.out.println(atomicInteger.get();以上程序的运行结果是:() A.编译报错,有未捕捉的异常 B.程序正常运行后,一直hold C.程序正常运行,控制台打印出1 D.程序正常运行,控制台打印出0 E.程序编译通过,但运行时报错 F.以上都不对
19、参考答案:A 8、在一台6G内存Linux操作系统的机器上,coredump打开且大小不做限制,执行下面的程序分别会发生什么? (1) 12345678#include#includeint32_t main()unit64_t size=8*1024*1024*1024L;char* a=new char(size);*(a+1)=a;return 0;(2) 12345678#include#includeint32_t main()unit64_t size=10*1024*1024*1024L;char* a=new char(size);*(a+1)=a;return 0;(3) 1
20、2345678#include#includeint32_t main()unit64_t size=7*1024*1024*1024L;char* a=new char(size);*(a+size-1)=a;return 0;A.coredump,coredump,coredump B.正常,coredump,正常 C.正常,正常,coredump D.coredump,正常,coredump E.coredump,正常,正常 F.正常,coredump,coredump 参考答案:A 9、下列程序的输出是() 123456789101112131415161718192021222324
21、252627282930#includeusing namespace std;class Apublic:A(int n):m_n(n)int cal()int result= 0,i= 0,j= 0;for(int k= m_n;k0;k-)if(j0)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(j0)result= (i+ % 2=0) ? result+j:result-j);return result;private:int m_n
22、;int main()A a= A(101);couta.cal()endl;return 0;A.-80 B.-79 C.0 D.90 E.79 F.80 参考答案:A 10、用0,1,2,3,4,5组成一个4位数,要求每一位都不一样,请问能组成多少个四位数( ) A.240 B.280 C.300 D.360 E.400 F.450 参考答案:C 11、小明有200个淘公仔,小梅有20个电脑包,每次小明给小梅6个淘公仔,小梅就给小明1个电脑包,经过多少次交互后,小明手中的淘公仔的个数是小梅手中电脑包数量的11倍?( ) A.4 B.5 C.6 D.7 E.8 F.9 参考答案:A 200-
23、6n=11(20-n) 解析:n=4 12、以下描述正确的是() A.线性规划问题是一个NP-Hard问题 B.因为单纯形法可以保证在限步数内收敛,所以是复杂度为多项式级别的算法,用于解决线性规划问题 C.内点法只用于解决线性规划问题 D.线性规划区别于非线性规划的地方在于,其达到最优点的时候不需要满足K-K-T优化条件 E.一个可解的线性规划问题的主问题和对偶问题分别达到最优化的时候,最优值一定相等 F.以上都不对 参考答案:B 13、设有一个二维数组Amn,假设A01存放位置在1601(10),A33存放位置在1648(10),每个元素占一个空间,问A22(10)存放在什么位置?脚注(10)表示用10进制表示。( ) A.1616 B.1617 C.1618 D.1631 E.1632 F.1633 参考答案:E 解析: 3n+2=1848-1601,解得n=15。 每一行15个元素,每个元素占据一个空间,因此A22=1601+15+2+1=1632 14、天气预报说明天降水概率是84%,假设降水和时间无关,请问明天中午12
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2