前端面试(一)
一、自我介绍
XXXXXXXX
二、技术面试
1.盒子模型
content(width,height)padding,border,margin
content:盒子的宽和高 padding:内边距
border:边框
margin:外边距
总结:一个完整的盒子模型包含四个部分,内容,内边距,边框盒,外边距;
外边距(margin)不参与计算盒子的大小
css盒模型类型:
标准模型(content-box):
怪异模型(IE盒子模型,border-box):
2.水平居中方式有哪些
行内元素居中
(a)父元素设置:text-align:center;
(b)父元素设置:display:flex; justify-content:center;
块级元素居中
(a)固定宽度:
<div class="box">
<div class="content"></div>
</div>
.box{
width: 200px;
height: 200px;
margin: auto;
}
.content{
width: 100px;
height: 100px;
background-color: #000000;
}(b)不固定宽度
3.画一条0.5px的线
<h5>方法一:画0.5px的线</h5>
<div class="line1"> </div>
<style>
border-bottom: 1px solid black;
transform: scaleY(0.5);
</style>
------------------------------------6.尺寸单位
绝对单位:是一个固定值,他反应一个真实的物理尺寸
相对单位:指定一个长度相对另一个长度的属性,有参照对象
px:绝对单位,像素
rem:(root em)相对单位,作用于非根元素时,相对于根元素字体大小,rem作用于根元素字体大小时,相对于其初始字体大小
em:相对单位,相对于应用在当前元素字体尺寸,浏览器默认字体大小为16px;1em=1个字体大小;
- 注:
em是相对于当前父元素的字体大小为标准,而rem是相对于html元素的字体大小为标准。
vh(Viewport height):相对单位,视图高度
vw(Viewport width):相对单位,视图宽度
5.http请求方式有哪些
get,post,put,delete
6.get和post区别
- 1.get数据是存放在url之后,以?分割url和传输数据,参数之间以&相连; post方法是把提交的数据放在http包的Body中
- 2.get提交的数据大小有限制,(因为浏览器对url的长度有限制),post的方法提交的数据没有限制
- 3.get需要
request.queryString来获取变量的值,而post方式通过request.from来获取变量的值 - 4.get的方法提交数据,会带来安全问题,比如登录一个页面,通过get的方式提交数据,用户名和密码就会出现在url上
7.ES6新特性
const和let,模板字符串,箭头函数,函数的参数默认值,对象,for...of,for...in
8.var和let区别
- var声明的变量会挂载在window上,而let和const声明的变量不会
- var声明的变量存在变量提升,let和const不存在变量提升
- 同一作用域下var可以声明同名变量,let和const不可以
- let和const声明会形成块级作用域
9.vue子父组件传值
父传子: 父组件把要传递的数据绑定在属性上,子组件通过props接收
子传父:子组件通过this.$emit,父组件设置一个监听属性来接收
10.状态码
2XX(成功处理了请求状态)
200 服务器已经成功处理请求,并提供了请求的网页
201 用户新建或修改数据成功
202 一个请求已经进入后台
204 用户删除成功
3XX(每次请求使用的重定向不要超过5次)
304 网页上次请求没有更新,节省带宽和开销
4XX(表示请求可能出错,妨碍了服务器的处理)
400 服务器不理解请求的语法
401 用户没有权限(用户名,密码输入错误)
403 用户得到授权(401相反),但是访问被禁止
404 服务器找不到请求的网页,
5XX(表示服务器在处理请求的时候发生内部错误)
500 服务器遇到错误,无法完成请求
503 服务器目前无法使用(超载或停机维护)11.线程和进程的区别
12.http协议
13.http和https
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。
![]()
(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
(5)Web服务器利用自己的私钥解密出会话密钥。
(6)Web服务器利用会话密钥加密与客户端之间的通信。
三、杂谈
转载自:https://segmentfault.com/a/1190000041703322

