阿里巴巴秋招技术岗笔试题.docx

上传人:b****5 文档编号:3163620 上传时间:2022-11-18 格式:DOCX 页数:25 大小:26.54KB
下载 相关 举报
阿里巴巴秋招技术岗笔试题.docx_第1页
第1页 / 共25页
阿里巴巴秋招技术岗笔试题.docx_第2页
第2页 / 共25页
阿里巴巴秋招技术岗笔试题.docx_第3页
第3页 / 共25页
阿里巴巴秋招技术岗笔试题.docx_第4页
第4页 / 共25页
阿里巴巴秋招技术岗笔试题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

阿里巴巴秋招技术岗笔试题.docx

《阿里巴巴秋招技术岗笔试题.docx》由会员分享,可在线阅读,更多相关《阿里巴巴秋招技术岗笔试题.docx(25页珍藏版)》请在冰豆网上搜索。

阿里巴巴秋招技术岗笔试题.docx

阿里巴巴秋招技术岗笔试题

xxx阿里巴巴秋招试题

xxx阿里巴巴秋招正式试题

一、选择题

1.     下面代码中,当点击点我时,输出的正确结果是:

B

   点我

vardiv2=document.getElementById('div2');

vardiv1=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、ABCD

 

B、DACB

 

C、ADBC

 

D、DCAB

 

E、BDAC

 

2.     关于FetchAPI,以下描述错误的是:

F

 

A、fetch()返回的是一个Promise实例

 

B、FetchAPI可以结合async/await使用

 

C、FetchAPI提供的API囊括但不限于XHR的所有功能

 

D、FetchAPI可以跨域

 

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

 

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、因为arguments是Array的实例,因此可以使用数组的方法去操作它

 

C、对同一个函数foo,使用newfoo()和foo()调用的结果是一样的

 

D、如果一个函数中没有使用return语句,则它默认返回null

 

E、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象

F、如果函数的实参是一个引用对象,则对应形参会和该实参指向同一个对象

 

7.     关于CSS的position属性,下列说法中正确的是:

AD

 

默认值是relative

 

A、值为static时,left、right、top、bottom的值无效。

 

B、fixed相对于页面视口定位

 

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方法

 

修改基类的原型,派生类实例的原型不会被修改

 

二、简答题

1. 变量data为树状结构,数据大小层次不固定,格式如下:

constdata=[

 {

   "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":

[

 ],

   "value":

"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":

[],

           "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}.{点击目标的全名}"。

于此同时当点击列表中的某个名字会在控制台中输出"clickonno.{点击目标的index}{firstName},{lastName}"。

请尝试指出代码中存在的BUG以及可能会发生的性能问题,并从优雅、高效、可读性以及性能方面进行优化,在指出问题的同时请尽量给出修正代码。

Title

 

 

 

 

相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1