End a question with a question mark (d’uh), and don’t end a non-question with one. Simple, right?
This example is tricky, though, because the first sentence does need a question mark… It just doesn’t need it where it currently is.
The first sentence contains a quotation. The exclamation point goes with that quotation, but the question mark goes with the sentence as a whole, because quotation or not, the speaker is asking, “What do you mean?”
What do you mean, “I can’t believe you read the whole book already!”? What are you supposed to do once it’s open?