Hacker News new | ask | show | jobs
by entitycontext 3748 days ago
It seems like there is a large middle area of concepts in between low-level algorithms/data structures and high-level system architecture that are left out of many of these interview prep guides:

* Principles and patterns of object-oriented (or functional) design

* Relational (or NoSQL or analytics) database design

* Unit, integration and system testing

* Logging, profiling and debugging

* Source control (e.g. branch/PR/merge flows)

* Deployment and devops

Do these subjects really not come up in some programming interviews?

2 comments

From my experience, if they do come up, it's only because I was asking them what they used. I don't think I've ever been asked about any of these topics, with the exception of database design.
It's a shame, since these topics could make for a rich conversational interview that probably has more to do with the actual job than whiteboarding an algorithm. Just taking source control as an example, a hypothetical interview question could be something like:

"You've been assigned to implement feature X in our product. Assume that the specs are clear and you have a pretty good idea what code you are going to write. Also, assume that your teammates Joe and Jane have been assigned features Y and Z respectively with roughly the same due date as your feature. Ideally, describe how you would make your changes, test them and coordinate with your teammates to get all three features merged into the master source code."

Obviously a lot of details are missing, but they can be fleshed out in conversation (during which the interviewer should also describe the current process used on the team the candidate is being hired for). This would give both parties some insight into experience and expectations.

Sure they do. "Model a parking garage in code" or "design a database with customers, orders, etc" are classic interview questions.
What is expected from something like "model a parking garage in code?"

Something like a garage class that has properties like numberOfCars, maxAmountofCars, maxHeight and methods for insertCar(), removeCar(), isGarageFull() ?

Probably that and, I don't know, maybe modeling a Car class and various subtypes that inherit from it?
Probably keeping track of how many parking spots are available as cars enter/exit, and denying entrance if you're full up.