Ok so for me, a job interview is still a while away, and im not even sure if i will major in CS. But anyways, i've heard from my TAs that in their job interviews with microsoft and such, they are usually asked strange programming questions mostly involving linked lists, and riddles. Now, ive basically googled and ive found comprehensive lists of questions that have been asked at microsoft interviews. Im sure everyone knows the classic one: "how can you tell if a linked list is circular" type of stuff. But anyways, would it be bad to study them as much as possible and then at an actual interview answer each question blazingly fast? At first i thought it would be a really good idea, then i also realized that then the interviewer will know that you prepared, and that defeats the purpose of the interview and the whole purpose is to see how well you can think on your feet. And you aren't thinking on your feet if you have studied for 2-3 years. What are your thoughts on this? thanks!