关于面试
面试
LANGXUEWEN
这个作者很懒,什么都没留下…
展开
-
关于JavaScript原型链
关于JavaScript原型链创建对象的方法在了解原型链之前,先了解以下三种创建对象的几种方式: //第一种:字面量 var o1={name:'o1'} var o2=new Object({name:'o2'}) //第二种:构造函数 var M=function(name){this.name=name;} var o3=new M('o3') //第三种:Object.create var s={name:'s'} va原创 2020-12-18 15:04:15 · 129 阅读 · 0 评论 -
JS事件循环机制(Event Loop)
JavaScript是一门单线程的非阻塞的脚本语言。单线程意味着,JavaScript代码在执行的时候,都只有一个主线程来处理所有的任务。而非阻塞则是当代码需要执行一项异步任务(无法立刻返回结果,需要花一定时间才能返回的任务,如I/O事件)时,主线程会挂起(pending)这个任务,然后在异步任务返回结果的时候再根据一定规则去执行相应的回调。javascript选择只用一个主线程来执行代码,这样保证了程序执行的一致性。单线程在保证了执行顺序的同时也限制了JavaScript的效率,因此开发出了web原创 2020-12-07 22:31:02 · 189 阅读 · 2 评论 -
CSRF攻击
一、什么是CSRF攻击CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。二、常见类型GET类型的CSRFPOST类型的CSRF...原创 2020-11-28 18:55:49 · 82 阅读 · 0 评论 -
CSS
BFC块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。BFC相当于一个隔离的独立容器,里面的子元素不会影响到外面的元素,反之也一样。下列方式会创建BFC:根元素(<html>float 不为 noneposition 为 absolute 或 fixeddisplay 为 inline-block、table-cell、 table-ca原创 2020-11-27 20:25:52 · 139 阅读 · 0 评论 -
XSS攻击
一、什么是XSS攻击跨站脚本攻击(Cross-site scripting,XSS)是一种注入型攻击,攻击者通过在目标网站上注入恶意的脚本,使之在用户的浏览器上运行。利用这些脚本,攻击者可获取用户的敏感信息,如Cookie、SessionID等。XSS的本质是:恶意代码未经过滤,与网站正常的代码混在一起,浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。在处理输入时,以下内容都不可信:来自用户的UGC信息(UGC,即用户生成内容)来自第三方的链接URL参数POST参数Referer(可原创 2020-11-23 23:13:17 · 278 阅读 · 1 评论 -
如何减少页面加载时间(前端性能优化)
如何减少页面加载时间1、减少重复的HTTP请求(1)减少调用其他页面、文件的数量;(2)在使用css格式时,常会采用background载入图形文件,而每个background的图像都会产生1次HTTP 请求,为了让页面生动活泼大量使用background来加载背景图,可以采用css的1个有用的background-position属 性来加载背景图加以改善,将需要频繁加载的多个图片合成为1个单独的图片,加载时采用:background:url(…) no-repeat x-offset y-offs原创 2020-11-22 23:41:52 · 3617 阅读 · 2 评论 -
HTTP2、HTTP1.1
HTTP2 相比 HTTP1.1 有如下几个优点:解析速度快HTTP2 是基于帧的协议,每个帧都有表示帧长度的字段,解析速度快。而服务器解析 HTTP1.1 的请求时,必须不断地读入字节,直到遇到分隔符 CRLF 为止。多路复用HTTP1.1 如果要同时发起多个请求,就得建立多个 TCP 连接,因为一个 TCP 连接同时只能处理一个 HTTP1.1 的请求。在 HTTP2 上,多个请求可以共用一个 TCP 连接,这称为多路复用。同一个请求和响应用一个流来表示,并有唯一的流 ID 来标识。 多个原创 2020-11-22 23:09:15 · 437 阅读 · 0 评论 -
重绘和回流
1 重绘和回流html 页面加载时发生了什么1、解析HTML,生成DOM树,解析CSS,生成CSSOM树2、将DOM树和CSSOM树结合,生成渲染树(Render Tree)3、Layout(回流):根据生成的渲染树,进行回流,得到节点的几何信息(位置,大小)4、Painting(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对像素5、Display:将像素发送给GPU,展示在页面上。render tree中每个节点(NODE)都有自己的style,而且render tree只包含原创 2020-11-21 22:07:14 · 222 阅读 · 0 评论 -
计算机网络
浏览器输入url到页面响应的过程大致可分为三步:一、DNS解析URL对应的IP地址首先浏览器应先检查原创 2020-11-21 22:03:12 · 252 阅读 · 0 评论 -
高频手撕算法题
输出数组中出现次数最多的字母前数字的和(mt)(emmm不知道思路有没有想复杂了…)var arr=[1,4,6,'a','c','e',4,'a',6,7,'c','c'];var more=new Map;//利用哈希表找出出现次数最多的字符var s;var sum=0;for(var ele of arr){ if((typeof ele)=="string"){ if(more.has(ele)) more.set(ele,more.get(ele)+1).原创 2020-10-28 23:38:51 · 192 阅读 · 0 评论