1.谈谈你对前端性能优化的理解
a. 请求数量:合并脚本和样式表,CSS Sprites,拆分初始化负载,划分主域
b. 请求带宽:开启GZip,精简JavaScript,移除重复脚本,图像优化,将icon做成字体
c. 缓存利用:使用CDN,使用外部JavaScript和CSS,添加Expires头,减少DNS查找,配置ETag,使AjaX可缓存
d. 页面结构:将样式表放在顶部,将脚本放在底部,尽早刷新文档的输出
e. 代码校验:避免CSS表达式,避免重定向
2.浏览器存储
在HTML5中提供了sessionStorage和localStorage。
a.sessionStorage
b.localStorage
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁,是会话级别的存储。
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
3.对BFC规范的理解
BFC全称是Block Formatting Context,即块格式化上下文。它是CSS2.1规范定义的,关于CSS渲染定位的一个概念。
BFC是页面CSS 视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域。
BFC的一个最重要的效果是,让处于BFC内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。利用BFC可以闭合浮动,防止与浮动元素重叠。
4.你遇到过比较难的技术问题是?你是如何解决的?
5.react与ue的区别
a.监听数据变化的实现原理不同
b.数据流的不同
c.模板渲染方式的不同
d.渲染过程不同
e.框架本质不同
Vue本质是MVVM框架,由MVC发展而来;
React是前端组件化框架,由后端组件化发展而来。
6.多人协作项目git使用方式是什么
a.提交代码之前查看同事是否有提交代码
b.如有提交先pull代码,如没有可继续正常提交流程
正常流程先diff查看自己修改的代码是否对应然后add、commit、push。
如有提交先pull如果有冲突解决冲突,冲突解决之后走对应流程
7.你在项目中做过那些优化?
8.更多的还是基于简历当中的项目来对你做对应面试,基本都是讲一下自己做过的项目。