欢聚时代2017校招笔试题目(web前端类)B卷

1.以下程序中i的输出值为:
var i = 10;
for(var i = 0; i < 5; i++){
 i += 2;
}
console.log(i);

答案:6
在js中只有全局作用域和函数作用域,没有块级作用域。全局i会被for循环中的覆盖,输出6。这道题有个小陷阱选项12。

2.下面对CDN表述错误的有那些?

A. CDN是一种分布时网络存储
B. CDN服务器质量比程序服务器更好,所以速度才块。
C. 使用CDN可以对抗DDOS攻击
D. CDN无法加速动态程序

答案:BD
CDN的全称是内容分发网络(Content Delivery Network),是一层构建在互联网之上的一层智能虚拟网络。智能体现在通过负载均衡技术对分布时存储的内容进行调度,是用户能够访问到距离最近、响应最快的内容。响应用户的内容直接来源于缓存服务器。

3.下面代码执行后,foo.x的值是 :
var foo = {n: 1};
var bar = foo;
foo.x = foo = {n: 2};

A. 1
B. 2
C. 程序报错
D. 其他

答案:D
要理解这道题,我们应该对连续赋值的顺序有了解。第三条语句的执行顺序:首先会为foo创建属性x,我们都知道js的变量声明提前,此时的foo.x=undefined;接着foo指向了新的对象{n:2},最后给一开始声明的foo.x赋值{n:2}。
好了,理清执行顺序后,就要说这道题的关键点了。我们知道对象是一种复杂数据类型,变量foo、bar中存储的其实是对象的存储地址。foo={n:2}将foo的指针从{n:1}移向了{n:2},当然经过变量的声明提前后{n:1}实际是{n:1,x:undefined},foo.x=foo后为{n:1,x:{n:2}},而这一切都与foo无关了,因为早在foo={n:2}时foo就与这个对象无关了。

4.说说你所知道解决跨域问题的方案,越多越好:

Jsonp、window.postMessage、document.domain、http请求头设置Access-Control-Allow-Origin

5.使用快速排序算法,对[3,23,66,32,2,77,45,87,64,34,33]进行由小到大的排序
var arr = [3,23,66,32,2,77,45,87,64,34,33];
(function quickSort(arr,begin,end){

    if(begin>=end) return; //递归调用结束

    var p = arr[begin]; //基准p
    var i = begin+1,j = end; //i从左向右扫描,j从右向左扫描
    while(true){
        for(;arr[j]>=p&&j>begin;j--);
        for(;arr[i]<=p&&i<j;i++);
        if(i>=j) break;
        var temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    var temp = arr[j];  //交换p与arr[j]
    arr[j] = p;
    arr[begin] = temp;

    quickSort(arr,begin,j-1);  //基准p已归位,拆分子序列继续排序
    quickSort(arr,j+1,end);
})(arr,0,arr.length-1);
6.[“1”, “2”, “3”].map(parseInt)的执行结果是:

A. ["1", "2", "3"]
B. [1, 2, 3]
C. [0, 1, 2]
D. 其他

答案:D
要对map和parseInt方法足够了解。map方法提供三个参数:当前遍历的元素、索引、被遍历数组本身。parseInt除了接受一个参数进行转换外,还会接受第二个参数作为进制数。当省略第二个参数或为0时,会根据第一个参数自动判断进制。如果第二个参数小于2或大于36,parseInt返回NaN;如果两参数不匹配,也返回NaN(如将3作为二进制数转换)。
补充:parseFloat只接受一个参数,parseInt和parseFLoat在接收字符串的第一个字符不能转为数字时返回NaN。

7.关于SVG和CANVAS,下面陈述正确的有:

A. SVG做动画性能要优于CANVAS
B. CANVAS做动画性能要优于SVG
C. SVG产生的dom数量比CANVAS要少
D. CANVAS产生的dom数量比SVG要少
E. CANVAS可以使用css设置动画样式
F. SVG可以使用css设置动画样式

答案:DF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值