1 / 7
文档名称:

阿里前端笔试面试经验.doc

格式:doc   大小:29KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

阿里前端笔试面试经验.doc

上传人:坚持 2018/10/26 文件大小:29 KB

下载得到文件列表

阿里前端笔试面试经验.doc

相关文档

文档介绍

文档介绍:阿里前端笔试面试经验
【文章导读】如果你去参加了阿里的前端实****生笔试,因为基础不太扎实加上第一次没有经验,成绩肯定也不理想!这样多冤枉啊,下面关于阿里笔试面试经验,希望可以帮助到您。
,如果它的长度为0就把数字1添加到数组里面,否则按照先进先出的队列规则让第一个元素出队。
分析:这道题主要是考核了数组的队列方法和栈方法。另外,原题还有字数限制的,只有在字数小于30并且结果正确时才可以满分。所以,我们可以使用三目运算符(: ?)来减少字数。代码如下:
=== 0 ? (1) : ();
我当时忘记了出队是shift还是unshift,结果竟然误用了unshift,晕死了!
:
var test = (function(a) {
= a;
return function(b) {
return + b;
}
} (function(a, b) {
return a;
}(1, 2)));
(test(4)); //输出什么????
分析:这道题考了与函数有关的的两个非常重要的概念:自执行函数和闭包。但是不难,答案应该是5。

...
(ul之间有10个li元素)插入body里面,注意:需要考虑到性能问题。
分析:这题主要考察了dom操作。插入节点操作的可以使用Before和appendChild方法,随便用一个都行。但是,题目要求要考虑性能问题,这才是关键,因为,JavaScript操作dom的开销是很大的!提高性能就要减少dom操作。因此,我当时使用了下面的方法,只操作一次dom就够的了:
var lis = "",
ul = ("ul");
//把li以字符串形式生成
for(var i = 1; i <= 10; i++) {
lis += "
第" + i + "行
";
}
// 最后通过innerHTML插入ul里面
= lis;
//这里才操作dom,把ul插入到body
(ul);
,创建一个长度为100的数组,并且每个元素的值等于它的下标。
分析:当时看到题目要求不使用loop循环时,“聪明过头”的我马上就想到了使用间歇性定时器setInterval,代码如下:
var a = [],
i = 0;
var interval = setInterval(function() {
i < 100 ? (i++) : clearInterval(interval);
}, 0);
确实没有使用loop循环,我当时还对自己的聪明感到欣欣自喜呢!但是后来,跟朋友讨论了一下,才知道这道题的目的是在考察我们对数组的熟练程度,而不是考察定时器!况且用这种方法来创建数组性能也不见得有多高!他的做