阿里巴巴秋季校园招聘前端在线笔试题
博主昨日方知,因错过报名时机,阿里巴巴的秋季校园招聘活动早已启动。
我原本以为无法参与阿里巴巴秋季的校园招聘前端在线笔试,然而,在昨晚匆忙中提交了一份简历,今天竟然获得了考试资格,这让我感到有些兴奋,不禁笑出了声。

由于今日亲临现场,时间紧迫,部分题目博主自身亦难以回忆,亦或是由于能力所限,自己未能掌握,故此仅呈现博主在考试中完成的试题。
1.找出下面优先级相同的选择器
图片缩略图的伪元素后继部分,针对具有"data-job"属性值为"frontend"的元素,选取其首字母。
C. 选择器针对主元素的前置伪元素进行限制 D. 选中状态下的复选框 E. 指定ID为shop-list的列表元素
要解决这个题目,我们得先弄清楚如何确定选择器的权重,《CSS实战手册》中曾经介绍过,CSS为选择器的权重设定了一个计算公式:,
(1): 一个标签选择器值1分
(2):一个类选择器值10分
(3):属性选择器值10分
(3):一个ID选择器值100分
(4):一个内建样式值1000分
伪元素,比如first-line,往往被视作类选择器来使用,此类用法可得一分。
(6):伪类则被当做类对待,值10分
根据上面的规则,我们一个个来分析:
图片编号为1,缩略图得分为10分,之后评价又获得1分,三者相加,总分达到12分。
若[data-job]属性值为"frontend",则该得分项的首字母为"1",额外加1分,加上基础10分,总分达到11分。
当主元素得分为100分时,其伪元素样式设置为1分,此时总分达到100分并加1,最终计为101分。
当[type="checkbox"]的值为10分且选中时,即10分:选中,加上总分10分,总计达到20分。
当ul等于1分,且#shop-list等于100分时,总分达到100分,再加上1分,最终得分变为101分。
所以这道题的答案应该是:C E
2. 常用的git操作有
执行以下操作:添加A,推送B,创建C目录,获取D资源,移动E文件,合并F文件,标记G内容。
关于此处所说的“常用”这一核心概念,并没有一个明确的分界线。若你频繁使用,那么它便被认定为常用。具体来说,以下将进行详细剖析:,
在当前工作目录里,对文件进行的修改或新增,都需要被纳入Git的索引之中。一旦文件被加入到索引中,就意味着它们已被记录在版本历史里,这是在提交前必须完成的一个环节。
执行push操作可以将本地已提交的代码同步至远端版本库,比如通过“git push origin”这一命令,即可将本地的代码同步至名为origin的远端版本库。
C:mkdir:应该不属于git常用操作的范围。
D:获取代码:通过与服务器的交互,从其存储库中下载最新的代码版本。
E: mv: 重命名一个文件、目录或者链接。
F:将服务器端下载的代码与本地代码进行整合,亦或是执行分支间的合并操作。
G:可以执行标签对象的创建、展示、移除或核实操作,并支持使用GPG签名进行验证。
所以这一题应该是选:A B C E F G
以下情况中,使用JavaScript的typeof操作符可能会得到哪些返回值?
A.stringB.arrayC.objectD.null
这道题目主要考查记忆力,因为熟悉typeof的人都知道,这个操作符在JavaScript中基本上是没有什么实际作用的。关于typeof操作符的功能,在JavaScript的相关资料中有着详尽的说明:
"underfined"--如果这个值未定义
“boolean”--如果这个值是布尔值
“string”--如果这个值是字符串
“number”--如果这个值是数值
“object”--如果这个值是对象或者null
"function"--如果这个值是函数
显而易见的,答案是A C
4. 请写出个人github地址
在异步加载的JavaScript代码中,若使用document.write,可能会引发以下问题:首先,document.write会直接在当前文档中插入内容,这可能导致页面布局混乱;其次,由于异步加载的特性,document.write执行时页面可能尚未完全加载,从而造成内容显示异常;再者,频繁使用document.write可能会影响页面性能,增加加载时间;最后,若在异步加载的脚本中使用document.write,可能会覆盖掉后续加载的脚本中的内容。
异步加载JavaScript的含义是指在页面加载过程中不执行JavaScript代码,换句话说,是在页面完全加载完毕后再进行JavaScript的加载。然而,如果JavaScript文件中包含了document.write语句,那么就会遇到一个问题:页面内容会被document.write中的信息所覆盖。
6.
存在如上所示的DOM结构,请利用原生JavaScript代码(不得使用jQuery)来完成以下要求:
对鼠标在mod-spm区域内停留的时间进行测量,若data-spm的值有所区别,则视为不同的区域。
(b)尽量减少性能损耗
(c)重复进入计时累加
这题是最浪费时间的,直接上代码:
定义一个名为ShowStayTime的函数,其参数为obj。
2 this.obj = obj;
3 this.totalTime = 0;
4 this.enterTime = null;
此代码段中,我创建了新的div元素,并将其赋值给变量this.divTime。
6 }
7 ShowStayTime.prototype = {
8 constructor:ShowStayTime,
9 init: function() {
10 this.showStayTime();
此对象将时间显示区域添加为其子元素。
12 this.beginTime();
13 this.leaveTime();
14 },
15 showStayTime: function() {
16 var message = "";
消息内容为:“停留时长”加上当前总时长,单位为毫秒。
18 this.divTime.textContent = 信息内容;
19 },
20 beginTime: function() {
21 此对象注册了“鼠标进入”事件监听器,触发一个函数执行。
本对象的进入时间被设定为当前日期。
23 })
24 },
25 leaveTime: function() {
26 var temp = this;
27 该对象注册了“鼠标离开”事件监听器,触发一个函数执行。
29 temp.showStayTime();
30 })
31 }
32 }
获取所有具有'mod-spm'类名的div元素,并将它们存储在变量divs中。
创建了一个新的ShowStayTime对象,其参数为divs数组的第一个元素,并将其赋值给变量show1。
创建了一个新的ShowStayTime对象,该对象关联到divs数组中的第二个元素,并命名为show2。
创建了一个新的ShowStayTime对象,该对象关联到divs数组的第三个元素,并命名为show3。
37 show1.init();
38 show2.init();
39 show3.init();
实现数据打点的函数,
资料共享平台《阿里巴巴秋季校园招聘前端在线笔试题》()。
1 function adddot(num) {
2 var temp = new Array();
3 for (var i = 0;i < num.length;i++) {
4 temp.push(num[i]);
5 }
6 if (num.length < 4) {
7 return num;
8 }
使用循环,变量i从字符串num的倒数第四个字符开始,每次递减3,直到i小于等于0。
10 if (i > 0) {
11 temp.splice(i,0,'.');
12 }
13 }
14 return temp.join("");
15 }
10. 设定一个字符串变量var str,其值为"abc345efgabcab",接下来请编写三条JavaScript语句,分别完成以下三个操作:
将字符串中的字符a、b、c移除后,所得的新字符串为:“345efg”。
将字符串中的数字以括号形式呈现,结果将变为“abc[3][4][5]efgabcab”。
将字符串内的每一个数字数值加倍,从而得到新的序列:“abc13620efgabcab”。
这题很显然是考察正则表达式:
定义变量s1,通过将字符串str中的所有'a'、'b'和'c'字符替换为空字符串,从而实现去除这些字符的目的。
2 var s2 = str经过替换操作,移除了所有数字,每个数字都被方括号括起来,形成新的字符串。
定义变量s3,通过将字符串str中的所有数字字符替换为其两倍数值,实现这一操作。具体做法是使用正则表达式[d],匹配任意一个数字,然后通过匿名函数将其乘以2,得到新的字符串。
11从前端工程师的角度如何提高客户体验.
最后,我要郑重强调,我目前只是就读于本科二年级,我所提供的答案仅供参考,若有任何不妥之处,敬请各位不吝赐教,欢迎提出宝贵意见。
《阿里巴巴秋季校园招聘前端在线笔试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
Copyright © 2018 All Rights Reserved 版权所有 宁国人才网 苏ICP备2024139598号-6
地址:安徽省合肥市瑶海区 EMAIL:
Powered by PHPYun.