For the most part, this book does an excellent job of providing what it promised, which is preparation material for the OCP Java SE 8 Programmer exam; I passed the exam shortly before writing this review and I can guarantee that it covers just the material you need. However, as a fair warning, do not pick this book expecting a comprehensive, in-depth guide to Java 8, because that's not what it's trying to be; while it does often explain content that's out of the scope of the exam, it never does so with true depth, and it often mentions and then skips concepts that might be fundamental to Java 8 but not to the exam. This is perfectly fine for what it's trying to accomplish and it didn't affect my rating.
In terms of content and completeness for the exam, the book explains the Streams API, Functional Programming, Generics, the Collections API, and Advanced OOP more than enough, which is good, given that the exam mostly focuses on those topics. As a bonus, the book explains two additional design patterns that aren't part of the exam (Factories and Builders). However, it was a bit lacking in the smaller parts of the exam like JDBC, and I will admit that I lost a few points because of it, even if not much.
My biggest problem with this book is the provided testing environment, which feels a little mediocre in practice; the questions and answers rarely but consistently suffer from tiny mistakes that could've been solved by testing the code samples or using better wording, and the explanations are good but could sometimes provide more details, especially if you prefer to learn primarily by practicing with the tests rather than reading the book. Another con is that your right to the tests expires after a year, which personally didn't bother me at all, but maybe someone else could need more time.
Overall, this book is worth its price and you'll pass the OCP exam with a good but probably not perfect score if you decide to rely only on it.