Wednesday, September 7, 2016

Performance review - HackerRank world code sprint #4, #5, #6

Sept. 7, 2016

Review performance of coding contest on HackerRank: 

Log of performance - HackerRank world code sprint #4, #5, #6, from score 40 to 100; in other words, from nothing to the first bronze medal. Excellent experience.   

Spend some time to review the performance of 3 contests Julia did from June to August 2016. 

No. 1: 
world code sprint #4 - score 40/?, bet on algorithm AorB (medium level)HackerRank: AorB - intense workout - 3 hours+
- score 0 of 50, 5+ hours. 

No. 2
world code sprint #5
 - forgot to attend, worked on the algorithm next day. Finished first 2 questions, 40/430, spent time to read all questions - read 1 expert question, 2 advanced questions, 1 difficult, 2 medium. Just enjoy all the questions by reading the problem statement again and again, 3+ hours. See how many things she missed in every reading, every new thing she found through one more reading.  


She wrote one of her most popular blogs: 3+ hour struggle to score 13/ 40, so enjoyable. (145 views up to Sept. 16, 2016, including herself to edit the blog)
http://juliachencoding.blogspot.ca/2016/07/short-palindrome-hackerrank-world.html

No. 3
world code sprint #6 - score 100/380, first 4 algorithms full score, worked on 5th algorithm - Bnetrousel (medium level) more than 3+ hours, score 0 of 50. Bronze medal, top 25%. Tried to get into 10%. She did not know that time 10% means silver medal when she worked on the algorithm. 

Analysis of performance: 
Julia must have learned a lot through the practice of those 3 world code sprints; she never expects that she can be one of people having some medals with HackerRank so soon - from June to August, 2016, 3 contest practice. 

1. Most valuable experience from world code sprint #4, June 26, 2016
http://juliachencoding.blogspot.ca/2016/06/hackerrank-aorb-interesting-struggle.html

She learns that in order to perform in less than 30 minutes, she must work on the small, simple, well-defined problem from the very beginning. 30 minutes beats hard-working 8 hours. First time, she experienced two approaches with over 10 times performance difference (0.5 hour vs 8 hours). She likes to make the smart choice every time ever since.

2. Most valuable experience from world code sprint #6, August, 2016
Time complexity analysis. It does not matter if queue/ stack/ recursive function is used in the design,  most important is to analyse time complexity first - from brute force to optimal, try to target the optimal time complexity. Mathematics is so important to the problem solving, it does not matter if the math is so easy, how hard  to figure out. Know the time complexity range, brute force vs optimal solution; aim high target! play to win!

Most favourite tip from http://juliachencoding.blogspot.ca/2016/09/8-tips-coaching-tips.html:
 Rather than performing perfectly, perform to see improvement (10 out of 10)
 Focus on the Journey, not the Destination (9 out of 10)
 Recognize when you are using negative self-talk and replace it with positive (8 out of 10)

Actionable items:
1. Set long time goal - attend more contests, try to score 200 points one day. 
2. Finish competitive programming book - 150 pages. 
3. Go over Leetcode questions one by one, by reading the solution. 



No comments:

Post a Comment