Just my experience, but slow start times, high memory usage, tracking down GC pauses, getting the memory flags in line with the k8s resources config, and fat image sizes. All things I enjoy living without.
Also regarding Quarkus, that's java stuff. I don't use it, but I know people do use it for shortcomings of Java in k8s. Perhaps GraalVM is the thing that makes it worth-while, idk.
There's also a distroless Java container from Google that could be of value.
For algorithms, I would recommend "Grokking Algorithms" by Aditya Y. Bhargava. The reason is that the book contains hand drawn visualization. I believe this will make the beginner easier to learn the concept.
One more thing, if you learn programming. Don't forget to practice, practice, and practice. The book has exercise sections. Please, don't skip it.
Unit tests were broken in the CI pipeline because of a leap year. The problem was validating the number of days in a year, but dismissing a leap year. The code assumed the number of days in a year was 365.
I would like to add a book called "Think Like a CTO" [0] by Alan Williamson. The author has experiences as a CTO in different companies. He also give a lot of advice. The book is not only applicable for CTOs, but also other leadership roles. It discusses various topics from team management to technology decisions.
edit: the book was already mentioned by mattferderer [1].