去面试之性能问题

1.网络传输性能优化

1.1.浏览器缓存

1.2.资源打包压缩

1.3.图片资源优化

1.4.网络传输性能检测工具——Page Speed

1.5.使用CDN

2.页面渲染性能优化

2.3.减少重排与重绘、

2.4.优化策略

(一)CSS属性读写分离:浏览器每次对元素样式进行读操作时,都必须进行一次重新渲染(重排 + 重绘),所以我们在使用JS对元素样式进行读写操作时,最好将两者分离开,先读后写,避免出现两者交叉使用的情况。最最最客观的解决方案,就是不用JS去操作元素样式,这也是我最推荐的。

(二)通过切换class或者使用元素的style.csstext属性去批量操作元素样式。

(三)DOM元素离线更新:当对DOM进行相关操作时,例、appendChild等都可以使用Document Fragment对象进行离线操作,带元素“组装”完成后再一次插入页面,或者使用display:none 对元素隐藏,在元素“消失”后进行相关操作。

(四)将没用的元素设为不可见:visibility: hidden,这样可以减小重绘的压力,必要的时候再将元素显示。

(五)压缩DOM的深度,一个渲染层内不要有过深的子元素,少用DOM完成页面样式,多使用伪元素或者box-shadow取代。

(六)图片在渲染前指定大小:因为img元素是内联元素,所以在加载图片后会改变宽高,严重的情况会导致整个页面重排,所以最好在渲染前就指定其大小,或者让其脱离文档流。

(七)对页面中可能发生大量重排重绘的元素单独触发渲染层,使用GPU分担CPU压力。(这项策略需要慎用,得着重考量以牺牲GPU占用率为代价能否换来可期的性能优化,毕竟页面中存在太多的渲染层对于GPU而言也是一种不必要的压力,通常情况下,我们会对动画元素采取硬件加速。)

原文地址:https://www.cnblogs.com/lemonib/p/10085915.html

时间: 2024-08-30 15:32:19

去面试之性能问题的相关文章

学生自学Python去面试,月薪为何仅3K?面试官问题解析!

很多人认为Python语言简单(实际真的那么简单吗?语法简洁不代表容易学),都去自学Python编程语言,然后寻思出去找一份好的工作,其中学生居多.所以这套面试题我随机例举了几个罢了,文末有提示. 一般面试官见到初入社会的学生,他不会问你多少年的开发经验,最多他只会提你是自学还是系统学,熟悉哪些框架?所提的面试题也会相对简单,然而薪资方面也会大幅度降低,这是人之常情. 大型企业的面试题总会出一些新花样,来表示它们的与众不同之处.似是而非,感觉很容易,实际上你确实答不出来!这就是他们想要的效果,他

《百面机器学习算法工程师带你去面试》PDF版+epub版

下载:https://pan.baidu.com/s/1DgV5JxWZgyQBKd7wkMXmWw <百面机器学习算法工程师带你去面试>高清PDF版,392页,带书签目录,文字可以复制: <百面机器学习算法工程师带你去面试>高清epub版,101页,带书签目录,文字可以复制. 本书作为AI类书籍知识点非常全面,但在一些章节比如分类模型.神经网络.强化学习等,领域内知识体系展开的不是很详细深入.其实作为面试类书籍,读的时候应该以一种查漏补缺的方式去看,看到一个问题想一想自己这个知识

我去面试没带简历,你让我走人?

前言大家好,我是程序员大宇. 在职场上,很多人在面试时都会很紧张,最主要是把面试看得太重了,又或者是面试官给自己的压力太大了.但其实越是有水平的HR,他们反而越好说话,即使对求职者不太满意,也会很客气的和他们交流.所以说从面试官的素质,可以看出来公司的整体水平还是有道理的. 1.今天的话题:面试的时候,你要不要带简历?希望能够认真读完! 这个问题是之前有一位读者问过:大宇哥,我明天要去一家公司面试,我要不要带简历?还有做笔试题要不要自己带笔? 这位同学是第一次参加社招面试,没有什么经验之谈,简单

一个四五年的Java开发程序员,该准备哪些去面试?

上周面试了一周,感触颇深,总结一下. 面试了公司大概有阿里,携程,爱奇艺,唯品会,途牛,bilibili,大众点评,阿里和爱奇艺是电话面试,其他现场面试. 首先,五年左右,应该算高级开发工程师,大部分面试不用去做题,背string和stringbuilder区别的,几乎都是底层和远离,分布式等.虽然一个程序员,在工作中大部分还是写流水代码,增删查改. 1 JVM 这个大公司基本都会问,内存模型,GC,jvm都有哪些区域?栈桢存了什么? 常用垃圾回收器哪些,特点?jvm性能调优,这些从周志明的jv

不想搞Java了,4年经验去面试10分钟结束,现在Java面试为何这么难

作为一名优秀的程序员,技术面试都是不可避免的一个环节,一般技术面试官都会通过自己的方式去考察程序员的技术功底与基础理论知识. 如果你参加过一些大厂面试,肯定会遇到一些这样的问题: 1.看你项目都用的框架,熟悉Spring.mybatis等框架实现原理吗? 2. 看你上面有接触过消息中间件,负载均衡.RPC框架等技术吗,MySQL分库分表有做过吗? 3. 分布式架构设计,Redis分布式锁呢? 是不是看上去很难,是不是和自己准备的"题库"中的问题不一样?不知道从何处下手?如果你有这种感觉

记作为前端开发人员跑去面试C#.NET

先谈结果,"秦总",与我面试讨论一个半小时,十分感动,然后拒绝了我. 本月17日16时许,收到邀请,于18日9时到司面试,虽如今仅深入前端领域,皆因曾有1年ASP.NET(C#)的工作经历,亦欣然前往. 在会议室简单问候过后,无笔试题目,直接向面试官秦总谈及个人履历,1年技术向工作经验(Angular+C#.NET),及近期转型于Web前端开发行动,"一晚时间"对面试公司首页进行"复制"和创新,展现个人能力.秦总对此欣然,介绍公司现有建关务系统V

去面试吧!CSS

display: none; 与 visibility: hidden; 的区别 修改常规流中元素的 display 通常会造成文档重排.修改 visibility 属性只会造成本元素的重绘 none:完全从渲染树中消失,不占据任何空间 visibility:占空间不可见,可继承 常用 hack IE 条件注释 选择器 hack 属性 hack CSS 有哪些继承属性 关于文字排版的属性如: font word-break letter-spacing text-align text-rende

去面试吧网络问题

http 响应常见状态码 200成功 304未修改,表示客户机缓存的版本是最新的, 客户机应该继续使用它 301永久重定向 302临时重定向 403 禁止,服务器理解客户端请求, 但拒绝处理它, 通常用于服务器上文件或目录的权限设置所致 404找不到 500服务器错误 查找域名对应 IP 地址 DNS 的作用就是通过域名查询到具体的 IP.DNS 是基于 UDP 做的查询. DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存. 操作系统会首先在本地缓存中查询 没有的话会去系统配

如果你去面试-C语言中static的作用

C 语言中 static的作用有三条 1,隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性. 如果加了static,就会对其它源文件隐藏. 利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突.Static可以用作函数和变量的前缀,对于函数来讲,static的作用仅限于隐藏,而对于变量,static还有下面两个作用. 2,static的第二个作用是保持变量内容的持久. 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一