阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案

转载 2017年07月31日 21:25:08

前几天是阿里巴巴秋季校园招聘在线笔试的第一天,本着学习和共享的精神,本人上网百度了其中一份前端在线笔试题,并且写出了自己的答案,发上来,供大家参考。

总的来说,这一次的题目相比以前的题目,最大的特点是新,居然直接考了nodejs,这是出乎很多人的意料的。废话不多说,接下来上题目。


1、 下面哪些是NodeJS官方模块?

A . Querystring    B. Request    C .Async   D. Dns

这一题我觉得有点蛋疼,什么就叫做官方模块?在nodejs里面,模块一般分成核心模块、用户自定义的文件模块。所以我理解这里的官方模块为核心模块,但是即便是如此, 这一题还是比较蛋疼的,谁记得那么多。不过我在stackoverflow找到了一个比较合理的解释: http://stackoverflow.com/questions/11364151/which-modules-does- node-js-require-automatically .所以这一题我选了  A D。


2、 常用的Git操作有

A .Add B.Push C.Mkdir D.Fetch E.Mv F.Merge G.Tag


对于这里的关键词“常用”,也是没有一个明显的界限的,你要是用的多,就叫常用。下面非别分析:

A: add:将当前工作目录中更改或者新增的文件加入到git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。

B:  push:将本地commit的代码更新到远程版本库中,例如 “git push origin”就会将本地的代码更新到名为orgin的远程版本库中。

C:mkdir:应该不属于git常用操作的范围。

D:fetch:从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最新代码) E: mv: 重命名一个文件、目录或者链接。

F:merge:把服务器上下载下来的代码和本地代码合并。或者进行分支合并。

G:tag: 创建、列出、删除或者验证一个标签对象(使用GPG签名的)。

所以这一题应该是选:A B C E F G


3、 下面说法正确的有

A.P元素不能包含div B.Li元素的祖先元素可能是li,但氟元素不可能是li

C.Domtree的根节点是body元素 D.Body内的元素的offsetparent一定存在


4、在文件/home/somebody/workspace/somemodule.js中第一行引用了一个模块:require(‘othermodule‘),请问required 的查找模块的顺序

A. /home/somebody/workspace/mode_modules/othermodule/index.js

B. /home/somebody/workspace/mode_modules/othermodule. Js

C.CORE MODULES named othermodule

D./home/somebody/mode_modules/othermodule/index.js


首先,nodejs查找模块的方式与Javascript原型链或者作用域链的方式很相似。本人选的答案是:A B D C  (很不确定)


5. 请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。

  1. function mySort() {  var tags = new Array();//使用数组作为参数存储容器 
  2. 请补充你的代码  
  3. return tags;//返回已经排序的数组}
  4. var result = mySort(50,11,16,32,24,99,57,100);/传入参数个数不确定
  5. console.info(result);//显示结果
复制代码


这一题相对简单,是一道水题,直接上代码:

  1. function mySort() {  
  2. var tags = new Array();  
  3. for(var i = 0;i < arguments.length;i++) {    
  4. tags.push(arguments);  }  
  5. tags.sort(function(compare1,compare2) {    
  6. return compare1- compare2;  });  
  7. return tags;}
  8. var result = mySort(50,11,16,32,24,99,57,100);
  9. console.info(result);
复制代码

8. 请写出个人github地址

   https://github.com/yuanzm

9、请使用原生js实现一个div可拖拽,需要考虑浏览器兼容性。

如代码所示:

 1 <html>

 2 <head>

 3     <title>test</title>

 4 </head>

 5 <style type="text/css">

 6 #drag1 {

 7     width: 50px;

 8     height: 50px;

 9     background-color: #404040;

10     cursor: pointer;

11 }

12 </style>

13 <body>

14     <div id = "drag1"></div>

15 </body>

16 <script type="text/JavaScript">

17 window.onload = function() {

18     function Drag(obj) {

19         this.obj = obj;

20     }

21     Drag.prototype = {

22         constructor: Drag,

23         getInitPosition: function(e) {

24             e = e || window.event;

25             var eX,eY;

26             if(e.pageX || e.pageY){

27                 eX = e.pageX;

28                 eY = e.pageY;

29             }

30             eX = e.clientX;

31             eY = e.clientY;

32             var positionX = eX- this.obj.offsetLeft;

33             var positionY = eY - this.obj.offsetTop;

34             return {

35                 x: positionX,

36                 y: positionY

37             } 

38         },

39         getmouseCoordinate:function(e) {

40             e = e || window.event;

41             if(e.pageX || e.pageY){

42                   return {x:e.pageX, y:e.pageY};

43             }

44             return {

45                   x:e.clientX + document.body.scrollLeft - document.body.clientLeft,

46                   y:e.clientY + document.body.scrollTop  - document.body.clientTop

47              };    

48         },

49         initDrag:function() {

50             var tempThis = this;

51             this.obj.onmousedown = function(e) {

52                 var initP = tempThis.getInitPosition();

53                 document.onmousemove = function(e) {

54                     var moveP = tempThis.getmouseCoordinate();

55                     tempThis.obj.style.marginTop = moveP.y - initP.y + "px"; 

56                     tempThis.obj.style.marginLeft = moveP.x - initP.x + "px"; 

57                 }

58                 document.onmouseup = function(){ 

59                     document.onmousemove = null;  

60                     document.onmouseup = null; 

61                 }

62             }

63         }

64     }

65     var drag = document.getElementById("drag1");

66     var dragElement = new Drag(drag);

67     dragElement.initDrag();

68 }

