瓜子二面总结

171 阅读2分钟

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判断是哪个端,然后加载不同的站点