Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近在一次采访中被问到一个简单的设计问题:
假设有一些数据需要以管道方式处理以提高效率。假设有五个任务要完成,每个任务的输出都作为下一个任务的输入,一旦一个对象的任务完成,它就可以处理下一个。
如何设计该系统?下一个任务将如何被触发?如何将一个任务的数据提供给下一个任务?
有任何想法吗?这是在一次 C++ 采访中提出的。因此,面向 C++ 的设计会很好。
这是一个面试问题,因此他们希望您大声思考并展示您的经验的深度。没有一个“设计”甚至“答案”,因此您应该尽可能多地考虑不同的情况。
您可以将整本书都花在管道设计上,因此我不会(也不能)列出您要注意的所有方面,但这里有一些常见的方面: