I haven't interviewed since 2023 and I'm preparing for a senior full-stack position. Are algorithm and coding-puzzle interviews still common, or has the rise of AI made them less useful? Should I spend time practicing LeetCode, or focus more on system design, code review, and real-world engineering scenarios?
4 Answers
LeetCode can still be useful as mental exercise and for learning algorithms, complexity, and different ways to approach problems. However, memorizing solution patterns just to pass interviews is less valuable than understanding why a solution works and when you would use it. I use it more like Sudoku than as my main interview preparation.
Yes, it’s still used, especially by larger companies, and live coding has become more common now that take-home assignments can be completed with AI. For a senior role, you probably don’t need to grind hundreds of difficult problems. Review the common patterns, practice explaining your thinking, and put more preparation time into system design, behavioral questions, and practical coding.
At senior level, coding is often more of a pass/fail screen. System design and behavioral interviews usually have more influence on the final level and hiring decision.
For a senior full-stack position, I’d prioritize system design, API and database design, scaling, debugging, code reviews, and discussing tradeoffs in production systems. A strong interview might ask you to review flawed code, identify bottlenecks, design an API for increased traffic, or explain how you would use AI tools safely. Those scenarios are usually closer to the actual job than solving an obscure graph puzzle from memory.
There isn’t a universal answer. Some experienced developers go through entire careers without seeing algorithm puzzles, while others encounter them repeatedly at larger companies. Check the company’s interview format if possible, then prepare enough common data structures and patterns to avoid being surprised, but don’t neglect practical engineering and system design.

That kind of practice is still useful because AI-generated code can be subtly inefficient or incorrect. You need enough fundamentals to review it rather than blindly accepting the first solution.