福州WEB培训
达内福州WEB培训中心

13732203138

热门课程

阿里前端笔试总结-H5面试2

  • 时间:2018-05-07 10:55
  • 发布:福州web培训
  • 来源:企业面试题

5.实现对数组进行乱序

这道题考察了数组的sort方法,因为是乱序,所以,还需要用到Math.random()产生随机数,打乱排序规律!代码如下:

  1. var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  2.     sign = 1; 
  3. a.sort(function(a, b) {
  4.     //因为Math.random产生的数在0-1之间
  5.     //所以0.5两边的概率是相等的
  6.     //大于0.5时为升序,小于0.5时为降序
  7.     sign = (Math.random() > 0.5) ? 1 : -1;
  8.     return (a - b) * sign;

  9. });

6.有一个长度为100的数组,请以优雅的方式求出该数组的前10个元素之和

分析:其实,对于数组求和有很多种方法,也很简单。但是,这题有两个限制条件:优雅的方式、前10个元素。对于“前10个元素”这个限制条件可以使用Array.prototype.slice()方法来截取,对于"优雅的方式",我的理解是应该尽可能使用数组自带的方法,最好可以使用高阶函数!所以我觉得应该是Array.prototype.reduce()方法。代码如下:

  1. var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
  2. sum = 0;

  3. sum = a.slice(0, 10).reduce(function(pre, current) {
  4. return pre + current;
  5. });

  6. console.log(sum); //55

这样看起开会比使用for循环优雅了不少哈!

后面的都是主观题,答案不唯一,所以,我也不写解答过程啦。

7.JavaScript实现继承的常用方法有哪些?你推荐的是哪一种?

提示:可以看看《JavaScript高级程序设计》的第六章。里面详细的介绍了各种继承方法。其中,值得推荐的是组合方式。ES5的Object.create()就是使用了该方式实现继承的!

8.在项目开发完成之后,根据雅虎性能优化规则,需要对html,JS,CSS,图片需要做出怎样的处理?是否可以借助构建工具实现自动化?

提示:从减少http请求、减少带宽、提高加载速度等方面进行答题即可。对于自动化,可以使用gulp构建工具!

9.当项目的某个模块发生问题了,你是怎么定位错误的?你常用的调试工具是什么?

提示:这题在考察debug的能力。可以说说自己平时的debug方法,比如断点调试等。调试工具,有chrome的控制台,firebug等。

10.我们在跟后端进行异步请求时,很容易陷入嵌套太深的陷阱?

提示:这道题,我不会做,后来问了朋友,他说可以使用promise,可以参考一下什么是promise。

https://segmentfault.com/a/1190000002395343

11.请写个正则表达式匹配所有二级域名是9game.cn和其目录下的网址,比如:http://abc.9game.cn/sname/view/

如果这个非常重要的话,怎么保护他呢?

12.项目测试没问题,但是放到线上就有问题了,你是怎么解决的??

上一篇:阿里前端笔试总结-H5面试1
下一篇:2018前端面试题目及答案一

十大面试问题解惑,秒杀一切HR。

11个常见的Linux基础面试问题

哪一种编程语言适合人工智能

2018前端面试题目及答案三

选择城市和中心
贵州省

广西省

海南省