As far as asking questions. I use a modified version of the Joel Test:https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...
Basically, getting rid of the last 2 questions and asking about automated testing, code reviews, continuous integration, etc.
I always of course ask about the technology stack and the amount of autonomy developers have.
Need to use this next time :}
Early 2012 - contract over self explanatory
Mid 2012 - I was brought in to work on a new .Net project and to convert a PHP project to .Net. Two years later they abandoned the .Net initiative and everyone was working on PHP. That wasn't a career direction I wanted to go in.
2014 - I was brought in by a manager who wanted people who would aggressively pursue change and modern best practices, they pushed him out and all of the people who didn't want to hear about change started pushing back on his hires.
So when I was looking for a job late last year, I was very specific about the technology stack I wanted and the coding practices that were in place. Ironically, I ended up accepting an offer with a company that ranked 2 out of 14 on my modified Joel Test. But I was promised the support of the manager to come in and implement best practices.
I do believe 2 years is a great norm, 1 year for getting up to date, 1 year for giving the company a chance. But, we're in high-demand (mostly) and if you don't feel comfortable at a company, life's short, not worth staying imo.
I'd also like to point out, while I have a great track record of interviewing, it seems (pointing to the quantity of positions I've held) that I need to do a _much_ better job of asking questions about the company in the interview phase itself.
While I do feel stuck at my new job (2 mos), I have a different approach mentally for keeping myself happy.
It's all contextual/anecdotal to the person involved. Though I'll tell you, my mother is always worried about the short-term positions. Just for a personal reference.