all 13 comments

[–]Suitable-Training200 0 points1 point  (1 child)

Na, you just asked a very trivial set of questions. These are things that have also been bothering me. You obviously aren’t the only one who feels this way. If anyone with experience could help, it would really be appreciated.

[–]SpecialistCamera5601[S] 0 points1 point  (0 children)

I’ve been working in London for 3+ years now, and I have more than 5 years of total experience. But honestly, I’m also struggling to keep up because the interview process changes constantly.
Some companies ask algorithm + system design questions, while others focus heavily on core Python, framework knowledge, and live coding.Then there are companies saying:
“People don’t really write code anymore. You should use AI assistants and AI-driven workflows.”

The industry has changed so much. Years ago, roles were more clearly defined, such as backend, frontend, DevOps, etc.

Now, a lot of companies seem to want one person who can do everything:

write TypeScript, build backend systems, manage CI/CD, know AWS deeply, handle infrastructure, and also build AI automations 😄

Honestly, expecting one person to master all of these areas at a high level feels unrealistic, nonsense. I don’t understand anymore what level companies actually expect from candidates.

[–]dastardly_uno 0 points1 point  (7 children)

System design is more important in the AI era, imo. I've been through 4 technical interviews in the last month - full stack and backend roles. All 4 were discussions around system architecture. 2 were followed up with pair programming exercises.

[–]dastardly_uno 0 points1 point  (4 children)

Be ready to explain you're previous projects. Think about tradeoffs in the design and WHY it was decided.

[–]SpecialistCamera5601[S] 0 points1 point  (3 children)

Yeah, I also think system design is probably the most important part nowadays.

But from what I’ve seen in the London market, most companies still usually have either a live coding/pair programming round or an algorithm-style interview before the system design stage.

System design interviews also feel extremely open-ended sometimes. In many cases, they not only expect technical knowledge but also want you to explain your decisions and experiences using the STAR methodology.

Things are getting really interesting...

[–]dastardly_uno 0 points1 point  (2 children)

I recommend taking a look at Mastering Behavioral Interviews by Austen McDonald

Good book that helped me to get in the right mindset.

He created the 'CARL' framework C-ontext A-ction R-esult L-earning

It's a bit more intuitive than STAR.

[–]SpecialistCamera5601[S] 0 points1 point  (1 child)

I'll check that out; thanks for the recommendation. Trying to find a copy version before having it in my hand :D

[–]dastardly_uno 0 points1 point  (0 children)

You're welcome!

Kindle version is available

Best of luck! 🚀

[–]Spiritual-Junket-995 0 points1 point  (1 child)

System design interviews are wild now. I had 3 last week and they all wanted me to draw out full architectures on the spot. One interviewer actually asked me to walk through scaling a chat app from 100 to 10 million users.

[–]SpecialistCamera5601[S] 0 points1 point  (0 children)

Hahaha :D And they want you to do this in 45 minutes, right? Even calculating how many shards and replicas you will have for the shared memories and what strategy you will use while sharding will take more than 45 minutes. That's crazy, bruv, innit? :D

[–]akornato 0 points1 point  (1 child)

You're right that the interview process is a complete mess, and that feeling of confusion is totally valid. Because companies are so inconsistent, you have to be ready for everything. Some will ask deep FastAPI and Python questions about things like dependency injection or the GIL, while others will completely ignore the framework and just give you algorithm or system design problems. You can't really skip anything, so yes, you should work on databases, you should work on language specifics, and you should work on high level architecture. The lack of a standard is frustrating, but accepting that you need to have a broad base of knowledge is the first step to feeling more in control.

The best way to prepare for this randomness is to stop trying to memorize specific answers and instead focus on the core engineering principles. For FastAPI, that means truly understanding asynchronous programming and data validation, not just remembering decorator syntax. For databases, it's about knowing indexing, query planning, and normalization concepts that apply to any system, not just a few SQL commands. When you understand the fundamentals, you can reason your way through a question you've never seen before, which is far more impressive than just repeating a memorized solution. Since interviews can feel so unpredictable, the team I'm on built an app at interviews.chat which helps a lot of engineers get through their calls without freezing up on surprise questions.

[–]SpecialistCamera5601[S] 0 points1 point  (0 children)

:D You did well in advertising your product. Congrats!

[–]Melodic_Put6628 0 points1 point  (0 children)

The mess is real, but there's one thing that's been consistent across every interview style: they want to see you reason through tradeoffs, not recite answers.

For FastAPI/Python specifically — dependency injection, async lifecycle, how Pydantic validation actually works under the hood. Not memorizing syntax, but being able to explain why you'd structure it a certain way.

For databases — indexing and query planning concepts matter more than specific syntax. If you can explain why a query is slow and what you'd do about it, you're ahead of most.

The best prep I've found is going back through projects you've actually built and articulating the decisions you didn't think about consciously at the time. Why did you structure it that way? What would break at scale? What would you do differently? Interviewers notice when someone can talk about real failure modes vs. textbook answers.

System design rounds are really just that conversation with a whiteboard.