web前端工程师通过面试不是件容易的事,作为候选人,通常需要在规定的时间内展示自己能做些什么。作为一名面试官,同样难以在这么短的时间内评估候选人是否适合。对于面试来说,并不存在一刀切的方法,面试官问的问题通常会有一个范围,但除此之外,他们可以自行决定要问哪些其他问题。
在实际的面试中,你可能需要使用 JavaScript、CSS 和 HTML 来编写代码。在你的面试期间,你可能需要实现 UI、构建窗口小部件或使用 Lodash 和 Underscore.js 这样的库编写常用的实用程序函数。例如:构建常见的 Web 应用程序的布局和交互,例如类似 Netflix 网站那样的。实现小部件,如日期选择器、轮播或电子商务网站购物车。写一个类似 debounce 或深度 clone 对象的函数。
说到库,我看到很多人经常犯的另一个错误是他们需要完全依赖较新的框架来解决面试问题。你可能会想,如果我可以在生产环境中使用 jQuery、React、Angular 等,那为什么就不能在面试中使用它们呢?技术、框架和库会随着时间的推移而发生变化——我更感兴趣的是你是否了解前端开发的底层原理,而不是依赖更高层次的抽象。如果你不能在没有它们的情况下回答面试问题,我希望你至少可以彻底解释和推测这些库背后的原理。总的来说,大部分的面试都涉及实际的编码。web前端开发面试都喜欢问什么
你应该知道如何在页面上布局元素,如何使用子元素或直接后代选择器来定位元素,以及什么时候该用类、什么时候该用 ID。布局——安排彼此相邻的元素的位置,以及如何将元素布置成两列或三列;响应式设计——根据浏览器宽度大小更改元素的尺寸;自适应设计——根据特定断点更改元素的尺寸;特异性——如何计算选择器的特异性,以及级联如何影响属性;适当的命名空间和类命名。
知道哪些 HTML 标签能代表你正在显示的内容以及相关属性,应该掌握手工知识。语义标记;标记属性,例如 disabled、async、defer 以及何时使用 data-*;知道如何声明 doctype(大多数人不是每天都会写新页面,所以可能会忘了这个)以及可以使用哪些元标签;可访问性问题,例如,确保输入复选框具有更大的响应区域(使用标签“for”)。另外还有 role=“button”、role=“presentation”,等等。