简历里每一句话,都要有对应的面试问题答案
比如:简历里有一句 “使用持久化存储去解决首屏加载和用户体验问题。”
【描述背景】
在xxxx这个项目里,业务希望首屏加载更快,我去做了一个让首屏加载更快的方案。
【描述行动】
接到这个任务以后我在网上进行调研,一开始接到了集中方法,
第一种是使用服务端渲染
第二种使用骨架图的方案
第一种服务端渲染需要服务端来跟进支持,还需要用到特殊的技术方案(这里要准备好调研的技术方案,面试官问的时候别傻了),目前这个优化只分配了前端进行改造,所以没有使用。
第二种方案使用骨架图可以让页面先显示框架,再慢慢渲染实际内容,这样虽然用户感受会好一些,但是治标不治本,渲染总时长和以前是一样的。
经过我的调研,我们项目首屏加载速度慢的只要原因是两个,一是JS解析执行的时间,二是React(vue)渲染的时间,然后我们的项目首页的数据不需要非常的实时精确的更新,所以我想到一个方案。
【提出解决方案】
每次渲染完首页后,我将首页所有的HTML代码存储到LocalStorage中,当页面进来的时候,我首先从LocalStorage中获取HTML代码数据先贴到HTML中,让用户可以先看到首页的内容和行动点,这样解决用户第一次进来速度慢的问题。
【提出遇到的问题】
解决这个问题需要考虑几个点:
第一是读取LocalStorage插入HTML的这个代码要在所有代码之前运行
第二是确保LocalStorage的存储内容的大小不能超过浏览器的限制
第三是要确保HTML加载进来的时候样式也要存在
【给出解决方案】
我们使用的框架是UMI,使用umi的配置中的 scripts 参数,添加额外的JS代码,来解决第一个问题。(不同脚手架方法不一样)
我们只将首屏最核心的xxxxx部分进行了代码存储,这部分的代码结构我们进行了精简,确保在100k以内。
我们把这部分代码的css写成了行内样式,确保这些样式正确渲染。
如果大家想要用以上内容作为简历和面试内容,我建议大家自己实践一下,做一遍这样的功能。你会发现更多值得一提的点。
【描述背景】
在xxxx这个项目里,业务希望首屏加载更快,我去做了一个让首屏加载更快的方案。
【描述行动】
接到这个任务以后我在网上进行调研,一开始接到了集中方法,
第一种是使用服务端渲染
第二种使用骨架图的方案
第一种服务端渲染需要服务端来跟进支持,还需要用到特殊的技术方案(这里要准备好调研的技术方案,面试官问的时候别傻了),目前这个优化只分配了前端进行改造,所以没有使用。
第二种方案使用骨架图可以让页面先显示框架,再慢慢渲染实际内容,这样虽然用户感受会好一些,但是治标不治本,渲染总时长和以前是一样的。
经过我的调研,我们项目首屏加载速度慢的只要原因是两个,一是JS解析执行的时间,二是React(vue)渲染的时间,然后我们的项目首页的数据不需要非常的实时精确的更新,所以我想到一个方案。
【提出解决方案】
每次渲染完首页后,我将首页所有的HTML代码存储到LocalStorage中,当页面进来的时候,我首先从LocalStorage中获取HTML代码数据先贴到HTML中,让用户可以先看到首页的内容和行动点,这样解决用户第一次进来速度慢的问题。
【提出遇到的问题】
解决这个问题需要考虑几个点:
第一是读取LocalStorage插入HTML的这个代码要在所有代码之前运行
第二是确保LocalStorage的存储内容的大小不能超过浏览器的限制
第三是要确保HTML加载进来的时候样式也要存在
【给出解决方案】
我们使用的框架是UMI,使用umi的配置中的 scripts 参数,添加额外的JS代码,来解决第一个问题。(不同脚手架方法不一样)
我们只将首屏最核心的xxxxx部分进行了代码存储,这部分的代码结构我们进行了精简,确保在100k以内。
我们把这部分代码的css写成了行内样式,确保这些样式正确渲染。
如果大家想要用以上内容作为简历和面试内容,我建议大家自己实践一下,做一遍这样的功能。你会发现更多值得一提的点。
全部评论
不错的思路 感谢前辈指点
相关推荐
10-22 16:45
门头沟学院 Java 点赞 评论 收藏
分享