找工作
技术面试可能要求很高,有些还有非常具体的要求。首先找到合适的工作来申请可能就很具挑战性!本文提供了一些技巧和资源,以帮助您完成从寻找潜在工作、申请到面试成功的整个过程。下面概述的过程可能不完全适用于每个人——您可能会发现稍微不同的方法或顺序更适合您——但大多数人会觉得它很有用。
注意: 您现在甚至可能不想考虑您想要什么工作;您可能只想专注于学习一些代码。这没关系;您可以在适当的时候随时返回阅读本文。
预备知识 | N/A |
---|---|
学习成果 |
|
决定您想要什么类型的工作
这听起来几乎不言而喻,但在您进入就业市场并开始寻找工作之前,您应该仔细考虑您想要什么类型的工作。如果您不这样做,您最终可能会采取一种效果不佳的“撒网式”方法——申请各种各样的工作,但却让自己看起来不是其中任何一个的理想候选人。
如果您正在阅读本网站,您可能对某种 Web 开发工作感兴趣。这很好,但请更具体地思考,并在以下类别中写下您想要的一些想法
- 确切的角色类型:您更想成为一名
- Web 设计师:使用 HTML、CSS 和图形软件包设计用户界面。
- JS 开发人员:使用 JavaScript 和框架实现功能。
- 开发者关系或销售工程师:与客户交流,让他们对技术感到兴奋,帮助他们解决问题并开发解决方案。
- 技术文档撰稿人:编写文档来解释技术的工作原理和使用方法。
- 更像一名全能开发人员。
- 其他?
- 雇主类型:您想为谁工作
- 自己,作为一名合同工,从事许多不同的项目。
- 一家设计/开发机构,同样从事许多不同的项目。
- 一家公司或企业,作为一名内部开发人员。
- 一家非营利组织或慈善机构。
- 行业:您想从事
- 技术行业。
- 健康行业。
- 金融行业。
- 慈善行业。
- 音乐行业。
- etc.
- 工作地点:您想在哪里工作
- 全职在家办公。
- 在办公室。
- 采用某种混合模式。
- 一直呆在同一个地方,还是在不同的地区或国家之间移动?
如果您不确定这些问题的答案,那没关系。向您的同事、朋友、老师或导师询问他们感兴趣的内容,以获取一些灵感,并环顾行业以了解有哪些选择。实际上,你们中的许多人可能会从看到一个有趣的招聘广告或公司开始,然后弄清楚它如何适应上述类别以及如何向该公司“推销自己”。
推销自己
为了找到工作,您必须学会推销自己,这意味着让自己看起来像您想要的工作的优秀候选人。这涉及几个不同的步骤,如下面的部分所述。
培养雇主所寻求的品质
总的来说,您应该了解招聘经理在候选人身上寻找的特质,并据此做好准备。显然,您需要技术技能和其他能力来直接完成手头的任务。然而,公司也在寻找那些间接帮助您完成工作的“软技能”;它们还能让员工在工作中生活得更轻松、更快乐。我们已经在协作和团队合作文章中提到过其中一些。
总而言之,招聘经理会寻找
- 他们能和睦相处的人。
- 积极的态度,尊重他人、善解人意、建设性强的人。
- 思想开放、能与多元化团队和不同观点良好合作的个人。
- 当决定不合己意时,能优雅接受并为了大局而配合的人。
- 一个良好的沟通者和关系建立者。
- 一个坚韧、专注、具有良好解决问题能力的个人。
思考这些描述是否符合您。这可能是一个有用的方法来识别您的一些弱点,这意味着您可以采取措施来改进它们。例如,如果您不擅长沟通或解决问题,可以查阅一些指南或课程来帮助您提高这些技能。即使是与朋友谈论您的工作并描述您的项目这样非正式的事情,也会帮助您更好地沟通。
创建简历/履历
您应该创建一份简历/履历,它能向雇主传达您的价值。网络上有很多指南会教您如何撰写简历,但简而言之,它们通常应包含以下内容
- 您的联系方式:包括您的姓名、邮政地址、电话号码、电子邮件,以及也许一种对您很重要且适合专业交流的额外联系方式。建议提供LinkedIn 个人资料。
- 一份总结/个人陈述,用一句话描述您。这写起来可能真的很难——它需要听起来自信但不傲慢,积极但现实。一个好的策略是保持简短,并专注于一些事实、您相信什么以及您处于什么水平。例如,一名初级 Web 开发人员的良好个人陈述可能如下:“Bob Smith 是一名拥有两年经验的 Web 开发人员,对语义、可访问性和包容性设计充满热情。”
- 工作经历列表,每项包括
- 指定您工作时间的日期范围——例如 2023 年 6 月至 2024 年 10 月,如果您仍在那里工作,则为 2023 年 6 月至今。
- 公司和职位。
- 一段简短的段落或项目符号列表,描述您在该工作/实习等方面所做的事情。不要描述所有内容,只描述您认为对推销自己有用的经验。
- 一份教育总结,列出您拥有的不同学历、获得学历的学校以及您取得的成绩。包括学位和其他高等教育、与您的领域直接相关的证书和成就(例如,Web 开发认证或暑期学校),以及雇主经常寻找的普通学校学历(例如英语、其他语言和数学)。
- 包含支持信息的章节,例如
- 您的作品集链接。
- 对不符合上述部分的任何其他相关经验的描述。
- 个人兴趣——大多数雇主喜欢他们的员工全面发展,工作之外也有生活,而不仅仅是公司机器人——无论是演奏音乐、看电影还是在动物收容所做志愿者。这也有助于在面试中创造谈话点。
以下是一些撰写简历/履历的通用技巧
- 保持简短和简洁:理想情况下,您希望它能适合两页 A4/信纸。招聘经理不会费心阅读一篇冗长的文章来描述您的技能。
- 使用专业语言:不要使用口语或俚语——您需要听起来对您的申请很认真。
- 仔细检查您的写作是否有拼写和语法错误:通过 Grammarly 等服务进行检查,以确保您没有遗漏任何错误并获得进一步改进的提示。招聘经理通常会丢弃包含错别字的简历/履历——这表明缺乏专业性和对细节的关注。
- 不一定在简历/履历中包含所有工作经历:如果您有很多经验,只包含最重要的或最近的重要经历。您希望保持简短,但您也不希望它看起来您的工作经历中有任何可疑的空白,招聘经理可能会就此向您提问。将您的完整经历列表放在您的 LinkedIn 个人资料上,而简历/履历中只包含摘要。
- 包括软技能:如培养雇主寻求的品质部分所述,软技能很重要,值得在您的简历/履历中提及。您应该考虑哪些是相关的——雇主对描述您有多好的长篇大论不感兴趣,但他们会想知道您是一名优秀的团队合作者,在压力下保持冷静,并具备解决问题的能力。
- 推荐信应要求提供:雇主总是需要推荐信,以便从他人那里获得对您和您的技能的第二意见。这最好是您曾与之为伍并保持良好关系的人,例如以前的经理或老师。如果您不确定您的推荐人是谁,只需在简历/履历底部写上“推荐信应要求提供”。
- 保持您的简历/履历最新:每年检查一次,看是否有新内容需要添加,或者是否有您想删除的内容。
注意: 您应该将您的简历/履历视为一份通用文档,然后根据您申请的每个工作,在最适合该工作的经验和技能方面进行定制。
积累经验
当您开始找工作时,您会发现自己陷入了一个恶性循环——您需要经验才能找到工作,但您也需要找到工作才能获得经验。但是,不要绝望——还有其他方法可以获得经验。这里有一些想法
创建作品集
一旦您获得了一些值得谈论的相关经验,下一步就是整理一个作品集,您可以将其包含在您的简历/履历中并展示给雇主。这里的核心思想是不要告诉我你能做什么——展示给我看你能做什么。
这应包括
- 一个精心呈现的着陆页来总结所有内容。
- 您曾参与的网站、应用程序和其他相关产品的列表。对于每个项目,请包含标题、缩略图和项目描述以及您在其中所做的工作。如果您想详细说明项目,可以为每个项目创建单独的页面!包含用于构建项目的技术列表,如果可能,还可以包含源代码链接(并非所有源代码都是开源的)。
- 您的个人项目和实验的源代码和实时演示链接。每个项目都应包含对其功能和所用技术的描述。
- 博客文章、写作样本、会议演讲以及您认为有助于展示您技能的任何其他资料的链接。
- 您对开源项目的贡献列表,说明贡献内容、如何改进项目以及涉及的技术。您应该包含实际更改的链接(例如,源代码、已发布的文档)以及证明您完成工作的更改日志链接(例如,GitHub 拉取请求)。
您的作品集应包含您最优秀作品的亮点。您希望它易于访问和浏览。每个部分只包含几个重要的项目;否则,招聘经理会感到无聊并跳过。简洁明了的设计有助于提升体验,而复杂的设计可能会降低可读性。
关于如何实际发布您的作品集
创建 LinkedIn 个人资料
领英 (LinkedIn) 是世界上最受欢迎的网站之一,供人们寻找工作和雇主寻找员工。它是托管您在线工作经验和技能的绝佳场所;它类似于您的简历/履历。
LinkedIn 拥有许多有用的优势,可让您的个人资料与您的简历/履历协同工作。您可以
- 在上面列出您的全部经验和技能,而不会让您的个人资料看起来太长。
- 让人们发布推荐信。
- 链接到您所有过去的雇主、教育机构等的个人资料。
- 在上面发表帖子并将其用作博客。
- 积极搜索和申请工作,并让它根据您的技能和兴趣向您发送新的工作更新。
- 与联系人建立网络,您可以与他们分享技能和线索,最终这将帮助您找到工作。
- 参加培训课程。
出于这些原因,您应该创建一个个人资料。让它看起来好,听起来专业。创建良好的 LinkedIn 个人资料提供了一些有用的提示。
申请工作
现在让我们看看申请工作的过程。
求职
求职有不同的方法,通常结合使用效果最好
- 注册发布招聘信息的网站,例如 LinkedIn(您所在地区也会有特定网站),并选择接收定期可用的招聘信息摘要。
- 访问您的社区网络,寻找招聘广告,并询问联系人他们是否知道您可能感兴趣的任何工作。
- 研究您想工作的公司,访问他们的招聘页面,看看有什么职位空缺。
- 参加交流活动和招聘会以结识潜在雇主。
您之前创建的“决定您想要什么类型的工作”标准应该有助于缩小您想工作的公司和您想申请的工作类型列表。
申请前
在您开始申请工作之前,可以采取一些有用的步骤进行准备
- 检查职位描述,确保它适合您申请。例如,如果您住在英国且不想搬迁,您就不想浪费时间申请一份需要全职在加州办公室工作的职位。如果您只学习了 JavaScript 3 个月,您也不会有经验来担任高级 Web 开发人员的职位。
注意: 如果您不确定是否应该申请某个职位,或者想知道该公司是否有更合适的职位空缺,请查找招聘人员的联系方式并咨询他们。如果不是现在,他们将来也可能是一个有用的联系人。
- 尝试寻找一些在该公司工作的人,例如在您的社区网络或 LinkedIn 上,并与他们开始对话。询问他们在这家公司工作的感觉如何,以及您需要做些什么才能胜任这份工作。如果您不适合这份工作,可以询问他们近期是否有其他更合适的职位。避免联系太多在该公司工作的人,而是选择一两个您认为与您申请的职位最接近的人。
- 对公司进行其他研究——阅读他们的网站/博客,了解他们的历史和目标。花一些时间使用他们的产品并熟悉它们的工作原理——例如,安装他们的软件并使用它来构建演示应用程序,或者编写一个使用他们的 API 来做某事的网站。
注意: 为了加分,尝试找出他们当前正在解决的问题或产品中的一个错误,并提出修复方案,同时提供演示或代码片段。
- 根据此特定工作定制您的简历/履历。查看职位描述,突出显示您最相关的技能和工作经验,同时尽量减少甚至删除不那么相关的项目。此外,以某种方式在您的作品集中突出显示与此工作最相关的演示/示例。例如,您可以将此类代码放在作品集的顶部。
申请工作
申请工作时,请严格按照指示流程操作。每个招聘广告都会有关于如何申请的说明。如果招聘广告更多地是与网络联系人的对话,请准确询问他们如何申请。
最重要的是
- 确保您的申请专业、书写良好,并且不包含任何错别字。如果书写不佳,您不太可能成功。使用 Grammarly 等工具进行检查。
- 不要迟交申请——您必须在截止日期前提交申请!
并非所有工作申请都需要相同的东西;您可能需要
- 在线表格上填写一些详细信息。在将其输入表格字段之前,先在本地(例如,在 VSCode 中)或在线文档(例如,Google Docs 文件)中输入您的答案,以防出现意外情况(例如,浏览器崩溃)导致您丢失工作。这可以为您节省数小时的挫败感;如果您先将其放在其他地方,文本也更容易审阅和获得反馈。
- 上传您的简历/履历。
- 撰写并上传求职信。网络上有很多关于撰写有效求职信的指南,但总的来说,这样的信应该描述您为什么
- 想为公司工作。
- 会很好地融入公司文化。
- 非常适合这份工作。
- 在单独的部分提供您以前工作的一些示例。
持续的过程
一个关键点是,您的求职应该是一个持续的过程,您每天做一点点,并不断朝着您的目标努力。不要只是一股脑儿地发出大量的申请,然后就坐等回复。
您应该跟进您遇到的任何有希望的线索,例如在社区网络或 LinkedIn 上。此外,记录您遇到的人和您申请的公司,以及联系方式和描述。定期跟进您想工作的公司,看看他们有什么职位空缺。如果您因一份工作被拒绝,他们可能现在或将来有其他更适合您的职位。
如果您申请了某公司的工作后没有收到回复,请稍等片刻,然后与他们的招聘人员跟进,看看他们是否有任何反馈,或者是否有其他职位空缺。即使您想工作的公司目前没有发布任何合适的正式工作广告,也请联系他们,看看他们是否正在寻找具有您技能的人。他们可能会给您一些有用的经验,也许是以志愿者职位或自由职业合同的形式。
通过您选择的招聘网站或社区网络继续寻找更多工作。与人们交流有什么可用的。新的机会会不断出现。
如果您很难找到真正想要的全职工作,可能需要采取一些中间步骤
- 有时,一个好的策略是找到一份与您想要的工作相邻的工作。您可能不得不从一个较低级别的职位开始,以获得您真正想要的工作所需的经验,无论是特定技术栈还是您想从事的特定行业。
- 您可能需要做一些自由职业/合同工作来维持生计,同时继续您的求职。这也会给您带来有用的经验,帮助您找到您想要的工作。
为工作面试做准备
如果招聘人员和招聘经理喜欢您的申请,他们会邀请您参加一些面试和其他环节。本节提供了一些准备这些环节的建议。
为任何面试做准备,您都应该做一些普遍的事情
- 找一个整洁、安静的地方进行面试。确保您不会被噪音和喧哗打扰,并且在面试过程中您的周围环境是整洁的。如果您正在与面试官进行视频通话,而您的空间一片混乱,这不会给他们留下好印象。
- 考虑一下您面试时要穿什么。大多数开发人员的工作不要求您穿西装(查看招聘广告是否提及着装要求),但您应该选择一些相对中性和看起来有点得体的衣服。不要穿印有冒犯性标语的 T 恤,也不要穿着睡衣出现。
- 为编码面试做一些准备。
- 积累一些用于基于经验的面试问题的轶事。
- 思考您的优点和缺点,并对您的答案保持现实。当面试官不可避免地问您最大的优点和缺点时,如果您不将自己呈现为完美无缺,您会显得更可信。
- 对您所申请的工作类型(例如,级别、地理区域)的典型薪资范围和其他福利(例如,健康保险或奖金)进行一些研究。这在决定是否接受工作邀请时会很有用。
您还应该针对您申请的每家公司进行一些具体准备
- 正如我们之前提到的,您应该研究公司的历史、目标和产品。
- 从宏观层面了解公司,熟悉其近期新闻。这样做的一个重要原因是,看看他们是否做过任何可能发出危险信号并让您重新考虑在那里工作的事情。
- 了解公司的市场地位以及他们的优点和缺点。
- 研究他们的主要竞争对手是谁。
- 熟悉他们的产品及其工作原理——例如,安装他们的软件并使用它来构建演示应用程序,或者编写一个使用他们的 API 来做某事的网站。如果您能展示一些关于他们情况的良好见解以及您认为如何改进,这将给面试官留下深刻印象。面试官通常会问一些具体问题来测试您对公司及其所在行业的了解。
- 与上述观点相关,思考您会向面试官提出哪些关于公司及其角色的问题。面试官总会在面试结束时问您是否有什么问题,如果您提出的问题比“您今天早餐吃了什么?”更有意义,那将给您留下好印象,并让您听起来深思熟虑且好奇。
- 如果您在公司有联系人(例如,来自您的社区网络),请联系他们并询问这份工作。他们对此有何看法?您需要特别注意什么吗?有什么话应该说或不应该说吗?在面试中提到您认识“电子商务团队的 Bob”(或其他什么)也可能有所帮助。
初步筛选
一旦公司查看了您的申请并认为您听起来“有潜力”,他们可能会首先邀请您进行一次初步电话面试,只与招聘人员或招聘经理进行。这通常是一次简短的面试,旨在评估“文化契合度”(即,您是否能与他们相处融洽),确保他们没有发现任何立即表明您不会是一名好员工的危险信号,并告诉您面试过程的其余部分会是什么样子。
在这个阶段,您应该友好健谈。但不要说太多;自然行事,看看面试官如何引导对话。务必让他们知道您何时方便参加进一步的面试。尽量保持灵活性,并准备好调整您的日程安排以适应他们。
然而,不要自满——您不确定在这个早期阶段他们会抛出什么问题。您应该像对待所有其他阶段一样认真对待初步筛选。
主要面试
通常,面试过程的主体由一次或多次主要面试组成。这些面试在不同的公司之间,其功能和频率都可能大相径庭。
- 您可能只有一次主要面试,但更有可能进行多次面试,以测试您在工作不同方面的能力(例如,实际编码工作、团队合作、工作流程、文档/沟通、冲突解决)。
- 他们可能与一位面试官或多位面试官进行,就不同方面向您提问(即小组面试)。
- 有些面试可能更偏向高层次或探索性(例如,“描述您将如何交付 X 的过程”,或“您认为此解决方案的主要问题是什么?”),有些可能更偏向低层次和深入(例如,“编写一个解决此问题的 JavaScript 程序”)。
基于经验的问题
面试中不可避免地会出现基于经验的问题。这些问题要求您提供轶事,以证明您拥有与工作相关的经验,并且会围绕这些方面展开
- “举一个例子,说明您曾不得不向同事提供关于他们代码的负面反馈的情况。您是如何处理的?”
- “告诉我一次您在一个项目进行到一半时发现您选择的方法行不通的经历。您是如何解决的,采取了哪些步骤?”
- “修复小错误通常很难融入团队的工作流程——通常,这些错误会被忽视并堆积起来。您在过去的团队中是如何处理这个问题的?”
您应该积累一套可以用来回答这些问题的轶事。随着经验的增加,这将变得更容易。
编程面试
有些面试是编程面试,旨在测试您解决编程问题的能力。这些面试可能包括以下内容
- “编写一个 JavaScript 函数,接收输入 x 和 y,并返回 z。”
- “一位同事编写了以下 React 组件,但它有一些 bug。您能找出问题所在并重写它以修复这些问题吗?”
- “查看以下代码,并向我描述它正在做什么。”
- “编写一个算法,生成斐波那契数列的前
n
项,其中n
是一个正数。”
雇主通常更关注您解决问题的方法,而不是最终结果——您如何注释代码,如何处理错误,以及如果您有更多时间可能会做些什么。
您应该研究常见的编程面试问题类型,练习解决它们,并练习解释它们正在做什么。您会在网上找到许多练习编程面试问题的资源。
家庭作业问题
有些公司会给面试候选人布置家庭作业,作为测试其编码能力的替代或补充方式。这通常以某种迷你项目的形式出现,要求您编写与您申请的工作相关的功能。例如,您可能会被要求创建一个独立的演示,该演示使用公司的 JavaScript 库从其 API 中提取数据并填充信息页面。
虽然如果做得好,这是一种合理的测试候选人的方法,但许多人不喜欢布置家庭作业的做法
- 有时它们感觉太像“真实工作”,几乎就像雇主在要求您免费工作。
- 它们的范围可能界定不清,或者期望投入不合理的时间。明确将项目时间限制在四小时内并在单独的面试中处理后续问题的具体范围是合理的,但期望花费一整个周末在一个项目上则不合理,特别是对于有家庭和繁忙生活的人。
- 它们的有效性经常受到质疑,因为它们很难进行确凿的评估。
如果您被要求完成一项家庭作业挑战,请确保工作的范围和时间安排清晰明确,以降低走错方向和浪费时间的风险。
接受录用
如果您通过了面试流程并获得了工作机会,那么恭喜您!尽管您可能很想立即接受录用,但在您这样做之前,有几件事需要牢记
- 确保您获得的薪水与同类工作的典型市场价格相比是合理的。如果显著偏低,您可能需要协商。
- 检查您当前工作(或其他活动)的离职与开始新工作是否兼容。例如,检查您当前雇主要求您工作多长时间的通知期,并确保这与新工作兼容。
- 您还应该告知雇主您工作之外的现有承诺,例如预订的假期。受人尊敬的雇主会配合这些承诺,并协商一个适合您的开始日期。
- 如果您需要搬家/异地工作才能接受新工作,请确保您已做好一切准备,以确保搬家顺利进行。开始一份新工作已经足够紧张,再加上搬家困难会增加额外的压力。
再尝试,再尝试,再尝试
如果您申请了很多工作但尚未收到任何回复,请尽量不要气馁。继续尝试,保持对网络的热情,不断结识新朋友,并不断学习新事物。
如果您进入了面试阶段但被拒绝了,请向招聘人员寻求未被选中的反馈,并利用它来改进未来的申请。
要有耐心。即使是最好的候选人也会在找到心仪的工作之前收到多次求职申请的拒绝。您会成功的。
另见
- 获得聘用,Scrimba 课程合作伙伴
- 技术面试 101:成功通过技术面试的终极指南,learntocodewith.me (2022)
- 30 个技术面试问题及回答技巧,Coursera (2023)
- 如何找到您的第一份开发人员工作,MDN 博客,2024