一招制敌,搞定前端系统设计和优化题

开发 前端
下面我就同时写题目和我自己的答案,希望大家能在阅读的过程中找到一些规律。

最近接触了不少面试题目,有这么一类常见的题目,没有标准答案,上下限差距很大,第一次碰到没有准备的话,回答起来总会比较纠结。

具体的题目有性能优化,提升代码质量,做埋点系统,优化webpack等,这里我把他们统称为系统设计和优化题。

在这里我尝试找一下应对这些问题的套路,让大家可以在工作和面试中找到感觉,顺利过关。

下面我就同时写题目和我自己的答案,希望大家能在阅读的过程中找到一些规律。

具体题目

如何做性能优化?

问题的关键是性能,那么,性能指的是什么?页面加载的快慢和页面是否流畅。

那么用什么指标来衡量呢?页面加载时长和帧率

怎么计算这些指标呢?加载时长可以使用performance.timing,API上报,onload等事件。而帧率可以使用raf来计算。

那么我们要怎么做性能优化呢?针对用户访问的全流程,每一步进行优化。如dns解析,tcp链接,渲染页面等。详情可以查看我的文章。

如何提升代码质量?

同样我们要先想以下的问题 什么是代码质量?代码质量有哪些指标(代码性能、代码的缺陷数量)?怎么计算指标?

怎么提升代码质量?从研发的流程着手。需求评审、代码初始化、写代码(eslint)、提交代码(git commit钩子)、测试代码、发布代码(规则拦截)、数据监控

如何进行效率提升

怎么衡量效率?人日?

怎么提升效率?跟上面的提升代码质量的阶段比较接近,不重复讲了。

怎么设计埋点系统

关键的问题是数据,因此我们要从数据着手,了解我们要上报哪些数据(性能/用户行为/错误),怎么上报数据(gif,api),怎么处理数据(日志清洗,归类,存储),怎么查看数据(可视化,权限系统),怎么利用数据(生成报表,报警监控)

怎么做搭建系统

关键的元素是页面。因此我们要围绕页面的生产,页面的配置,页面的管理,页面的渲染等来进行讨论

怎么做客户端离线资源系统?

关键问题是资源。因为我们要解答发放什么资源,什么时候发放,怎么发放,怎么更新、删除资源,怎么使用资源,资源的优先级、有效期等问题

怎么优化webpack

webpack的优化可以分为缩小体积和减少打包时间两个方向。

我们可以从webpack打包的流程为切入点进行分析。

初始化参数阶段、加载插件阶段、确定入口阶段、编译阶段、完成编译、输出资源、写入文件

尾声

不知道大家找到一些规律了吗?

下面是我的思路。

找到问题的关键点,找到如何衡量关键点的方法,从系统运行的全流程进行分析,针对每个流程进行分别优化。

希望大家可以有一些收获。

责任编辑:庞桂玉 来源: 前端教程
相关推荐

2022-11-07 08:58:41

搜索数据索引

2010-03-16 08:59:45

Windows 7纯净版安装

2022-10-28 09:48:07

2020-12-31 13:17:57

手机电脑多屏协同

2020-03-25 13:23:13

网络安全安全技术

2022-09-06 11:53:00

开发计算

2023-12-18 08:24:09

LinuxPythonWord

2020-10-20 08:01:30

MySQL密码Windows

2015-08-03 14:02:37

Windows 10升级

2021-03-06 09:54:22

PythonHTTP请求头

2021-12-13 06:56:46

TCP孤儿连接

2021-08-21 23:33:16

iOS苹果系统

2009-01-18 10:29:16

SaaS政务应用风险管控

2013-07-30 11:24:33

SAP“简化IT 一招

2018-08-14 05:21:43

路由器网络运维网络

2021-01-25 05:41:25

Flash Fliqlo软件

2011-04-19 14:16:39

中小企业云计算

2021-02-18 00:51:04

Windows10Windows微软

2021-11-22 11:30:37

JavaScript代码浏览器

2021-08-02 05:16:36

IE技巧操作系统
点赞
收藏

51CTO技术栈公众号