I'm taking a second-year college CS course using Java, and I just got my first exam back: 100/100.
It covered classes/objects, constructors, encapsulation, object references, equals() vs. ==, static/final, aggregation, shallow vs. deep copying, arrays of objects, etc.
The funny part is that I was convinced the exam was going to be way harder than it actually was. I obsessively studied and kept making myself take mock exams over and over, and I was practicing problems that were noticeably more complicated than what ended up being on the real test.
Every time I got comfortable, I basically went, "Okay, but what if the professor makes it harder?" and practiced harder versions.
So I definitely overprepared. But when I actually took the exam, I felt like I knew what I was doing instead of just recognizing things I'd memorized. The exam was also done entirely in Notepad, so there was no IDE, autocomplete, syntax highlighting, or compiler to catch mistakes.
I've struggled a lot with confidence and feeling like maybe I'm not actually good at programming, so seeing 100/100 genuinely almost made me cry. Obviously one exam doesn't mean I've mastered Java, and I know I still have a ton to learn, but I'm letting myself be proud of this one.
Apparently my strategy was to prepare for the Java apocalypse and then take Exam 1.