来自面试初级前端工程师的技巧
来自初级前端开发人员面试官的建议
来自初级前端开发人员面试官的建议
为了更好地完成我目前的工作,我一直在面试初级前端开发人员。我还设计了一个面试前需要考生完成的技术测试。
我会通读代码,检查代码库,试用应用,然后决定候选人是否合适。之后的面试中,我通常会进一步了解候选人,让他们有机会展示他们认为合适的、在之前的面试或技术测试中没有展现出来的特质。
以下是我给那些想要获得初级前端开发人员职位的人提供的一些建议。
正确使用 git
在技术测试中,尽量遵循一些标准,比如 gitflow。不需要太复杂,一些开发分支,以及带有“hotfix”或“feature”之类的前缀的提交就足够了。只是不要把整个应用都写进一个提交里就完事了。
这表明您了解 git 的基础知识,并且您正在尝试保持您的 repo 整洁,这非常重要。
进行小规模的提交/拉取请求
小型提交和拉取请求很容易处理和隔离。我总是说,我宁愿有 5 个 PR,每个 PR 只修复一个功能/错误,也不愿有 1 个包含 5 个功能/错误修复的大型 PR。
如果出现问题,更容易回滚,更容易管理,也更容易纠正和反馈 PR。所以,PR 要小,提交要清晰。
学习关注点分离
我发现一个经常犯的错误是将 API 访问逻辑直接放在组件中。现在你无需完美地构建技术测试,只需将所有内容放在合适的位置即可。只需几个文件来处理组件使用的数据访问逻辑就足够了。
尝试编写语义 HTML
编写语义化 HTML 表明你已经完成了 HTML 方面的功课。一些初级开发人员跳过了正确的 HTML 学习,直接跳到 JS 或 React/Vue。创建可扩展的组件库依赖于编写清晰简洁的代码。易于阅读的代码不太复杂,也更容易在后期修复。HTML 是前端应用程序的重要组成部分,如果你还没有学习编写语义化 HTML,那么它应该被列入你的学习清单中。
它还有助于提高可访问性和 SEO。
遵循 CSS/SCSS 的模式
我的意思是,不要只是给 div 添加一个 class,然后给它填充样式。请仔细考虑一下。
这会让我看到你也完成了 CSS 方面的功课。你可以使用像 Bootstrap 或 Tailwind 这样的实用类框架。你也可以使用 BEM。你可以只编写测试所需的样式,但使用实用类。
去谷歌搜索一下,试试看。可惜这里没有 100% 正确的答案 😅
我个人不喜欢实用程序类,因为它会使 HTML 变得臃肿,但我相信它们对于创建可扩展的 CSS 代码库非常有用。
不要重复代码
如果您发现自己padding: 1rem;
在应用程序中写了 15 次重复代码。
如果你发现自己在写作
<div class="actions">
<button>Cancel</button>
<button class="primary-btn">Submit</button>
</div>
这也是重复代码。
尝试找到重复代码的地方并创建组件、可重用类或实用程序 JS 函数,这样您就不必重复代码。
写一些文档
谷歌“如何编写好的文档”或“如何编写好的自述文件”。
阅读您真正喜欢的文档,看看他们在文档中添加了什么内容,他们在谈论什么,他们回答了哪些问题,他们如何构建文档?
掌握这些基础知识对编写文档大有裨益。它能让那些审查你的技术测试的工程师觉得你很优秀。
学习一些基本的设计技能
如果你不太擅长设计,并且觉得你的 UI 有点丑(我们都是这种情况)。我建议你阅读一些关于设计的文章来提升你的技能。市面上有很多视频、文章、书籍和工具。
为什么这很重要?通常没有设计师会处理这些事情吗?
是的,问得好。但设计师也会犯错。很高兴知道那些构建UI的人也对UI设计的基础知识有所了解。
打造一款美观的应用是我们每个人都渴望的,而且它确实能带来巨大的价值。它能让你的产品更容易推广,让人们更想使用你的产品。如果你能在这方面提供帮助,就能为你的团队带来额外的价值。快去展示他们的设计技能吧,兄弟们。
正确使用 package.json
我总是检查项目中的 package.json 文件,看看哪些依赖项正在被使用。此外,我还会检查不同的开发依赖项,以了解正在使用的是什么技术栈,比如 rollup、vite、webpack……我只是想了解一下。安装依赖项时,请确保将它们添加到正确的位置。
测试:添加测试是个好主意,但不要太过疯狂
是的,测试很重要,我很高兴你写了一些测试。但你不需要 80% 的覆盖率。如果你写了 2/3 的单元测试就足够了。我不希望你花 8 个小时做技术测试。
确保你的测试确实有用且有效,并且没有误报。我推荐你读读 Ken C. Dodds 的书:
https://kentcdodds.com/blog/?q=testing
准备一些问题
表现出兴趣,表明您也在尝试了解该公司是否适合您。
我在这里列出了我经常问的问题:
这篇文章很有观点
你会发现有些面试官不像我这么灵活。你会发现有些面试官想用初级开发人员的价钱招聘高级开发人员(这种情况很多,要小心)。
你还会发现有些面试官只是想了解你,问你一些关于 JS 的问题,然后就给你提供工作。
你的职业生涯中可能会经历数百次面试,所以即使有一两次面试失败也不要紧张。尤其是第一次面试。把面试当成一个学习的机会。多提问。
你不必成为我列出的任何事物的专家
精通这些技能,甚至只是对它们有基本的了解,就能让你成为前端工作的理想人选。我曾经雇佣过一些不了解这些技能的人。但当我遇到一个了解这些技能的候选人,而另一个不了解的时候……选择通常就很明确了。
PD:确保公司适合你,就像公司试图了解你是否适合他们一样。
请在Twitter上关注我了解更多信息 :)
另请查看我最近发布的新闻通讯:从零到前端