How do I know if I'm well-prepared for a real analysis exam? Or more generally, proof-based exams? I'm taking real analysis I, and my professor gives us a previous exam with solution each time before the midterm/exam. I would do the previous exam and check if I get it right. But it's obvious that my professor are not going to give us the same questions.
So, I also read and tried to understand the proofs that are given on the book. Sometimes, I proved the theorems and corollaries by myself. Besides, I would memorize the theorems and corollaries.
For courses like calculus, we have some general steps to solve a type of question. So it's easier to prepare for the exam. But for proof-based courses like real analysis, algebra and topology, etc, how can we know whether we're well-prepared for the exam? How did you study the materials and prepare for the exam when you were an undergraduate student? Exams are designed to test our understanding of the materials, but how can we test ourselves first?
 A: Did you get all the problems on the professor's sample exam right?  By “right”, I mean, were you able to write perfect proofs, from scratch, without notes or checking against the solutions?  If so, stop.  You are definitely prepared.
If not, you know what topics you are less than prepared on: the ones that you missed the questions on, or had to check notes for.  Find more problems about these topics and attempt those problems.  If you have a textbook, it probably has problems in it.  Ask your professor or TA about them if you have trouble solving the additional problems.  
When organizing the material, you should definitely memorize the definitions and theorems.  But see if you can organize them, not in a list, but in a concept map.  That will help you see the connections between the ideas, so you know how to get from one to another in a new situation.  For instance, you tagged this with linear algebra, and I was able to find some premade linear algebra concept maps online (example).  But the real benefit will be when you create your own.
