编码 面试_编码挑战面试

编码 面试

The coding challenge is a very common step in developer interviews. This step usually comes before or after the technical interview and can be done in two forms.

编码挑战是开发人员访谈中非常常见的步骤。 此步骤通常在技术面试之前或之后进行,可以以两种形式完成。

In the first form, the recruiter sends you a description of the coding challenge via email or another means and asks you to solve it on your own, from home. With this approach, they usually tell you how long they expect the coding challenge would take to be solved; but most of the time there is no hard limit on how much time you can spend on it. Especially, if you want to go the extra mile by doing some extra improvements.

在第一种形式中,招聘人员通过电子邮件或其他方式向您发送编码挑战的描述,并要求您在家中自行解决。 使用这种方法,他们通常会告诉您他们预计编码挑战将需要多长时间才能解决; 但是在大多数情况下,您可以花多少时间没有严格的限制。 特别是,如果您想通过做一些额外的改进来加倍努力。

The second strategy for the recruiter will be to have the coding challenge in the presence of some other developers in their office. There is a bit of more pressure on you as a candidate since you are expected to think on the spot and come up with a solution for the coding challenge. But I came to find that most of the recruiters mostly care about how you approach solving the problem, more than your final solution.

招聘人员的第二种策略是在办公室中还有其他开发人员在场的情况下进行编码挑战。 作为候选人,您面临更大的压力,因为希望您当场思考并提出应对编码挑战的解决方案。 但是我发现大多数招聘人员最关心的是解决问题的方法,而不是最终解决方案。

No matter which format the coding challenge comes in, there are few things to keep in mind for making a bigger impression on the recruitment team:

无论采用哪种格式的编码挑战,要想对招聘团队产生更大的印象,都需要牢记以下几点:

  • Try to host your final work on a website like Github: Nowadays, most of the dev teams are relying on git for managing their code. No matter how skilled you are, it is not so hard to push your coding challenge code to a Github repository with a nice read.me file and clear commit messages. This shows professionalism and makes reviewing your work easier, especially if you were asked to solve the coding challenge from home.

    尝试将最终工作托管在Github之类的网站上:如今,大多数开发团队都依靠git来管理其代码。 无论您多么熟练,都可以通过一个不错的read.me文件并清除提交消息将您的编码挑战代码推送到Github存储库中。 这显示出专业水平,使您的工作审查更加轻松,尤其是当您被要求在家中解决编码难题时。

  • It is always a good sign for a developer to write test cases for their code. It shows that they care about the maintainability of their code which could make the life of other developers on the team easier. Obviously, testing comes in different flavors like integration tests, e2e tests, or unit test. I would argue that writing individual unit tests for the core functionalities of the coding challenge is the best approach.

    对于开发人员来说,为其代码编写测试用例始终是一个好兆头。 它表明他们关心代码的可维护性,这可能会使团队中其他开发人员的生活变得更轻松。 显然,测试具有不同的风格,例如集成测试,端到端测试或单元测试。 我认为,针对编码挑战的核心功能编写单个单元测试是最好的方法。
  • Do not be afraid to go the extra mile, but try not to get too side-tracked as well. The recruitment team would appreciate it if you thought outside of the box a bit and did some sort of improvement to the original spec of the coding challenge they presented to you. For example, they might have asked you to build a simple to-do list; but you could go the extra mile and add some nice icons and fonts and spend a bit of time styling it for a more appealing look. But the catch here is that the coding challenge should be fixed before adding any improvements. This is how you are going to plan your tasks as a junior developer anyway, so better be prepared from it from day one.

    不要害怕再加倍努力,但也不要太过偏心。 如果您觉得开箱即用,并且对他们向您提出的编码挑战的原始规范进行了某种改进,招聘团队将不胜感激。 例如,他们可能要求您建立一个简单的待办事项清单。 但是您可以多花点功夫,添加一些漂亮的图标和字体,并花一些时间来设计样式,以使外观更具吸引力。 但是这里要注意的是,编码挑战应该在添加任何改进之前得到解决。 无论如何,这就是您打算作为初级开发人员来计划任务的方式,因此从第一天开始就要做好准备。
  • Do your study by checking or asking for their tech stack and try to use some of their tools in solving your coding challenge. Not only this will familiarize you with how they are solving their problems but will have a nice impact on their evaluation of you since they are more familiar with the tools they use on a regular day-to-day basis. Having said that, adding the tools you are familiar with into the mix is also a very good idea.

    通过检查或询问他们的技术堆栈来进行研究,并尝试使用他们的一些工具来解决编码难题。 这不仅会使您熟悉他们如何解决问题,而且会对他们对您的评估产生很好的影响,因为他们更熟悉他们日常使用的工具。 话虽如此,将您熟悉的工具添加到组合中也是一个很好的主意。
  • Do your best to have a clean code structure. This means that it is much more readable to separate different parts of the functionality into separate files rather than having everything glued together in a single file. Also, add comments to parts of the code that are not very easy to understand, to show that you care about other developers being able to pick up your logic in the code easier.

    尽力拥有干净的代码结构。 这意味着将功能的不同部分分成单独的文件而不是将所有内容粘贴到单个文件中更具可读性。 另外,在代码中很难理解的部分添加注释,以表明您关心其他开发人员能够更轻松地从代码中提取逻辑。

After successfully solving the coding challenge, you might get called for the next interview which is called: coding challenge review meeting. But what is this meeting about?

成功解决编码挑战后,您可能会被要求进行下一次面试:编码挑战评审会议。 但是这次会议是关于什么的?

那么编码挑战评审会议是什么呢? (So what is the coding challenge review meeting about?)

it is common for companies to call you for this meeting to discuss your approach in solving your coding challenge. At this point, the recruitment team has checked your solution, either manually by some of their own developers or having some sort of automatic check that run your code against some pre-defined tests. Either way. if you were called in for a coding challenge review, it means that your solution passed a certain level of quality and now they want to discuss its details with you.

公司通常会召集您参加本次会议,讨论您解决编码挑战的方法。 此时,招聘团队已经由他们自己的一些开发人员手动检查了您的解决方案,或者进行了某种自动检查以针对一些预定义的测试运行您的代码。 无论哪种方式。 如果您被要求进行编码挑战审查,则意味着您的解决方案通过了一定质量的评估,现在他们想与您讨论其详细信息。

One thing you need to remember is that companies receive a few very good or very bad coding challenge solutions, but they receive a lot of average ones. If the recruiters behind the company are smart enough, they know that is is not practical to only hire people with very good solutions. A lot of times, later-to-become rock star developers deliver an average coding solution. So at this point, it is their job to evaluate your work as well as your work personality to see if they can bring you onboard and make you a good investment for the future of the company.

您需要记住的一件事是,公司会收到一些非常好或非常差的编码挑战解决方案,但他们会收到很多普通的挑战。 如果公司背后的招聘人员足够聪明,他们就会知道仅雇用具有良好解决方案的人员是不切实际的。 很多时候,后来成为摇滚明星的开发人员提供了一种平均的编码解决方案。 因此,在这一点上,评估您的工作以及您的工作个性是他们的工作,以查看他们是否可以带您加入公司并为公司的未来做出良好的投资。

So let’s break down what they are looking for.

因此,让我们分解一下他们要寻找的东西。

代码审查评估 (Code Review Assessment)

Well, the recruiters have somehow assessed you on the technical part when you did the technical interview and coding challenge. So this meeting is their chance to test your general knowledge about coding.

好吧,当您进行技术面试和编码挑战时,招聘人员已经以某种方式对您进行了技术评估。 因此,这次会议是他们测试您的编码常识的机会。

They might ask to follow up questions about the architectural decisions or concepts behind your solution. They want to see if you followed any code best practices, or have thought of any scenario that they did not mention in the challenge itself. This is your time to give them enough clarifications about the technical decisions you made in your solution.

他们可能会要求跟进有关解决方案背后的体系结构决策或概念的问题。 他们想看看您是否遵循了任何代码最佳实践,或者想过他们在挑战本身中未提及的任何情况。 现在是时候让他们对您在解决方案中做出的技术决策给予足够的澄清。

One common approach is that senior developers on the team try to make you think about another aspect of the coding challenge to see how you might react to unknown or difficult problems. For example, you might have been asked to use an API to fetch some data and show it on a page, but somebody might ask you if you have thought about caching the API responses, so you do not have to make unnecessary API calls. If you do not have a clear answer for those kinds of questions, it is important to stay calm and turn it into a conversation so you can show your way of discussing an unknown issue with the team, even though you might not have 100% of the answer.

一种常见的方法是,团队中的高级开发人员试图使您考虑编码挑战的另一个方面,以了解您如何应对未知或困难的问题。 例如,可能会要求您使用API​​来获取一些数据并将其显示在页面上,但有人可能会问您是否考虑过缓存API响应,因此您不必进行不必要的API调用。 如果您对这些问题没有明确的答案,则务必保持镇定并将其转变为对话,以便您可以展示与团队讨论未知问题的方式,即使您可能没有100%的回答。答案。

工作人格评估 (Working Personality Assessment)

Hiring a developer is expensive in many parts of the world, so they want to make sure they have chosen the right candidate for the job. There are a few things you can do to show them you are the candidate they are looking for:

在世界许多地方,聘用开发人员的成本很高,因此,他们希望确保自己选择了适合该职位的候选人。 您可以通过以下几项向他们表明自己是他们要找的候选人:

  • Embrace the feedback they give you: It is never a good sign to get defensive about your way of coding or your ideas. This is a perfect learning opportunity, especially for Junior developers. So try to listen eagerly and respond positively to their feedback

    拥抱他们给您的反馈:防御自己的编码方式或想法绝不是一个好兆头。 这是一个绝佳的学习机会,尤其对于初级开发人员而言。 因此,请尝试倾听并积极回应他们的反馈
  • Show that you are a good team player and include everybody in the conversation. Show them a glimpse of how you can be their future teammate by practicing pair programming and live code debugging. Do not forget to ask deeper questions about the subjects that come up in the discussion.

    证明你是一个优秀的团队合作者,并在对话中包括所有人。 通过练习结对编程和实时代码调试,向他们展示如何成为他们的未来队友。 不要忘记对讨论中涉及的主题提出更深层次的问题。
  • In the end try to show your unique personality traits or what makes you, you. Discuss your hobbies, interests, and passions in a realistic way. This makes you seem like a more competent candidate if done right.

    最后,尝试展示您的独特个性特征或成就您的能力。 以现实的方式讨论您的爱好,兴趣和激情。 如果做对的话,这看起来像是一个更有能力的候选人。

And most importantly. do not forget that smile and show them how awesome you are and how great it would be if they have you as a teammate.

而且最重要的是。 不要忘记那个微笑,向他们展示你有多棒,如果他们让你成为队友,那将是多么伟大。

翻译自: https://medium.com/swlh/coding-challenge-interview-9b165b3d3dd9

编码 面试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值