如何破解您的下一个软件开发人员职业面试:一个可操作的指南

2021-04-11 14:32:19

我最近求职,并经历了50多个面试,并获得了5个优惠。其中3人来自印度的独角兽。在这个竞争激烈的市场中经历了求职阶段,我想分享通过这些访谈获得的所有经验和知识。我肯定我的经历对许多试图找到他们的第一份工作或转向他们的梦想公司的人非常有帮助。

在我们开始之前,我想澄清一下,这不是一个快速提示文章。破解访谈很困难,你需要在这个竞争激烈的市场中获得工作的努力工作和几个月的准备。这是真相。

在本文中,我想帮助您了解您在后端软件开发人员职位访谈和amp中的预期。帮助您为您的准备工作创建一个计划。

现在的软件正在接管世界和#39;在行业内不同领域的良好开发商的巨大需求。它目前是一个趋势的工作市场之一&将停留下一个几十年(至少!)。

虽然有很多人搬进科技的大量人,但它仍然很难找到&雇用良好的软件开发人员。所以,如果你保持自己的熟练和更新的新技术,你' ll永远有所要求。

根据美国劳工统计局(BLS),对软件开发人员的需求预计将增加22%到2029年。为了使这一数字处于观点,所有职业的平均预计增长率约为4%。熟练的软件开发人员赚高于平均工资&在他们的职业生涯中获得很多巨大的机会。

所以,如果你一直在考虑改变你的工作,这就是正确的市场和正确的时间。

您可以是后端开发人员或前端开发人员或Fruestack Developer。所有这些都有平等的技能,薪酬等增长机会。

我是我职业生涯的后端开发人员。所以我'请谈论面试过程,准备,提示等主要用于破解后端开发人员角色。但大多数它适用于所有3个角色。

您经历过的轮数取决于您的体验水平。但是对于下面的后端开发人员角色是您经历的标准轮:

再次在每一轮中评估的方式取决于您申请的角色和您的体验水平。

例如,如果您'对初级开发人员角色进行面试,更优先于在线/机器编码圆,问题解决和amp; LLD轮。尽管HLD&amp中有一些设计知识。 LLD轮,它们对初级开发商并不非常重要。虽然所有轮次+您的领导技能被认为是重要的,如果您申请更高级的角色。

现在让'详细讨论了你在每个圆形和amp中所期望的内容;你如何为他们做好准备。

许多公司希望在将您的候选人提前检查您的编码技能。基本上他们想知道你是否可以为给定的问题代码。在这一轮上,你' LL在网上平台上进行定时测试,如Hackerrank,你' Re期望为给定数量的问题编写代码。有关如何为此回合准备的更多详细信息,请在下一节中讨论。

如今机器编码循环正在获得普及,其中公司希望看到您对现实世界应用的编码技巧。在这个圆形中,你' ll得到一套要求和amp;你有望设计'重新设计&在1.5-2小时内写下代码。

你不需要使用任何数据库来存储&检索数据。刚存储在内存中足以这一轮。

工作解决方案在这一轮中非常重要。即使您的代码很好地结构,并跟随所有OOP&如果你没有工作解决方案,你将大多数可能被拒绝的坚实原则。所以专注于首先完成要求(流量)。而且还要记住所有其他因素。

接近这一轮的最佳方法是花费5-10分钟,思考可能需要的实体,课程,继承,组合。还花了一些时间如何构建代码。

提出工作解决方案很容易。但是遵循所有上述因素的工作解决方案很难。准备这一轮的最佳方法是练习(使用计时器)进行标准问题:

设计模式,如单身图案,适配器图案,策略模式最常用&很高兴知道这一轮。并发是另一种考虑的重要因素。您的代码是否会处理同时请求,而无需任何不一致。

有时,面试官给出了很多要求,这在给定的时间内是不可能完成的。这是预期的,你不应该恐慌。只关注完成一个逐一的要求。

完成解决方案后,将讨论大约30分钟才能完成您的代码。面试官可以提出更多关于代码的不同部分如何提高的问题。所以,如果你知道你可以做得更好,这是讨论它们的正确时间。

大多数公司都喜欢询问算法&数据结构疑问您解决问题的能力。这不是检查候选人是否好的理想方式,但这是我们现在在行业中的最佳工具。

在发送工作申请之前,大多数人准备这一轮或两个月。流行平台练习这一轮是:Leetcode,Hackerrank,Codechef,Codewars,Spoj,Codinggame,Coderbyte等。我个人使用LeetCode并喜欢问题的质量&论坛讨论。刚选择一个平台&坚持下去。

有些人在这一轮练习期间非常沮丧。主要是因为他们'即使在解决了很多问题之后,还无法弄清楚解决方案。

练习这一轮的最佳方法是为每一天保持2-3个问题的目标。每个问题花费大约15 - 30分钟。如果您可以弄清楚最佳的解决方案,&#39是令人敬畏的!但如果可以' t然后尝试真正了解解决方案。经过一段时间,您' ll开始看模式,您可以将与其他类似问题的模式应用相同。当你认识你的时候,'在正确的轨道上。

我在撰写本文时有6年多年的经验。尽管我不是最近毕业的我'永远不要在日常工作中使用大部分这些概念,我仍然预计在这一轮中提出最佳的解决方案。

在我最近的求职期间,我注意到的一件事是,所要求的问题的难度水平低于我的水平。我知道我的一些同龄人有2 - 3年的总体经验,并在这轮探讨了更复杂的问题。但你再也不会知道了。你应该期待最糟糕的&尽管您的体验级别,请准备所有可能的主题。

