当前位置: 首页 > 科技观察

一招制敌,解决前端系统设计优化题

时间:2023-03-12 08:18:18 科技观察

最近面试题遇到不少。有这么一道常见的问题,没有标准答案,上下限相差很大。这是我第一次遇到没有准备的词。总是很难回答。具体题目包括性能优化、代码质量提升、嵌入式系统、webpack优化等,这里我统称为系统设计优化题。在这里我想办法解决这些问题,让大家在工作和面试中找到感觉,顺利通过考试。下面我将问题和自己的答案同时写出来,希望大家在阅读的过程中能找到一些规律。如何针对特定主题进行性能优化?问题的关键是性能,那么性能是什么意思呢?页面加载速度以及页面是否流畅。那么用什么指标来衡量呢?如何计算页面加载时间和帧率?加载时间可以使用performance.timing、APIreporting、onload等事件。可以使用raf计算帧速率。那么我们如何做性能优化呢?针对用户接入的全流程,每一步都进行了优化。比如dns解析,tcp链接,渲染页面等,具体见我的文章。如何提高代码质量?同样,我们首先要思考以下问题:什么是代码质量?代码质量的指标是什么(代码性能、代码中的缺陷数量)?指标如何计算?如何提高代码质量?从研发过程开始。需求审核、代码初始化、编写代码(eslint)、提交代码(gitcommithook)、测试代码、发布代码(规则拦截)、数据监控如何提高效率如何衡量效率?男人节?如何提高效率?上面已经比较接近提高代码质量的阶段了,不再赘述。如何设计一个积分购买系统的关键问题是数据,所以我们需要从数据入手,了解我们要上报什么数据(性能/用户行为/错误),如何上报数据(gif,api),以及如何处理数据(日志清理、返回类、存储)、如何查看数据(可视化、权限系统)、如何使用数据(生成报表、告警监控)、如何构建系统。关键元素是页面。因此,我们不得不讨论页面制作、页面配置、页面管理、页面渲染等。客户端离线资源系统怎么做?关键问题是资源。因为我们要回答分配什么资源,什么时候分配,如何分配,如何更新和删除资源,如何使用资源,资源优先级,有效期等等。如何优化webpackwebpack的优化可以是分为两个方向:缩小尺寸和缩短包装时间。我们可以从webpack打包的过程来分析。初始化参数阶段、加载插件阶段、确定入口阶段、编译阶段、编译完成、输出资源、写入文件末尾。你找到一些规律了吗?下面是我的思路。找到问题的关键点,找出关键点如何衡量,从系统运行的全过程分析,对每个过程分别进行优化。希望每个人都能有所收获。