But if you are doing yet another software as a service CRUD app, or some bespoke app that no one outside of the company will ever see, how relevant are “abstract concepts” as opposed to just sitting some one down to an IDE with a skeletal non working class with failing unit tests and telling them to modify the code to make the tests pass as a pair programming session?
The first time I encountered an interview test like that, was for a company that had a SAAS for railroad car repairs. The coding itself wasn’t that complicated in an abstract way, but the business requirements were insanely complex.
This is just a preview. Going down the rabbit hole of rules around railroads is like going to a tvtropes article.
https://www.railinc.com/rportal/documents/18/260641/Guidefor...