谈技术简友广场读书

系统设计面试与现实完全不同

2023-03-08  本文已影响0人  技术的游戏

当您面试软件开发工作时,您可能会遇到一些系统设计问题。

特别是如果您正在寻求高级职位。

像许多软件开发一样,面试问题与现实完全不同。

面试是什么样的

面试官给你一个服务的抽象描述。您应该自己设计答案。

在面试中,你需要提问。基本上,收集需求。

通常,面试官对于他们希望看到的解决方案有一些想法。

您需要提出可以满足要求的技术和实施策略的组合。

这是一次令人生畏的交流。基本上,您必须在短短几分钟的讨论/思考中设计出一个高性能服务。

光是时间限制是不现实的。

现实世界中的系统设计

您的应用程序运行缓慢或无法很好地扩展。

那里有现有代码,您需要了解它是如何工作的。需求收集是一个弄清楚谁在使用现有服务以及它有什么问题的过程。

歧义比比皆是。您花费大量时间了解问题所在以及现有部分如何组合在一起。

现在,您需要提出一个建议的计划。所以,你写了一份设计文件。通常,您有几天或几周的时间来研究、计划和写下您的想法。

在那些日子和几周里,您将与其他工程师讨论他们的想法。有没有人有比你更好的解决方案?有没有你没有考虑过的方法?

编写设计文档后,您将与团队共享。大家都懂设计吗?有什么顾虑?我们如何改进它?

现在,您需要规划实施设计的工作。新变化的测试计划是什么?我们如何确保更改是零停机时间?其他团队需要了解和审查此设计的哪些内容?

面试与现实

现实与面试有很大不同。

让我们总结一下差异:

学习系统设计

我听到许多被系统设计吓倒的软件工程师。“我知道得不够多,我担心我会因为不知道而被解雇!”

这是真相……

您可能需要了解系统设计的要点才能通过面试阶段。这里有一些资源可以帮助系统设计面试。

但不要被吓倒并认为这份工作实际上就是那样。

相反,设计一种新方法更加微妙和协作。没有人会期望您当场为新建筑产生天才的想法。

所以,深吸一口气。你不会因为系统设计而被解雇。

每日清单

我每天早上都会为软件开发人员写一些新东西。

如果你喜欢我的文章,点赞,关注,转发!

上一篇 下一篇

猜你喜欢

热点阅读