2017阿里巴巴秋招前端笔试题总结
1.正则表达式/a+(bab)?(caac)*/,下列选项中是该正则表达式的子集的是?
A. /(bab)(caca)/
B. /a(bab){2}(caac)*/
C. /a{2}/
D. /a+(bab){0,1}(ca)+(ca)/
E. /a(^bab)+(caac){1,}/
F. /a+(babc){2,}(acc){1,}/
答案:C
2.下列说法错误的是:
A. 在Blink和WebKit的浏览器中,某个元素具有3D或透视变换的CSS属性,会让浏览器创建单独的图层。
B. 我们平常会使用left和top属性来修改元素的位置,但乐翻天和top会触发重布局,取而代之的更好方法是使用translate,这个不会触发重布局。
C. 移动端要想动画性能流畅,应该使用3D硬件加速,因此最好给页面中的元素尽量添加translate3d或者translateZ(0)来触发3D硬件加速。
D. 解决浏览器渲染的性能问题时,首要目标就是要避免图层的重绘和重布局。
答案:C
可通过这种方法优化CSS3的动画效果。在一个没有特效的普通页面中,一个页面中只有一个图层,当图层中的大小位置等发生变化时,整个页面都要重布局,可能出现卡顿。使用3D、透视变换的属性时能强迫浏览器单独生成一个图层,由GPU来重绘动画,能减少卡顿的情况。然而使用GPU可能会导致严重的性能问题,因为它增加了内存的使用,而且它会减少移动端设备的电池寿命,因此使用时要小心。
3.将数组var a = [1,2,3] 编程数组 [4,3,2,1] 下面的方法正确的是?
A. a.reverse().unshift(4)
B. a.push(4).reverse()
C. a.push(4);a.reverse()
D. a.splice(3,1,4).reverse()
答案:A C
reverse()改变数组自身并返回;push()和unshift()改变数组自身,返回新数组的长度;splice()改变数字自身,返回被删除项组成的新数组。
3.目前HTTP2协议已经逐渐普及到日常服务器中,以下对于HTTP2协议描述的正确的是:
A. 所有http请求都简历在一个tcp请求上,实现多路复用
B. 可以给请求添加优先级
C. 服务器主动推送sever push
D. HTTP2的头部会减小,从而减少流量传输
答案:ABCD
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
