2021年前端岗位面试题 “二”(本人亲测)
今年5月份在南京面试 大概三周的时间 面试了二十几家大 中 小型企业 收集了各种面试题
希望给还在面试的兄弟们一点帮助 共三套
什么是跨域
浏览器从一个域名的页面去请求另一个域名的资源时,
端口,域名,协议其中任意一个不一致,就是跨域
跨域问题怎么解决
JSONP跨域,nginx反向代理
自适应(响应式)该怎么做
在网页代码的头部加入一个viewport元标签
宽度不用绝对的:width:{20%} (用百分比)
大小用相对rem,不用绝对大小px
流动布局,各个区块的位置都是浮动的,不是固定不变
选择加载CSS
CSS3引入的媒体查询Media Query模块,自动探测屏幕宽度,然后加载相应的CSS文件
什么是JS原型?JS原型链是什么?
当生产一个function对象时,就会有一个原型属性,是函数的一个默认属性
是函数创建过程中JS编译器自动添加的
JS原型就是指显示原型prototype和隐式原型__proto__这两个原型对象
原型链就是查找对象的某个属性或方法时,先查找自身,若没找到则向上层逐级查找,这种链式结构,称为原型链,若没有查到则返回undefined。
CSS3清除浮动
给父级元素设置overflow:hidden
给父级元素设置明确的高度
在父级元素的最底部设置clear:both来清除浮动
IE兼容
Zoom
div垂直水平居中
浮动:justify-content:center横向居中 align-item:center纵向居中
定位:设置top 50%,left 50%
Grid网格布局:justify-self:center水平居中 align-self:center 垂直居中
px,em,rem的区别
px是绝对大小
em和rem是相对大小
em是相对于父元素的字体大小进行改变(也就是body)
而rem是相对于根元素的字体大小进行改变(也就是html)
一般来说任意浏览器的字体大小都是16px,所有未经调整的浏览器都符合1rem=16px
箭头函数和普通函数的区别,为什么使用箭头函数?
箭头函数的this指向上层对象,普通函数的this指向调用其函数的对象
箭头函数不能作为构造函数实例化对象
不能使用argument但可以使用...rest(剩余参数)
箭头函数不需要绑定this,argument,代码更简洁明了,简化了代码
ES6中Let和var
Let不可以重复声明,var可以重复声明
Let会创建块级作用域,使用范围被限制,更符合逻辑
Let在相同的作用域下不能有相同的变量,var可以有,且不会报错
防止数据污染或者被覆盖的问题
Let循环会做特殊处理,每次循环都会产生一个新的作用域,并且将循环的变量绑定到该作用域内(每次循环使用的是一个新的循环变量)
数组新增/删除/查询是否包含某个元素
新增元素用Push方法
删除元素用delete方法
查询是否包含某个元素用indexOf方法
Get和Post有什么区别?
首先Get和Post都是HTTP协议中发送请求的方式
然后Get请求比Post请求更快速一些更高效
但是Post比Get安全性更好,Get不安全
因为Get请求的参数直接暴露在URL上,而Post是通过request body进行传递参数
同步和异步的区别
同步请求是按照顺序处理,向服务器发送请求后,等待响应,返回结果后再进行下一步操作
异步请求是并行处理,向服务器发送请求时,在服务器未返回结果时可以进行其他操作
异步处理用户体验感更好
css样式优先级
内联样式 > 内部样式表 > 外部样式表(写在head标签中)
CSS选择器/优先级
Id选择器,类(class)选择器,后代选择器,子选择器,标签选择器,伪类选择器
优先级
Id选择器>类选择器>子选择器>后代选择器>标签选择器>伪类选择器
HTML5本地存储
Cookie可以设置存储的时间,数据存放在客户端
localStorage 如果不手动清除,关闭浏览器,数据不会丢失,通过key-value方式进行存储
sessionStorage 关闭浏览器,数据自动删除,不持久化
vue中keep-alive的作用
主要是在组件切换时,保存组件的状态,防止重复渲染引发性能问题。keep-alive起到一个缓存作用,用来保存页面的状态(包括数据、操作等)。
为什么data必须是一个函数
首先定义的 xx.vue文件在编译之后是一个类,每个地方使用这个组件的时候,相当于对这个类实例化,在实例化的时候执行data,如果不是一个函数的话,每个组件的实例的data都是同一个引用数据,当该组件作为公共组件共享使用,一个地方的data更改,所有的data一起改变。如果data是一个函数,每个实例的data都在闭包当中,就不会各自影响了
目的是为了防止多个组件实例对象之间共用一个data,产生数据污染。
//禁止转载 转载告诉我一声 俺也是有脾气的