前端面试题第二次整理(第二次找工作)

浏览器相关

有哪几种浏览器,它们的内核是

浏览器有ie /safari/ chrome /mozilla firefox /opera

对应的内核有:ie----trident  safari/chrome---webkit    mozilla firefox---gecko     opera---presto

说下对浏览器内核的理解

浏览器内核主要包括以下三个技术分支:排版渲染引擎、 JavaScript引擎,以及其他。

排版渲染引擎:主要负责取得网页的内容(HTMLXML、图像等)、整理信息,以及计算网页的显示方式,然后输出至显示器

JavaScript引擎:是用来渲染JavaScript的,JavaScript的渲染速度越快,动态网页的展示也越快

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

1.浏览器根据请求的URL交给DNS域名解析,找到真实IP

2.浏览器根据 IP 地址向服务器发起 TCP 连接,与浏览器建立 TCP 三次握手

          a.客户端向服务器发送一个建立连接的请求

          b.服务器接到请求后发送同意连接的信号

         c.客户端接到同意连接的信号后,再次向服务器发送了确认信号,然后客户端与服务器的连接建立成功

3.浏览器发送HTTP请求

        浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;

4.服务器处理请求并返回HTTP报文(HTTP响应报文也是由三部分组成: 状态码, 响应报头和响应报文。):

       a…服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;

       b.服务器将得到的 HTML 文件发送给浏览器;

       c.在浏览器还没有完全接收 HTML 文件时便开始渲染、显示网页;

       d在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSSJavsScript等文件,过程同请求 HTML

5.断开连接

浏览器缓存有哪些

sessionStorage/localStorage/cookie

数据存放有效期

sessionStorage:仅在当前浏览器窗口关闭之前有效,浏览器关闭就没了

localStorage:始终有效,窗口或者浏览器关闭也保存,所以叫持久化存储

cookie只在设置的cookie过期时间之前有效,即使窗口或浏览器关闭也有效

过期时间设置

sessionStorage/localStorage不可以设置过期时间

cookie有过期时间,可以设置过期时间(把时间调整到之前的时间,就过期了)

存储大小

cookie存储量最大不能超过4k

sessionStorage/localStorage不能超过5M(localstorage大小有点争议,另外一个地方我看到的说说是10mb,不知道谁为准)

注意:不同的浏览器存储的大小是不同的,会有影响

http状态码有哪些,有哪些

1xx代表临时响应并需要请求者继续执行操作的状态码   

       100,服务器已收到请求的第一部分,正在等待其余部分

2xx表示成功处理了请求的状态码

        200,成功处理了请求

        202,服务器已接受请求,但尚未处理

3xx重定向,要完成请求,需要进一步操作

        304,自上次请求后,请求的网页未修改过

4xx 请求出错,妨碍了服务器的处理

        400 服务器不理解请求的语法

        401 未授权,需要进行身份验证

        404  找不到请求的网页

5xx服务器错误,服务器在处理请求时发生内部错误

        500 服务器内部错误

http与https的区别

HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。

HTTP HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)

前端三要素是

html 结构,超文本标记语言,决定网页的结构和内容

css表现,层叠样式表,设定网页的表现样式

js,行为,弱类型的脚本语言,源码不需要经过编译,由浏览器解释运行,用于控制网页的行为。

强缓存、协商缓存、cdn缓存

http2

三次握手与四次握手

跨域(jsonp/cors)

跨域时如何处理cookie

垃圾回收机制

网络安全

https

什么是xss以及如何防止它

什么是csrf以及如何预防它

为什么会引起csrf攻击

事件循环-----涉及宏任务、微任务、ui渲染等的执行顺序

Vue部分

Vue中的v-if和v-for为什么不能一起用

v-if 指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回 true值的时候被渲染

v-for 指令基于一个数组来渲染一个列表,  v-for 的时候,建议设置key值,并且保证每个key值是独一无二的,这便于diff算法进行优化

v-ifv-for都是vue模板系统中的指令,在vue模板编译的时候,会将指令系统转化成可执行的render函数

v-for优先级比v-if,  v-if 将分别重复运行于每个 v-for 循环中

所以,不推荐v-ifv-for同时使用

Vue的三种常用传值方式

父组件向子组件传值,在子组件中通过props传递过去的数据

子组件向父组件传值,在子组件中定义数据,使用$emit来进行自定义事件的触发及事件的发送

非父子组件传值,公共的vuex来进行传递值和获取值,或者用localsstorage来传值和取值

通过vuex来进行传递或者获取值,在state中定义变量,对变量值进行修改通过mutations,比如点击按钮进行加减,对变量值进行变异使用getters,比如变量初始值为100,修改后为10000,有异步使用action

兄弟组件之间

兄弟组件指的是平级之间的组件,他们中得传值方式比较多

1.第一种是属于一种比较麻烦的方法,可以将值先传给父组件,再通过父组件传值给子组件得传值方式传值给另一个子组件

2.可以使用Bus事件总线,创建一个中转站来进行传值。

组件之间如何通信

父子组件之间如何通信

 组件间传递数据


父组件向子组件传递数据,使用props属性;子组件向父组件中传递数据,在子组件中使用$emit派发事件,父组件中使用v-on
监听事件;缺点:组件嵌套层次多的话,传递数据比较麻烦。
祖先组件通过依赖注入(inject / provide)的方式,向其所有子孙后代传递数据;缺点:无法监听数据修改的来源,不支持响应式。
通过属性$root / $parent / $children /
ref,访问根组件、父级组件、子组件中的数据;缺点:要求组件之间要有传递性。
通过事件总线(event bus)的方式,可以实现任意两个组件间进行数据传递;缺点:不支持响应式,这个概念是vue1.0版本中的,现在已经废弃。
通过 VueJs 的状态管理模式 Vuex,实现多个组件进行数据共享,推荐使用这种方式进行项目中各组件间的数据传递。
 

vue中的父组件及子组件生命周期的执行顺序

什么是MVVM

MVVM Model-View-ModelView的缩写,是一种脱胎于 MVC 模式的设计模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值