关于面试前端工程师
阅读评论
Nicholas C. Zakas 对 Philip Walton 的文章 的后续。
前端工程师当然是专家。 我们关心对其他人来说似乎很疯狂的事情:理解数十种浏览器之间的差异、像素与 ems、PNG 与 JPEG、JavaScript API 的兼容性、如何构建 DOM 来表示 UI 等等。
我在前端工程师中寻找的东西与传统的计算机科学概念几乎无关。
来自网络的我们正在阅读并且有一些想法的东西。 有我们应该知道的链接吗? 告诉我们!
Nicholas C. Zakas 对 Philip Walton 的文章 的后续。
前端工程师当然是专家。 我们关心对其他人来说似乎很疯狂的事情:理解数十种浏览器之间的差异、像素与 ems、PNG 与 JPEG、JavaScript API 的兼容性、如何构建 DOM 来表示 UI 等等。
我在前端工程师中寻找的东西与传统的计算机科学概念几乎无关。
John Allsopp 写了一些关于 CSS 诞生历史的精彩内容。
Donnie Berkholz 发现了一个有趣的统计数据:GitHub 将其归类为“CSS”(其中 CSS 比任何其他语言都多)的仓库数量在 2013 年增长了 **13.6 倍**。 翻倍就已经很疯狂了,这简直是另外一回事。 假设这不是 GitHub 对这类事物的分类错误。
我想在这里发表一下我的看法…
calc()
是你可以做一些在浏览器介入之前无法计算的事情(例如 100% - 20px
)。 应该更清楚的是,这无法将 calc()
预处理为在不支持它的浏览器中工作。Mike Fortress 通过一个涉及 Sprout 上图表的特定的例子解释了使用 <svg>
进行动画。
有趣的是,SVG 具有像渐变、滤镜和动画这样的 CSS 中具有的所有这些很棒的功能,但语法却大不相同。 我认为如果有一种转换器可以让我们使用 CSS 选择器定位 SVG 部分,应用像渐变、滤镜和动画之类的东西,然后将其转换为真正有效的 SVG 格式,那将非常酷。 或者,也许我只是懒惰。
Juriy Zaytsev 使用他的库 Fabric.js 对 <canvas>
上的自由绘图进行了深入的探讨。
直接通过 DevTools 模拟移动设备,模拟触摸事件,模拟屏幕尺寸和欺骗用户代理。
通过 USB 连接移动设备,并在实际的移动浏览器上使用 Chrome DevTools。 使用端口转发将本地站点推送到移动设备。
这真是太棒了,不仅因为它功能强大,而且因为它易于使用。
有时,悬停效果会导致重绘和重绘等操作,这些操作需要时间并降低性能。 当您向下滚动页面时,您可能会无意中触发在您滚动时毫无意义的悬停事件。 通过关闭它们(通过 CSS 的 pointer-events
)是回收一些滚动性能的巧妙方法。