Altho, there are many blogs out there on this, but I may not know it. Making it very simple and straightforward. Here it goes,
1: What all concepts should I have grip upon to become expert.
2: I know there is no substitute to practice, but how to practice? Should I solve problems according to ratings, or according to tags?
3: Can you share relevant resources. If there already exist such blog, please share.
I hope it helps me and others.
you can check this blog out. it's pretty good https://mirror.codeforces.com/blog/entry/66909