I think individual questions that got posted would be blacklisted ten years ago. But nowadays, there are so many people doing interviews and such a large bank of questions (public and otherwise) that the blacklist isn’t so big a deal. Because there are so many vetted questions to ask, you can pick one and not worry to hard candidates may have done drills using that specific question. And if they have, you can have a second question on standby.
As an interviewer, I’m happy to see questions posted. You get to see people share their experiences answering it and make the question better, rephrase things to be less ambiguous or misleading, maybe tweak some wording that trips up non-native speakers, or decide that people have a bad experience answering it and you should drop the question. As an interviewer, I also ask questions from the blacklist. I’m not gonna say something arrogant like “I can tell” if you knew the question ahead of time, but my job as interviewer is to get the best information about you that I can to the hiring committee, and balancing that with the goal of giving you a pleasant enough experience during the interview that you want to accept an offer. Trying to catch cheaters is not my top priority.
All of this being colored by the facts that the interview process itself is a bit traumatic and people running interviews often don’t run them well.
Also, it's possible for interviewers to detect candidates who study the problem beforehand. A couple questions at Dropbox were spread online for years, and it would become clear which candidates read up on those questions online. Some would propose, without prompting, solutions to older iterations of the interview question.
You’re free to ask the questions that you liked, but I found it helpful to use one of the questions from the bank that had a ton of commentary, and then polish it to my own interview style.
It's hard to find a problem that is good at selecting candidates yet doable in 30-60 minutes and different from the problems other colleagues use in their interviews. Most problems are either too difficult or too easy.
* Searching algorithms
* Sorting algorithms
* Dynamic Programming (memoization)
* Graph operations (traversal, best path, minimum spanning set)
* Maps & Hashing.
* Heaps or trees. E.g. finding a median or top-k elements.
Every once in a while you'll get a more exotic problem that requires something like a bloom filter or a trie.
But that's just enough to get the solution. A good interviewer will also see if you can build this solution in a way that has effective abstractions. They'll also probe real-world concerns like data locality. For instance, one solution might be better in terms of big-O notation performance but might have worse access data pattern than other solutions.
Don't problems have to be rotated eventually anyway? You'd think otherwise there would be secret silos of problems and those in the know will have much better results than anyone else.
I am all supportive of people trying to game these big companies. Play stupid games, win stupid prizes.
All questions and their solutions should be exposed, so big tech can get to work on fixing their interview process?
As an interviewer you then have to scrap that question and ask a new question on the fly. This is bad for the candidate because there is now less time and it might be a question the interviewer is less comfortable asking.
e.g. Why is this the right solution? Why not another approach? What are the tradeoffs? Where does this solution fail?