paint-brush
这些编程面试问题将区分专业人士和业余人士经过@shcheglov
6,260 讀數
6,260 讀數

这些编程面试问题将区分专业人士和业余人士

经过 Viktor Shcheglov3m2024/04/18
Read on Terminal Reader

太長; 讀書

编码面试问题旨在超越技术技能。它们深入探究开发人员的思维过程、解决问题的方法、团队合作能力和其他关键素质。这些问题不适合胆小的人。这些问题由 Coder.com 的编码面试问卷团队编制。
featured image - 这些编程面试问题将区分专业人士和业余人士
Viktor Shcheglov HackerNoon profile picture
0-item

编码面试问题


各位开发人员,大家好!

在我的职业生涯中,我曾对各种级别的开发人员进行过100多次面试,从初级开发人员到经验丰富的老手。你知道吗?在此期间,我精心设计了 10 个棘手问题,向每位新应聘者提出这些问题。

为什么?原因很简单:这些问题让我不仅仅评估一个人的技术能力。它们深入探究他们的思维过程、解决问题的方法、团队合作能力和其他关键素质。

你准备好迎接这场智力竞赛了吗?那就做好准备吧,因为这些问题不是胆小者能回答的!


  1. 防止同时编辑文章

假设您正在实施一个期刊编辑系统,其中编辑者可以在管理面板中编辑文章。如何防止两个编辑者同时编辑同一篇文章并覆盖彼此的更改?


  1. 零停机部署原则

零停机部署的原理是什么?零停机部署是指在不停机的情况下部署应用程序的方法。零停机部署是如何实现的?


  1. 对您所偏好的框架的批评

说出您不喜欢或无法按您喜欢的方式工作的首选框架的方面。解释这些问题是如何以及在何处出现的,以及如何改进它们。

4. 处理长时间运行的 Cron 任务

如果你的 cron 任务每分钟运行一次,但执行时间超过一分钟,会发生什么情况?如何防止这种情况发生?

5. 数据库中的数据非规范化

您是否曾遇到过需要对数据库中的数据进行非规范化的情况?如果是这样,您试图解决什么问题,面临哪些挑战,以及如何做得更好?

6. 在测试中模拟外部调用

如果您编写测试,如何规避您正在测试的代码产生的外部调用问题?考虑在 CI(持续集成)上禁止外部调用的场景。为什么这是一个好的做法?

7. 与外部系统同步电子邮件变更

假设您的系统实现了电子邮件更改功能。但是,电子邮件还存储在外部系统中,例如支付处理器,它会向用户发送电子邮件(但用户不会直接与其交互)。您将如何实现与外部系统的电子邮件同步?


  1. 发现生产错误

您如何了解生产过程中发生的错误?您依靠用户报告还是有自动化机制?


  1. 设计一个简单的聊天应用程序

你会如何设计一个简单的聊天应用程序?你可以向后端工程师询问后端部分,向前端工程师询问前端部分。这个对话中可能会有很多分支。

10. 在多用户环境中隔离测试

当多个测试同时运行并访问数据库并可能对其进行修改时,如何确保测试隔离?如果您的框架不提供隔离,您将如何实现或改进它?



其他提示:

鼓励考生详细阐述他们的思维过程和答案背后的原因。

评估他们的解决问题的能力、批判性思维能力以及相关技术知识。

在整个面试过程中评估他们的沟通和协作能力。