4 ms·
>This kind of thing may be partly why interviews are heavy on CS fundamentals -- most good developers agree that they are important in a way that framework quir
by crdoconnor 10y ago
>This kind of thing may be partly why interviews are heavy on CS fundamentals -- most good developers agree that they are important in a way that framework quirks are not
Google's interviews are heavy on fundamentals because virtually all of Google's tech stack is home grown.
Other companies imitate this behavior largely because "if google does it it must work great".
Ironically a majority companies actually miss the CS fundamentals that are vitally relevant to them (e.g. relational theory) in favor asking the fundamentals that aren't (e.g. big o notation).
- NotSammyHagar 10y agoWhen I worked on databases at Microsoft we were totally trying to find people with good cs fundamentals, and who could program. That was what we were looking for (like totally, dude :-)). At google we looked for those things. And in my new job, we also look for those things. Sure, now we ask questions about server and distributed programming, but good cs fundamentals are fundamental still.
- CydeWeys 10y agoYou mean relational as in RDBMS, right? I'm curious, what parts of relational DBs do you think are under-emphasized in a typical CS education that you make sure to ask interview questions about? Things like what does a LEFT JOIN do, etc.?
- crdoconnor 10y agoNormalization is under-emphasized in interviews.
- CydeWeys 10y agoOne interview problem I've had before that was clearly intended to measure good database design sense and understanding of normalization was "How would you design the database for a restaurant reservation system?" There are a bunch of restaurants, each of which has a bunch of different tables, each of which can be reserved for chunks of time on various days. I won't go into the details, but you can see how a good answer is maximally normalized. Is normalization taught in a typical CS education outside of a Databases class? Is it a general topic, or is it so specific to the scope of RDBMSs that you don't see it mentioned elsewhere? I don't remember.