跳到主要内容位置
Hello! 我是峰华

在这里,有B站视频配套文本、系统课程、技术博客、前端资源导航、以及UP主的想法和生活点滴。致力于帮助你以最直观、最快速的方式学会前端开发,并希望我的个人经历对你有所启发。

QQ 1 群:644722908
QQ 2 群:1004912565

去B站关注 0.0 万

最新博客 

面试没通过,又一次,我好菜呀...

面试

是不是每次面试没通过都会有这样的感觉?作为一名程序员,每次面试的时候都觉得准备不充分,面试资料多的看不完,实战经验也不够,即使自认为准备的很充分了,最后还是栽了,到底是因为自己菜,还是自己菜,还是自己菜呢?要回答这个问题,我们得先知道面试到底在面什么。

面试在面什么?#

我们好多小伙伴总觉得面试就跟高考一样,有着严格的评分标准和分数线,谁的分高谁就能进去,但事实上,面试是通过交谈来互相了解对方的一种形式,更多的时候是考验的一个人的沟通能力,如果你能让面试官感觉聊的很投机,那么会有相当大的概率通过面试。 对于技术方面,不同的公司有不同的侧重点,大厂看重原理和算法,其它公司看中技术的熟悉程度,也就是项目经验。技术方面的问题是最棘手的,你可能认为面试通过的人,技术一定很牛,这个我以身边进谷歌、Facebook、亚马逊等国外大厂的朋友的经验证明,这是绝对错误的。技术关是最没有技术含量的考验。通常,公司并不知道一个面试者的技术水平,所以才会通过笔试和前几轮的面试进行考察,考察的问题基本都是类似的、可以举一反三的、是能专门进行准备的。简而言之,就是谁下功夫准备面试了,谁通过的概率就大很多,例如一个刷了 leetcode 500 道题 3 遍的,一定比刷了 300 道题 1 遍的通过率高。

Web性能优化:使用图片懒加载推迟屏幕外图片的加载

在使用 chrome 的 lighthouse 对网站进行测速之后,发现有一条优化提示:推迟屏幕外的图片加载。之前有看到过要实现这样的效果需要使用 lazy loading,图片懒加载,但是需要使用 js 的方式来实现,由于本人十分懒惰,不想用太复杂的代码,于是在网上搜索了一番,发现 <img>  标签原生支持懒加载。

为什么要懒加载#

浏览器在加载图片的时候本身是 async 异步的,不会阻塞浏览器的加载进程,但是屏幕外的图片加载仍然会消耗带宽,这样在带宽有限的情况下,会影响重要组件的加载,例如 CSS、JavaScript 等,进而拖慢页面的加载。

实现前端网页 WebRTC 视频通话以及换脸特效

因为疫情的原因,线上视频会议软件异军突起,成为了在家办公的主要沟通渠道。而最近抖音上“蚂蚁呀嘿”恶搞换脸的小视频也突然火了起来,那我就想了想能不能在视频会议的时候换张脸活跃下气氛?在 Github 上一番搜寻之后发现还真有办法,有一个开源的 Python 人工智能换脸的库,那正好趁着这个机会研究一下前端 WebRTC 实现视频通话功能,外加换脸操作。先看一下效果吧:

Web 性能优化:使用 CSS font-display 控制字体加载和替换

在编写网站的时候,或多或少都会用到一些网络上的字体,CSS 3 中虽然加入了对 Web Fonts(网络字体)的支持,但是浏览器对它们的加载和默认处理方式会极大的影响网站的性能和用户体验。例如默认情况下,在 Web Fonts 加载时,使用该字体的地方会显示空白,直到字体下载完成之后才会显示,这时通过改变 CSS 中的 font-display 属性,就可以避免这个问题。

JavaScript 游戏开发 - 物理碰撞引擎实现

年前我看到合成大西瓜小游戏火了,想到之前从来没有研究过游戏方面的开发,这次就想趁着这个机会看看 JavaScript 游戏开发,从原生角度上如何实现游戏里的物理特性,例如运动、碰撞。虽然之前研究过物理相关的动画库,但是我打算试试不用框架编写一个简单的 JavaScript 物理引擎,实现小球的碰撞效果。

