- Tell me about your software development journey. How did you end up here?
- What excites you about software engineering?
- What in particular interests you about
$company
?
Hopefully other stuff comes out of this
- Can you tell me about this event driven microservices architecture [or whatever interesting thing] you wrote? Can you diagram it?
- What considerations went into the technology choices here?
- What are the advantages and disadvantages of buying a managed service versus running it yourself? When would you do one or the other?
The details about this system aren't thaaaat important.
You are given a Python application that talks to a mySQL database. The whole system runs on one physical machine in your lead developer's garage. How would you make this performant, observable, and fault tolerant?
Follow up: How do your improvements affect expected failure modes? How do you handle that?
Let's run through some failure scenarios. What does it mean?
- Your application returns intermittent status code 503s.
- Your application returns actual status code 500s.
- Your application gives returns status code 502s.
- Your application returns nothing at all. It just times out.
- You get both no data and a weird 5xx status code. [Where could these 500s be coming from, do you think?]
- variation 1: Status code 522, "This site can't be reached" in browser
- variation 2: Status code 524
Todo:
Networking
IaC (and why?)