...

/

Event Delegation in a Pomodoro App

Event Delegation in a Pomodoro App

This is your first extensive exam task. The concepts in the following lessons will come in handy during interviews. It's a long exercise, but trust me, it's worth the hassle.

We'll cover the following...

We will now build a simple Pomodoro App. If you don’t know what the Pomodoro technique is, you can read about it here.

Exercise

Create a client-side application that displays a table of tasks with the following columns:

  • Task name (string);
  • Status: number of pomodori done, a slash, the number of pomodori planned, then a space, then the word pomodori;
  • Controls: contains three buttons for each row, Done, Increase Pomodoro Count, and Delete.

When pressing the Done button, the Done and the Increase Pomodoro Count buttons are replaced by the static text Finished.

When pressing Increase Pomodoro Count, the number of pomodori done is increased by 1 in the Status column. The initial value of the number of pomodori done is zero.

When pressing Delete, the corresponding row is removed from the table.

Create a form that allows you to add a new task. The task name can be any string, and the number of pomodori planned can be an integer between 1 and 4.

Unblock Yourself

This task may be an exercise that you can either solve during an interview, or as a homework exercise.

Always respect the requirements, and never invent anything on your own. It is fine to clarify questions on the spot if you have time to ask them. If you solve this task as a homework assignment, it is also okay to send your questions to your contacts via email.

Pointing out the flaws in the specification is a great asset to have as long as you demonstrate that you can cooperate with your interviewers.

My usual way of cooperation is that I ask my questions along with the first submitted version of my task. This means I implement everything I can, without getting blocked, and then I enumerate my assumptions and improvement suggestions attached to the first version.

This sends the message that you are aware of a flaw in the specification, and you are willing to fix it, in case it is needed. You also signal that you were proactive in implementing everything you could, based on the information available to you.

Most of ...