I don't have anything written up in a blog post.
I try to work on soft skills during the interview, I found those to be way more important than knowing to invert a tree.
How does one converse through a problem? How would you go about solving this bug.
I usually do something really simple like
logMessage(from, to, content) {}
searchMessageBySender(senderName) {}
getMessages() {}
Have the candidate fill in the interface and walk through what the choices are and what are the ups/downs of their solution.