I try to practice Leetcode or hacker rank every day to increase mastery of algorithms and data structures. Through study on AlgoMonster I am improving my skill at dynamic coding and algorithmic thinking. This has been very helpful in learning big O notation and breaking down a problem to constituent parts. It has also helped me learn the skill of evaluating different solutions to a problem and picking the best one. You can check it out here