其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
《前端开发四大模块核心知识笔记》
最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
- 应用定时任务setInterval(callback, delay, rest)调用以上缓存数据方法会存在设置的delay值过小,影响APP性能;delay值过大,会造成当前用户输入信息还未暂存,用户返回上一页进行其他操作导致当前输入信息未暂存问题,所以设置一个合适值至关重要,既能最大限度的做到不影响应用性能,也能过做到保证数据完整性;通过页面【暂存】按钮触发缓存动作,可以保证数据的完整性。但是以上2种策略均不能很好的解决应用闪崩问题。
- 当用户从其他页面重新进入当前信息维护页时,调用缓存中的数据信息进行
uni.getStorage()
回显。- 用户登出时,调用
uni.removeStorage()
清空缓存中的数据信息。
二、实现机制
- 为应对用户异常退出场景,在用户非正常退出(即并不是点击【退出】按钮退出系统)时,保存用户申请信息;
- 缓存的数据信息为【用户ID + 企业ID】作为缓存主键,确保数据一致性、完整性,保障数据安全;
- 缓存内存有数据信息时,就调用缓存中的数据信息,缓存内无数据信息,则用户重新录入;
- 用户点击【退出】按钮时,清除缓存信息;
考虑根据页面生命周期函数进行处理,在博文《跨平台应用开发进阶(一) :走近 uni-app》中介绍了页面生命周期onHide()
与onUnload()
,我们注意到onHide()
触发的场景:
- 导航页1---->导航页2,会触发导航页1
onHide()
;- 导航页----->子页面,会触发导航页
onHide()
;- 子页面1----->子页面2,会触发子页面1
onHide()
;- 切换到其他应用时,触发当前页面的
onHide()
;
onUnload()
触发的场景:
- 从子页面2返回到子页面1,会触发子页面2的
onUnload()
;- 从子页面返回到导航页,会触发子页面的
onUnload()
;
注意:
导航页之间的切换不会触发onUnload()
。
页面2返回到(页面1或者导航页)时,页面2只会触发onUnload()
,并不会触发onHide()
。
由此可知,
- 在页面生命周期
onHide()
与onUnload()
应用uni.setStorage()
缓存用户信息;- 缓存的数据信息为【用户ID + 企业ID】作为缓存主键,确保数据一致性、完整性,保障数据安全;
- 根据【用户ID + 企业ID】缓存主键缓存应用
uni.getStorage()
判断缓存是否有数据信息,存在数据信息就调用缓存中的数据信息,缓存内无数据信息,则用户重新录入;- 用户提交成功或点击【退出】按钮时,应用
uni.removeStorage()
清除缓存信息;
注意⚠️:清除缓存时应注意防止出现内存泄露问题!
三、拓展阅读
最后
全网独播-价值千万金融项目前端架构实战
从两道网易面试题-分析JavaScript底层机制
RESTful架构在Nodejs下的最佳实践
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
一线互联网企业如何初始化项目-做一个自己的vue-cli
思维无价,看我用Nodejs实现MVC
代码优雅的秘诀-用观察者模式深度解耦模块
前端高级实战,如何封装属于自己的JS库
VUE组件库级组件封装-高复用弹窗组件