69 </script>

70 </html>

运行代码复制代码保存代码提示:您可以先修改部分代码再运行!power by W3Cfuns.com


10. 如何判断浏览器是IE还是火狐,用ajax实现。

要想通过Ajax来判断是ie浏览器还是firefox浏览器,就应该通过XMLHttpRequest 对象。

首先简单介绍一下这个对象:

(1)所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

(2)所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

因此作者对于这题的理解是写一个基于XMLHttpRequest的js脚本,在ie或者火狐浏览器下面判断到底处于哪一种浏览器环境,代码如下所示:


  1. var xmlhttp;if (window.XMLHttpRequest) {  
  2. // code for IE7+, Firefox, Chrome, Opera, Safari  
  3. xmlhttp = new XMLHttpRequest();  
  4. alert("your brower is not IE ");} else {  
  5. // code for IE6, IE5  
  6. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  
  7. alert("your brower is IE ")}
复制代码

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

2015阿里巴巴秋招研发工程师在线笔试题 1. 下列关键字序列为堆的是            。 A. 100, 60, 70, 50, 32, 65 B. 60, 70, 65, ...
  • DianaCody
  • DianaCody
  • 2014年09月05日 21:06
  • 3099

阿里巴巴2016校招笔试题(含答案、解析)

阿里巴巴2016校招笔试题(含答案、解析)
  • zhao__fang
  • zhao__fang
  • 2016年03月06日 19:45
  • 12677

阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案

前几天是阿里巴巴秋季校园招聘在线笔试的第一天,本着学习和共享的精神,本人上网百度了其中一份前端在线笔试题,并且写出了自己的答案,发上来,供大家参考。 总的来说,这一次的题目相比以前的题目,最大的...
  • youjob012
  • youjob012
  • 2014年08月28日 14:55
  • 453

Java笔试题解析(二)——2015届唯品会校招

Java笔试题解析(二)——2015年唯品会秋招
  • iaiti
  • iaiti
  • 2014年09月30日 09:30
  • 18717

【阿里】算法工程师笔试题整理(13&14年)

选择题1、一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是()A、几微秒,几毫秒,几十毫秒 B、几十纳秒,几十微秒,几十毫秒 C、几十纳秒,几十微秒,几十毫秒 D、几微秒,几十微...
  • linglun3
  • linglun3
  • 2015年04月02日 17:48
  • 12085

Android开发工程师笔试题

1.请谈一下Android系统的架构 Android系统从下往上分为Linux内核层(linux kerner),运行库(runtime library),应用程序框架层,应用程序层 li...
  • u013110200
  • u013110200
  • 2017年04月03日 16:04
  • 726

阿里巴巴2013年算法笔试题

考试相关信息 今天去清华大学参加算法工程师的笔试,这次阿里巴巴的校园招聘在北京有好多个点,这次笔试就有以下几个考点(通知考试时收到的信息) 研发工程师:北京大学、北京邮电大学、北京航空航天大学、中国科...
  • luoweifu
  • luoweifu
  • 2013年09月23日 00:36
  • 22221

华为2016校园招聘笔试题

昨天刚参加华为的校园招聘笔试,总体来说是很容易的,一般人都可以吧前两道题做出来。下面我来分享一下题目吧: 1.从输入的字符串中找出元音字母:'a','o','e','i','u'。并且输出字符串中元音...
  • VICHOU_FA
  • VICHOU_FA
  • 2015年09月13日 22:29
  • 3803

华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位

华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位 这里第二题题目不全,有知道的朋友,可以补全一下。...
  • lizi_stdio
  • lizi_stdio
  • 2017年08月03日 14:47
  • 5731

阿里巴巴历年笔试面试70题

阿里巴巴历年笔试面试70题 1、澳大利亚的父母喜欢女孩,如果生出来的第一个女孩,就不再生了,如果是男孩就继续生,直到生到第一个女孩为止,问若干年后,男女的比例是多少? 2、3点15...
  • sunqiancheng0707
  • sunqiancheng0707
  • 2015年05月29日 09:54
  • 1708
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:阿里巴巴2015秋季校园招聘前端开发工程师在线笔试题及答案
举报原因:
原因补充:

(最多只允许输入30个字)