will have done是将来完成时,强调在某一时间的时候。已经。完成
标志词有bythe end of this(next) term\week\year\month,在今、这(下一个)学期\周\年\月之前(某人已经做完了...),比如
They will have finished the homework by the end of the week.到那时一定已做完
而will do是一般将来时,只强调动作即将发生,却没有一定会完成的意思(这就是与将来完成时最大的区别)
They will do their homework this year.不一定做完
参考资料:我的英文笔记