The process I drew up below might work for you. The initial interview date is set on the first user task. Then the parallel gateway sends one branch to a sub-process that includes the timer catch event to wait for the interview, and another branch up to a user task to change the date. If the user task to change the date is submitted with the new date, it takes the upward branch, hits the signal throw event which cancels the sub-process and then resets it with the new date. The user task for changing the interview is then re-activated in case you need to change the date again. Each time you change the date, the sub-process is interrupted by the signal and the timer catch event within the sub-process will be reset to the new date.
After the interview, the flow will exit the sub-process and hit the other trigger (make sure to set up two different signals). When that signal throw event is hit, it will interrupt the "change interview date" task so that can end as well.