The user-entered data is a bunch of expressions which can reference each other, forming a graph. The user needs to be prohibited from entering an expression which creates circular dependencies.
Do you have any visual example? Or textual? I'd very much like to see exactly what you mean and what would you consider a failure at that interview (and what would you consider a success).
I've asked interviewees what they could do about cycles in user-entered code, by giving them a 2-node example. Far too often, they reply with an if-clause to detect exactly a 2-node cycle. Then I ask what to do about 3 nodes, then far too many of them try to give me a 2nd if-clause!
With a 2-node example what do you mean? Like a race condition? A mutex or some kind of lock to prevent this?
When you say node cycle. Do you mean like in graph theory where you can have the "fast and slow traversal" find a cycle?