我最近对Java并发任务进行了编码访谈,但遗憾的是没有得到这份工作.最糟糕的是我尽力而为,但现在我甚至不确定哪里出了问题.任何人都可以帮我一些关于我可以在下面的代码上改进的东西的想法吗?谢谢
问题很模糊.给定4个通用接口,在高层次上将任务分成小块,处理每个部分并将部分结果组合成最终结果,我被要求实现接口的中央控制器部分.唯一的要求是在部分结果处理中使用并发,"代码必须是生产质量"
我的代码如下(给出了接口).我确实做了很多评论来解释我在这里删除的假设
// adding V,W in order to use in private fields types
public class ControllerImpl<T, U, V, W> implements Controller<T, U> {
private static Logger logger = LoggerFactory.getLogger(ControllerImpl.class);
private static int BATCH_SIZE = 100;
private Preprocessor<T, V> preprocessor;
private Processor<V, W> processor;
private Postprocessor<U, W> postprocessor;
public ControllerImpl() {
this.preprocessor = new PreprocessorImpl<>();
this.processor = new ProcessorImpl<>();
this.postprocessor = new PostprocessorImpl<>();
}
public ControllerImpl(Preprocessor preprocessor, Processor processor, Postprocessor postprocessor) {
this.preprocessor = preprocessor;
this.processor = processor;
this.postprocessor = …
Run Code Online (Sandbox Code Playgroud)