Недавно мне задали простой вопрос о дизайне в интервью:
Предположим, что есть некоторые данные, которые необходимо обработать конвейерным способом для повышения эффективности. Предположим, что нужно выполнить пять задач, и выходные данные каждой задачи действуют как входные данные для следующей, и, как только задача завершается для объекта, она может обрабатывать следующую.
Как спроектировать эту систему? Как будет запущено следующее задание? Как данные одной задачи можно передать следующей задаче?
Есть идеи? Об этом спрашивали в интервью C ++. Итак, дизайн на C ++ будет хорошим.
Это вопрос интервью, поэтому они хотят, чтобы вы думали вслух и демонстрировали всю глубину вашего опыта. Не существует единого «замысла» или даже «ответа», и поэтому вы должны уделять как можно больше внимания различным случаям.
Вы можете потратить целую книгу на проекты трубопроводов, поэтому я не буду (и не смогу) перечислить все аспекты, на которые вы хотите обратить внимание, но вот несколько общих:
Других решений пока нет …