2020-10-20面试题

it2023-09-30  65

1、http请求的方式get和post的区别包括

1.get是从服务器上获取数据,post是向服务器传送数据。

2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。

5.get安全性非常低,post安全性较高。

2、常见的Web攻击手段?

XSS攻击CSRF攻击SQL注入攻击文件上传漏洞DDoS攻击其他攻击手段

3、关于JavaScript里的xml处理,以下说明正确的是

A. Xml是种可扩展标记语言,格式更规范,是作为未来html的替代B. Xml一般用于传输和存储数据,是对html的补充,两者的目的不同(错误的) C. 在JavaScript里解析和处理xml数据时,因为浏览器的不同,其做法也不同 D. 在IE浏览器里处理xml,首先需要创建ActiveXObject对象

4、Web前端性能优化

1 业务逻辑时使用时间复杂度低的算法 2 减少网络请求数量=>利用缓存技术,减少HTTP请求次数或文件下载次数,将共有图片,第三方JS插件库或者CSS放到CDN上 3 资源的压缩,包括css、js =>利用项目构建工具,如gulp, grunt, webpack等等 4 图片的压缩=>雪碧图,图标字体文件 5 使用缓存

5、你有哪些性能优化的方法?

(1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器。 (2) 前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数 (3) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。 (4) 当需要设置的样式很多时设置className而不是直接操作style。 (5) 少用全局变量、缓存DOM节点查找的结果。减少IO读取操作。 (6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。 (7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。

 6、输出什的结果是什么?为什么?

setTimeout(function(){     var np=new Promise(function(resolve,reject){         console.log(1)         resolve()     })     np.then(_ => {       console.log(2)     })     console.log(3)   }, 1000) var pro=new Promise((resolve,reject)=>{         console.log(5)         resolve()     }).then(_ => {         setTimeout(function() {           console.log(6)         },0)         return 7;     }).then(n => {       console.log(n)     })     console.log(4)

输出: 

5 4 7 6 1 3 2

可以看出Promise比setTimeout()先执行。

因为Promise定义之后便会立即执行,其后的.then()是异步里面的微任务。

而setTimeout()是异步的宏任务。

 

最新回复(0)