最后
小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!
=========================================================================
-
关于GC的目的就是为了实现内存空间的良性循环
-
良性循环的基础是对内存空间有一个合理的使用
-
时刻关注才能确定是否合理
-
Preformance提供多种监控方式
总结:
- 通过Performance时刻监控内存,有这样一个操作后,我们就可以在程序的内存出现一些问题之后,直接想办法定位到当前问题所在的代码块
基本使用步骤
-
打开浏览器输入目标网址
-
进入开发人员工具面板,选择性能
-
开启录制功能,访问具体界面
-
执行用户行为,一段时间后定制录制
-
分析界面中记录的内存信息
=================================================================
-
页面出现延迟加载或者经常性暂停 — 频繁的垃圾回收
-
页面持续性出现糟糕的性能 — 内存膨胀
-
页面的性能随时间延长越来越差 — 内存泄漏
==============================================================
-
内存泄漏 — 内存使用持续升高
-
内存膨胀 — 在多数设备上都存在性能问题
-
频繁的垃圾回收 — 通过内存变化图进行分析
-
浏览器任务管理器
-
可以直接以数值的形式,将我们当前应用程序在执行过程中内存的变化体现出来
-
Timeline时序图记录
-
直接把我们应用程序执行过程中所有内存的走势以时间点的方式呈现出来,有了这张图很容易做判断
-
堆快照查找分离DOM
-
有针对性的查找我们当前的界面对象中,是否存在分离的DOM,因为分离DOM的存在就是一种内存泄漏
===================================================================
-
如果我们最后一列小括号内的数值一直增大,那就意味着这个内存是有问题的
-
具体来说是什么问题当前这个工具就显得不是特别好用了,因为它只能帮助我们发现这个地方有没有问题,如果说我们想定位问题时,他就不太好用了
-
在这个地方我们可以直接通过
shift + esc
调出任务管理器 -
找到我们想要去监控的具体脚本,也就是说web页面
-
选中之后如果说没有JS这一列我们可以直接右键然后勾选
-
调整完后我们只需要关注两列
-
第一列为当前DOM节点占用的内存,一般情况也是不变为好,如果要变的话就证明我们当前界面存在频繁的DOM操作
-
第二列为最后的JS内存,在这里我们要关注的就是小括号内的数值,得出的结论就是如果小括号里的数值一直增加而没有变小的过程,就意味着我们的内存就一直往上走,而没有GC消耗,所以这个时候就有问题了
总结
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。