当前位置:   article > 正文

20190928多益网络前端笔试总结

多益网络前端笔试

首先是题型
选择题6
填空题
6
问答题7
编程题
2

选择题主要是一些前端的基础,就不过赘述了,

填空题:
1. CSS动画属性
语法:animation: name duration timing-function delay iteration-count direction fill-mode play-state;
2. box-shadow的设置
语法:

  1. /* x偏移量 | y偏移量 | 阴影颜色 */
  2. box-shadow: 60px -16px teal;
  3. /* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影颜色 */
  4. box-shadow: 10px 5px 5px black;
  5. /* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
  6. box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
  7. /* 插页(阴影向内) | x偏移量 | y偏移量 | 阴影颜色 */
  8. box-shadow: inset 5em 1em gold;
  9. /* 任意数量的阴影,以逗号分隔 */
  10. box-shadow: 3px 3px red, -1em 0 0.4em olive;
  11. /* 全局关键字 */
  12. box-shadow: inherit;
  13. box-shadow: initial;
  14. box-shadow: unset;

 

  1. http的静态文件的头字段及其值是什么
    1、Cache-Control:max-age=2592000:缓存内容将在2592000秒后失效(30天)。
    2、ETag:”58d48c15-f7b”:页面编号
    3、Expires:Wed, 12 Jul 2017 05:42:41 GMT:缓存内容将在2017年7月12日后过时。
    4、Last-Modified:Fri, 24 Mar 2017 03:01:41 GMT:服务端资源最后修改时间。
  2. setTimeout和Promise的输出顺序
  1. setTimeout(function() {
  2. console.log(1)
  3. }, 0);
  4. new Promise(function(a, b) {
  5. console.log(2);
  6. for(var i = 0; i < 10; i++) {
  7. i == 9 && a();
  8. }
  9. console.log(3);
  10. }).then(function() {
  11. console.log(4)
  12. });
  13. console.log(5)

 

输出结果:2,3,5,4,1
5. 页面元素的垂直水平居中
这个简单就不写了
问答题:
1. background-color以及background-image的覆盖范围
背景色覆盖范围: border+ width+ padding ;背景图覆盖范围: width + padding ;
2. XSS的攻击原理是什么,过滤Html标签能否防止?并列举不能的情况
XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie、破坏页面结构、重定向到其它网站等。
肯定不能完全防止,比如过滤不了特殊字符或者名单不全之类的
3. js中的0.1+0.2为啥不等于0.3,怎么解决
因为计算机不能精确表示0.1, 0.2这样的浮点数,计算时使用的是带有舍入误差的数
并不是所有的浮点数在计算机内部都存在舍入误差,比如0.5就没有舍入误差
具有舍入误差的运算结可能会符合我们的期望,原因可能是“负负得正”
解决方法?
1. 个办法是使用整型代替浮点数计算;
2. 是不要直接比较两个浮点数,而应该使用bignumber.js这样的浮点数运算库
3. 把计算数字 提升 10 的N次方 倍 再 除以 10的N次方。一般都用 1000 就行了。

编程题:
在nodejs环境下
1. 将Html页面中的h1,h2,h3标签转换为可点击锚节点。

  1. 手写promise.race与promise.all
    Promise.race(iterable) 方法返回一个 promise,一旦迭代器中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。
  1. var promise1 = new Promise(function(resolve, reject) {
  2. setTimeout(resolve, 500, 'one');
  3. });
  4. var promise2 = new Promise(function(resolve, reject) {
  5. setTimeout(resolve, 100, 'two');
  6. });
  7. Promise.race([promise1, promise2]).then(function(value) {
  8. console.log(value);
  9. // Both resolve, but promise2 is faster
  10. });
  11. // expected output: "two"

 

Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。

  1. var promise1 = Promise.resolve(3);
  2. var promise2 = 42;
  3. var promise3 = new Promise(function(resolve, reject) {
  4. setTimeout(resolve, 100, 'foo');
  5. });
  6. Promise.all([promise1, promise2, promise3]).then(function(values) {
  7. console.log(values);
  8. });
  9. // expected output: Array [3, 42, "foo"]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/820353
推荐阅读
相关标签
  

闽ICP备14008679号