It is still under question—a Programmers.SE question—if competence in solving logic puzzles is a good assessment of programming skills. Nevertheless, they're still used, and chances are high that you will bump into such a question when you decide to change your employer next time.
Mr. Job recommends in a comment to the answer that you should just "study the puzzles, and pass interview". Indeed, there is a plenty of them, and you may have a lot of fun and practice solving them, and you will probably demonstrate (to yourself only, unfortunately) your ability to crack them without any help.
However, I'm not sure how it would help you at an interview.
Assume you've studied a lot of these puzzles, and come to a job interview. The interviewer asks you to solve X, and...you already know how, because you've solved it before. You tell that you've solved this puzzle before, but it does not matter that you've solved it: what counts is that you've seen it, and thus the interviewer can't tell if you're capable to solve it, or just read the solution coined by someone else. He picks another puzzle—and you've seen it before too. And again, and again.
Finally, the interviewer finds a problem you haven't seen: a badly formulated one with quite a stupid and illogical solution (that's why you haven't encountered it during your practice). No wonder you fail to solve it. But the assessment's been already made: you failed to solve a puzzle you were eligible for.
The question is, how should you behave if you like logic puzzles, solve a lot of them (on your own), and encounter them at an interview?
