Software engineers have two jobs:
These two jobs do not overlap much.
Preparing for the job interview (separate of preparing for the job) is a valuable activity for software engineers, as it can directly improve your chances of getting the job in the first place.
Given that, I can share from personal experience that the “system design” interview has risen in popularity for software engineering jobs.
Much like consulting firms and case interviews, system design interviews are evaluating:
There are a ton of free and paid information resources out there online for helping you prepare for the system design interview.
Specifically, Facebook coaches job applicants (which I was at one time) on how to prepare for these interviews.
They even pay for an online course curriculum that you can study as a job applicant.
To the best of my ability, I followed the interview prep course that Facebook provided and took notes below.
The course lays out a framework for presenting your solution to a system design job interview question:
Now the real question: did this course improve my perceived performance to my interviewers vs. not having consumed this content?
It’s hard to say, but I think so.
Demonstrating familiarity with the system design format shows that:
In conclusion, I would recommend preparating for the system design interview format in your softare engineering job search.