为什么不用现成的游戏库呢?因为我觉得在了解底层的实现原理之后,才能更有效的理解框架上的概念和使用方法,在解决 BUG 的时候能够更有效率,同时对自己的编码技能也是一种提升。在对 JavaScript 物理引擎的研究过程中,发现写代码是次要的,最主要的是理解相关的物理、数学公式和概念,虽然我是理科生,但是数学和物理从来不是我的强项,我不是把知识还给老师了,而是压根就没掌握过 ^o^。过年期间花了有小半个月的时间在学习物理知识,现在仍然对某些概念和推导过程没有太大的自信,不过最后还算是做出了一个简单的、比较满意的结果,见下图。

来自未来世界的机能服:科技带来便利(实测)

作为一名对时尚,尤其是衣服也非常感兴趣的前端工程师,我从来没有停止过对既时尚又实用还舒适的衣服的追求。在众人印象里,程序员就是千篇一律的格式衫加双肩包,典型的刻板印象,但其实我们程序员还是非常注重自身形象的。说起双肩包,还不是因为程序员外出经常需要带电脑,还要带钥匙、钱包、数据线、充电宝之类的杂物,总不能用手拿着,身上的口袋也不够。由于双肩包体积过大,在人多的地方会影响正常行走,如果碰上下雨,且双肩包不防水的话,那里边的东西就全遭殃了。

从 0 仿微信 8.0 动态表情实现过程

微信 8.0 更新的一大特色就是支持动画表情,如果发送的消息只有一个内置的表情图标,这个表情会有一段简单的动画,一些特殊的表情还有全屏特效,例如烟花表情有全屏放烟花的特效,炸弹表情有爆炸动画并且消息和头像也会随之震动。本着作为前端工程师的职业精神,我就想看看能不能实现一个类似的特效。折腾许久之后,做出来的效果如下:

回顾2020,程序员转型的起步

对未来的焦虑应该是每个程序员都能体会到的吧,面对招聘的年龄门槛、工作与生活的平衡、不良的生活习惯,以后的路要怎么走充满了不确定性。但是又因为程序员是技术工种,自己所掌握的技能可以从接外包、作产品、写博客、录视频等多方面进行输出,看似又不缺出路,只是怀疑能不能做好,所以一边担心自己能不能转型或改行,一边又极其期望逃离没有出头之日的 996 ,这是一个难题。

整理了5个JavaScript怪异行为及其原因

如果你用 JavaScript 写过项目或者参加过面试,那一定遇到过不少令人匪夷所思的问题。JavaScript 早期的规范不统一,也没有严格的标准,再加上它的语法灵活多样,有些看起来就不正确的代码却能正常执行,一些看起来符合逻辑的代码,运行结果却相差十万八千里。这些问题在日常开发中经常会导致 BUG,更重要的是,很多面试官会把它们拿出来当考验咱们 JS 工程师的能力。那么这篇文章就总结了 5 个 JavaScript 比较坑的问题,以及它们出现的原因和解决方法。

1024:程序员,你的身体还好吗?

又到一年一度的 10 月 24 日程序员节了,按百度百科的定义,这一天的意义是拒绝加班:

百度百科:1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。

然而反观现实中程序员的工作与生活,这一天的意义真的达到了吗?从几何时,程序员成了加班、996 的代名词,从以前业务做不完偶尔加班变成了现在的常态,不得不说一句俗话:这是时代的进步还是倒退?1024 这个本该关注程序员权益的问题,非但没带来任何进步,反而又像双十一成了电商推销电子产品的噱头。试问,有多少人真正关心过程序员的身心健康?鉴于此,本文将从生理和心理两方面来分析程序员职业风险,让更多人了解程序员所面临的健康问题。因为本人并非医疗专家,所以文中所提供的建议应只作为参考,如果身体有任何异常情况请及时就医。另外,如果你热爱你的工作并且充满了干劲,那么这篇文章可以不看。