I couldn't sleep. So I decide to write on post-mortem report on the Codility test.
Few tips for me when doing the test again:
- I couldn't sleep after the test. My body is full of adrenaline. Thinking about the test: what went wrong, how to improve it, or wish I got more time. Since I am a morning person, I will do this kind of test in the morning in the future. So that I won't feel sleepy the next day.
- I took too much time to the first task. Before the test begin, total of given minutes and number of tasks are mentioned. Get a countdown timer in the computer or physical kitchen timer and set it to total_minutes/total_tasks. So that I will be warm to move on to the next task.
- I completed the tasks in wrong order. In future, I go through all the tasks and write step by step pseudo code on each task and test cases in order to make sure I understand the task completely. By doing that, I will also know roughly the order for completing the tasks and some ideas on ways to solve the tasks. I will have a better decision in the future.
- When Submit this task button is click, it takes few seconds to go to the next tasks. I am not sure whether the timer does pause during that time. The best is submit the task at the very end. If the time is up, all the tasks will be submitted anyway.
- Custom test cases does not accept as an expression. It gives me an error when ([i for i in xrange(3000)], 1) is given as a test case. I guess it has to be programming language neutral. So I write my test case as stdout (print statement) in the code editor instead. For example, print solution([i for i in xrange(3000)], 1) # 3.
- Single uppercase character as a parameter is not very pythonic. I will change it to a descriptive lowercase parameter.
I guess the technical test is now web based. It is my first test. I got a feeling it won't be my last one. Although I didn't do well this time, I believe I will do better next time as experience counts.
Nowadays, technology is moving very fast. It is challenging to keep it up but I will never stop learning.