The practical task: designing a workflow live
The heaviest part of a middle-level n8n interview is the practical task: "How would you build this process in n8n?" The interviewer does not expect a working workflow — they want to see how you think.
The most common mistake is launching straight into node names. A strong candidate asks questions first, because that is what real work looks like.
A five-step approach:
1. Ask clarifying questions — volume, frequency, sources, edge cases 2. Describe the flow at a high level — trigger, processing, result 3. Turn it into nodes — with concrete node names 4. Add the edge cases — duplicates, failures, empty results 5. State the boundaries — when this design stops working, and what you would do then
| Question | Why it matters |
|---|---|
| How often does this event happen? | It determines the trigger choice and whether rate limits matter |
| Does the source support webhooks, or is polling needed? | Building polling when push is available is pointless |
| What should happen if the same record arrives twice? | Idempotency is foundational and hard to bolt on later |
| Is the outcome reversible? | If not, a human approval step is needed |
| If one source is unavailable, should the process stop or continue? | Continuing with a partial result is often better |
| Who sees the result, and who learns if it is wrong? | Notification and error handling are part of the design |
| Is there sensitive data? | Credential permissions and execution data retention follow from this |
Do not avoid asking questions. Some candidates hold back for fear of looking uninformed. The opposite is true: asking clarifying questions is a sign of experience — in a real project, building before the requirement is clear is the most expensive mistake. Interviewers know this and often leave the task deliberately incomplete.
What to say out loud. The interviewer only sees your thinking through what you say. So state each choice with its reason:
- "I pick a Webhook here because the system can announce the event itself — polling would just make empty requests."
- "I make the write an upsert, because a webhook resending is normal."
- "I set continue-on-error on this node, because one bad record should not stop the other 99."
That shows the "why", not just the "what" — and that is where the assessment comes from.
Name the boundaries yourself. At the end of the design: "This holds up well to about a thousand records a day. At a hundred thousand you would need batching and sub-workflows, and probably queue mode on self-hosted." Knowing the limits of your own solution is one of the strongest signals there is.
📚 Sources and documentation
- Workflow template libraryofficialn8n.io
For preparation: find a template close to the task and study its node structure.
- Handle errors gracefullyofficialdocs.n8n.io
- Break workflows into smaller partsofficialdocs.n8n.io