系统设计是任何软件开发人员的重要技能。当您在您的职业生涯中获得更多经验,您希望设计具有强大的复杂系统,容错,分布式&高度可扩展。

由于缺乏建立大规模系统的经验,很多工程师都与这一轮斗争。请记住,系统设计轮次开放结束&没有一种正确的建设系统的权利。面试可以根据讨论和面试官希望您覆盖的领域进行任何方向。对于同一问题,您可能对不同的面试官有不同的对话。

当然,您不能在Whatsapp中建立一个复杂的系统,即在Whatsapp在Whatsapp的顶级工程师花了多年时间来设计,构建和amp;规模。本轮的主要焦点是看看如何范围的要求和amp;为手头的有限要求设计您的解决方案(高级&在低级)。许多面试官故意保持问题声明开放结束。

提出很多问题来澄清要求和amp;设置讨论的范围。

功能要求是采访者希望您设计系统的用例。

本轮主要检查您的建筑师&amp的能力;为给定的要求设计高级组件。

例如,鉴于设计聊天服务像WhatsApp这样的问题语句,您需要提出所需的不同微服务,Pub-Sub机制(如果需要),队列,数据库,缓存等。面试官将提出问题数据如何流过设计,容错,重试机制等的不同微型服务等。您还可以预期围绕非功能要求的问题,如可扩展性,数据一致性,并发等。

构建分布式可扩展系统很难。您需要在举办架构时思考不同的场景。

就像任何其他回合一样,你也应该为HLD循环做好准备。这里的课程与我'一个最好的课程在那里做准备这一轮:从教育的系统设计面试中掏出来。

本轮主要侧重于您设计HLD低级组件的能力。给出问题陈述,您应该提出具有不同实体的设计,类&属性,继承,组成,设计模式,数据库,表&架构等

在一个面试中,你不能覆盖所有这些。面试官可能对任何一个都感兴趣,具体取决于讨论如何。

帮助我最在为这次采访做准备的课程是:从面向对象的设计面试

招聘经理轮一般不是那么困难,但绝对是重要的。最重要的是你'这是在这轮子里见到你未来的经理。但这不是所有公司的情况。有些公司将任何人带到此圆形&然后决定在以后将加入哪个团队。

本轮主要侧重于了解您的态度,以前的项目,挑战,优势&弱点,灵活性,学习新技术&你与他们的团队合作的程度等等。

在一些公司中,招聘经理非常技术&可能希望讨论您的项目的详细信息,以了解您是否真的知道您的简历上的'所以知道你的当前&以前的项目进出是必须的。可以在任何一轮中询问有关您项目的问题。所以准备好了。

如果您对公司,项目,员工增长等有疑问,这是询问这些的时候。询问良好&真正的问题肯定会留下面试官。所以拿出一些时间&在您的求职者面试期间准备一个好问题的清单。

这通常由人力资源负责人(或在某些情况下雇​​用经理本身)。作为HM轮的一部分完成,以查看您的态度以及您是否' LL对公司合适。

如果所有以前的轮都顺利,这一点就是一种形式。只是不要用你的答案&amp傲慢;你应该是好的。

我近7年的经验&我将在下个月开始在第四家公司开始工作(5月2021年)。在您的职业生涯的初始阶段,它与实验&amp很重要;在不同的公司和域名工作。我强烈建议在您职业生涯的前10年中每2 - 3年内换一次工作。

您不会在赔偿方面留下市场标准。该行业正在增长非常迅速,如果您留在同一公司的时间过长,您将留下电动机会。例如,起始级工程师在过去的5 - 7年(至少在印度)增加了100%的薪水。

您将获得不同的产品,从而进行不同的域名。在不同的域中拥有经验肯定会帮助您长期成为一个更好的软件开发人员。

它并不容易找到新的工作或切换你的工作。这些天竞争中有很多竞争,特别是对于开发人员角色&随着遥控工作,越来越受欢迎,更多人在不同的地方竞争给定的工作。

如果你可以为自己粉碎一个计划和amp;准备困难几个月,即使是最困难的访谈也可以破裂。我不是一个非常聪明的人。但我确实计划&在我开始申请求职面试之前,专注于2-3个月。结果,我能够破解5家公司(到目前为止!)&所有这些都是我曾经认为是不可能的。

还要记住,即使经过几个月的勤奋工作,也要准备你'重新在求职期间奋斗和倦怠。虽然在你可以破解几个之前,你需要拒绝很多拒绝。

一半穿过我的求职我是如此沮丧和amp;讨厌每天起床和接受采访,因为我尚未在采访中做得好。在一个点,我以为我不会获得一个单一的报价!

这是正常的。每个人都经历了这种感觉。坚强并相信自己。事情最终会发生。

求职通常在开始申请后持续几个月。一旦你得到你的第一个优惠,不要停止。

我知道经过几个月的努力工作和amp之后感受到了什么。无数的拒绝。您觉得您想要退出求职,并加入您的一家公司' ve收到了一个优惠。不要犯这个错误。非常专注并获得尽可能多的优惠。

一旦您获得多次优惠与LinkedIn的人谈话'重新在这些公司工作。 即使您可以提出关于公司的问题和在面试过程中的角色,您'当您与LinkedIn上的当前员工交谈时,您会更好地了解公司,文化,工作负荷,增长等。 发送连接请求并与人交谈。 在决定加入任何公司之前,获得所有问题。 Hers'是一个免费&amp的清单; 付费课程帮助我在求职期间: