1.输入URl到页面白屏的过程
解析dns,dns也有缓存,浏览器缓存,ldns缓存类似与cdn之类的。还有个host本地指向,忘记说了
查看访问的页面是否缓存
三次握手
ssl/tls
返回结果
四次挥手
关闭连接
正常到这就结束了,但是是到白屏的过程,所以后面还有vue生命周期
beforeCreated create beforeMounted 到这为止都是白屏的。
因为在mounted后才会渲染dom,dom和css合并成renderTree
2.线上bug怎么快速定位
我的回答是看报错,但是代码是编译过得,可能是前后端没分离项目做多了,没分离的项目代码没有加密,可以看源码
而且面试官的问题是可能代码是嵌在别的端里面的,在本地或者测试环境不好复现。
所以看报错肯定不行,而且可能线上跟测试环境的数据不一样。
我又补充了一下可以看逻辑,因为bug肯定是事件触发,所以可以看本地代码的逻辑是否有问题,感觉面试官不是想听这个。
完事回来自己想了一下,想起来之前公众号看的一篇文章说前端可以做异常监控平台,捕捉window的error,还有trycatch等vue还有handleError方法监听报错。
这个异常捕获可能是一方面,应该还有别的。
3.两套代码,两个项目,两个站点,怎么判断pc还是移动端,前端怎么做
我们这边确实有这个逻辑,但是是后端处理的,因为是两套代码了,前端判断的话就是加个判断,再做个跳转操作,但是跳转这个操作是多余的。
其实按道理说确实应该后端处理,因为后端可以设置重定向,根据ua判断是哪个端,然后加载不同的站点