#1 Ask their opinion about language X or framework Y
Programmers should be opinionated. There should be a language or tool that they believe is the best (until something better eventually convinces them otherwise). This is because they've gone through growing pains and faced challenges that they were able to solve with some specific language or tool.
I always tell people that a red flag is when a developer has no preference. I've used many languages and currently work with 3-4 throughout any given day, but there is one that I'm most excited about.
Remember to ask "why" a lot, but you don't need to understand how the languages, frameworks, or tools work. You're just trying to dig for more and maybe even add a little pressure. You're looking for interest, motivation, and enthusiasm.
You can also, sometimes, determine here if the person is good cultural fit...Sometimes being over opinionated can be a bad thing. You certainly don't want someone who is really negative on a team.
This is a really good entry into the next two questions.
#2 Ask about challenges they may have solved.
This should be very natural coming off the last discussion because, again, they likely use what they use because it helped them solve a difficult problem in the past.
Nothing is easy about programming (especially for the web or mobile). You should never hear from someone that they didn't face any challenges. If you do, then they likely aren't experienced enough.
This question is important to see how they understand business problems too. Look for that. Ensure that they understand business goals and how sometimes the code isn't exactly how they'd like...But it helped the company make money or made the client happy.
There's a give and take to web programming that many programmers don't get. This leads to a lot of frustration because something wasn't done "properly" or up to some standard. Believe me, I've warned people many a time and I'm not always happy with the code I have to work with...But I've also seen "bad" code make millions of dollars.
#3 Ask what communities and projects they belong to and contribute to.
Most web developers should be into open-source projects and tools. They help us get the job done faster, plain and simple. They also help us learn.
To see a web developer unaware of any, not using any, or not engaging with people (even to ask a question or file an issue on GitHub)...This is a huge red flag in my book.
You want a developer who is active in the community because they likely then can reach out to others to solve problems that they have a tough time with.
Contributing to open-source projects also means they understand process and how to work with a team (usually) because these projects have guidelines and a process for contributors.
This can, yet again, be a signal for cultural fit. Does the developer go off and argue with people in the community? Or are they constructive and friendly? Do they not even bother to talk to others in their industry? Why?
These are all high level questions that pretty much naturally fit together and are what I've been using for years...And I'm a developer! I could ask more technical questions, but at the end of the day it's the cultural fit, motivation, and ability to learn and problem solve that interest me more.
I don't want someone who knows only X language and is even the best at it. I want someone who can learn X, Y, and Z should they need to.