I found that doing lots of past paper questions for maths helped me identify my weaker topics. Then I’d just do lots of these questions I found tricky from my text book, up until I was getting it correct each time. You want to repeat this up until you’re getting 90% or above, *consistently* on each paper.
For the even trickier, ugly, topics (in my case, this was mostly histograms/statistics at GCSE or proof questions/mechanics at A-level), I would go to the extent of writing the question on a flashcard, and the steps to get to the correct answer on the back. Obviously, if you devil advocated this method you could say that it runs the risk of the question type being in a different, unusual, context on exam day. However, I found that this method being used alongside actually understanding the topic helps in generating a good thought process that will allow you to get full marks for that question.