The interview tag mentions not to ask related questions. I wonder if discussions on product/API/distributed system design, especially on how to prepare, what to consider in the design, are allowed?


1 Answer 1


Not really. This site went through a long evolution during which the scope shifted multiple times. Previously, career-related questions were acceptable (and the interviewing tag still exists for such historical reasons). But now the scope is clearly software engineering (as defined in our help center).

Thus you should not ask how to prepare for an interview. Interviewing isn't really part of the software development lifecycle. However, when you come across a software engineering question during your preparations, it might be able to ask that question here. The best questions are about solving an actual problem you have, but that problem might be that you don't fully understand some concept.

For example, you might be learning more about microservices.

These kinds of questions are a bad fit for this site:

  • BAD: should I study microservices for my interview?

    • career advice is explicitly off topic
    • we don't have the necessary context about you and the company you're interviewing at
  • BAD: why is everyone using microservices?

    • too broad
  • BAD: which Fortune 500 companies are NOT using microservices, and why?

    • list style questions are too broad
    • other people's motivations are too speculative
  • BAD: what are the pros and cons of using microservices for an Instagram clone?

    • too broad
  • BAD: what are the best practices for deploying multiple microservices together?

    • opinion-based

Better questions might be:

  • I'm designing an Instagram clone. How can I keep these two services in sync without having to share a database?

    • concrete, answerable, design-level problem
  • How can I update a microservice without having to keep backwards compatibility, and without downtime?

    • concrete, answerable, design-level problem
  • I'm trying to understand the role of configuration in a 12-factor app. If configuration should be provided by the environment, does that mean I can't have config files?

    • asking about a concept is fine
    • explaining current understanding helps address misunderstandings

Not the answer you're looking for? Browse other questions tagged .