in reply to Logic questions needed

For technical aspect, I probably would come up with three or four types of questions: 1) general (but programming specific) problem solving and modelling, 2) business sense, or basic organizational and managerial sense, 3) language-specific, and 4) mind-twister, reserved for good candidates the interviewer want to explore their limits.

Example of 1) general (but programming specific) problem solving and modelling could be: use a short product idea description or wishlist in form of, say, an email; ask the candidate to come up with a model, such as ER diagram or class diagram. Interviewer should observe the candidate's thinking process as much as its output.

Example of 2) business sense or basic organizational and managerial sense question: Top management just bought a bunch of new software for its developers in hope of boosting productivity. But the project manager removed the new software. Train the developers based on the old software instead. Why?

3) language-specific questions have been plentily provided in this thread.

Example of 4) mind-twister: A newly developed software has unknown number of bugs. How would you estimate the number of bugs without using an exhaustive testing (which could be way too impractical)?

For "people" aspect, having a would-be hire talk with his would-be coworkers would be a good start.