2 jz0219 jz0219 于 2016.04.22 10:54 提问

设计一个 流程执行器,流程需要任意步数,如果中间有任意要出错的,都要回滚
,如何理解设计?

面试java研发工程师时,面试馆提出来的,需要编码实现!
我当时的理解是:
1、按照题目中说的流程执行器是,我理解是一个抽象出来,通用的执行器,那么就需要对流程一开始方法的入参还有流程中存在调用的全局变量都需要回退,这样的理解我一时想不出来解决方案,
2、如果是工作流模型的我认为建立节点,节点里是 操作对象(也就是方法),数据对象,状态,然后就想使用链表(工作流程)中存储一个操作节点,上一节点操作和下一节点操作,通过状态判断需不需要回退到到指定操作步奏,这样就需要为每一串操作创建一个工作流程,
3、再简单点,我就想到的是使用备忘录模式

貌似都没有很好的答到点子上

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.22 14:07

面试关键是要抓知识点,你一会儿设计模式一会儿数据结构,都没回答到点上。自己google“两阶段提交”或者“两段事务提交”,面试官不是让你造轮子的,而是看你对事务的理解。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!