![帆软春招前端一面/超长面经](https://imgs.xnip.cn/cj/jy2/2024-03-21/43f02f46-3a0a-4665-a088-1c66e5768d07.jpg)
1.浏览器从输入一个网址到解析过程?
--答的不好,很多东西忘记了
2.页面渲染过程?
--答了过程,顺便说了下defer和async
3.浏览器缓存机制?
--我说了协商缓存和强制缓存的分类和区别
4.那缓存的相关状态码?
--304,我顺势谈了一下304出现多的优缺点
5.cookie和localstorage的区别?
--大小,作用域,有效时间区别
6.你登录优化是怎么做的?在localstorage里存了什么?
7.那你为什么用localstorage而不用cookie?
--不知道
8.localstorage限制大小是多少?要是超出怎么办?
--用vuex?
9.不行,我想要持久化的存储呢?
--不知道
10.Settimeout第二个参数是准的吗?为什么不准确?
--看过但是忘了
11.React有接触过吗?
--没怎么写过
12.vue的history和hash路由在实现上的区别?原理?
--说了用法区别,问具体用了js的哪些方法来实现区别,不知道
13.mvvm和mvc的区别?
--mvc我不太熟,扯了一些mvvm的底层原理
14.本人自顾自又扯了一会儿数据劫持
15.虚拟dom原理?
--介绍了基本概念,diff算法,作用
16.节点上key的作用?
--为了作为唯一标识符,又提了一下index不能作为key
17.为什么index不能作为key?
--临时dom更新的情况会有问题
18.那diff算法有用到key吗?
--有,应该是可以判断是不是同一个节点吧
19.0.1+0.2!=0.3
--我解释了一下原因
20.那怎么解决这个问题?
--不知道
21.场景题:我有一个input框,我想要根据输入的内容让它宽度自动变宽,怎么实现?
--通过overflow属性?
--那是出现滚轮,但是我想要宽度改变
--那就根据input的width和font-size相除判断宽度是不是要增加?
--可是像“m”和“i”所占的位置就是不同的,你怎么判断呢?
--不会
22.Div和span的区别?
--谈了一下块级元素和行内元素的区别与转换。
23.那行内元素的宽度是由什么决定的?
--内容本身,回答完这句话之后突然发现前面那道场景题有解了,可以在input里放一个
来测量宽度?