首页 > 其他 > 详细

uc前端笔试题目

时间:2016-03-17 00:11:58      阅读:354      评论:0      收藏:0      [点我收藏+]

凭着印象,写几个笔试题目,顺便当攒攒人品

1.对一个数组进行判断,如果长度为0,则新增加一个1,否则,按照先进先出的顺序去除一个值

  按照我的理解,肯定是要使用js原生的方法,这里比较容易混的应该是先进先出(shift),先进后出(pop)这2个方法。相信大家都是大神~不细说啦

 

2.考闭包和自执行函数

 

3.往页面添加10个<ul><li>i</li></ul>,i从1到10,采用性能比较好的方法

这道题想了一下,使用下面这种方法

使用一次innerHTML赋值代替构建dom元素

对于大的DOM更改,使用innerHTML要比使用标准的DOM方法创建同样的DOM结构快得多。

1 var i;    //由于js会先变量提升,所以将i放在循环外面会减少出错的可能
2 for (i = 0; i < 10; i++) {
3         var ul = document.createElement(‘ul‘),
4       li = document.createElement(‘li‘);
5          li.innerHTML = i;
6        ul.appendChild(li);
7         document.body.appendChild(ul);
8 }
//可以替换为:
1 var html = [],i;
2 for (i = 0; i < 10; i++) {
3       html.push(‘<ul><li>‘ + i + ‘</li></ul>‘);
4 }
5 document.body.innerHTML = html.join(‘‘);

 

4.乱序一个数组~~

这道题当时脑子比较乱,傻傻逼逼的。竟然没有想到原生的sort排列…………

1 array.sort(function() {
2     return Math.random() - 0.5
3 });

上面这个方法应该算比较优雅把…………

 

5.雅虎前端优化的方法

(噼里啪啦什么合并压缩呀…………)

 

6.使用自动化功能实现上面雅虎优化的功能

平时使用gulp,也凭着印象写了一些东西,哎……

 

7.用正则匹配一个二级域名为…………的……

正则这个感觉是笔试必备佳肴(哭瞎)

 

8.本地测试没有问题,上线了之后却又问题,如何找到错误?

 

额外附加:

发现面试题目很多都是和循环有关的,顺便说一下如何优化循环

在JavaScript中,我们可以使用for(;;),while(),for(in)三种循环,事实上,这三种循环中for(in)的效率极差,因为他需要查询散列键,只要可以,就应该尽量少用。for(;;)和while循环,while循环的效率要优于for(;;),可能是因为for(;;)结构的问题,需要经常跳转回去。比如

 1  var arr = [1, 2, 3, 4, 5, 6, 7];
 2         var sum = 0;
 3         for (var i = 0, l = arr.length; i < l; i++) {
 4             sum += arr[i];
 5         }
 6 
 7         //可以考虑替换为:
 8 
 9         var arr = [1, 2, 3, 4, 5, 6, 7];
10         var sum = 0, l = arr.length;
11         while (l--) {
12             sum += arr[l];
13         }

考试时间是1个半小时……

一些常见的数组操作是必考的!所以亲们一定要好好准备

然后如果有好的答案也麻烦共享一下,让我开开眼界o(∩_∩)o  

仅仅只是分享一下面试的题目。希望能帮到大家o(∩_∩)o   祝大家好运

 

uc前端笔试题目

原文:http://www.cnblogs.com/beidan/p/5285742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!