3

How many of you have formalized knowledge in computer science theory? Do you find yourself using that knowledge in your daily engineering life? For example, knowing random search algorithms, or obscure data structures. I ask this because of the modern "technical interview" trending towards discrete math instead of actual programming ability. Instead of coding projects I care about or reading research papers, I'm just doing discrete math problems to prep for recruiting. While it's not the worst thing to do I just wish there was a more direct way of interviewing a person's engineering abilities.

Comments
  • 2
    I have some knowledge, though I didn't study CS. For embedded, EE is more common because you need to understand how the hardware works.

    What I need often is state machines. They make a clean and robust design that is easy to understand.

    Sorting algorithms? I can code a bubble sort from scratch, that's it. I don't remember what I can look up, but I know when to use what algorithm. For example, you won't want quicksort for embedded.

    I know data structures like trees and lists, but in reality, I use arrays because dynamic memory management is another thing that you don't want for embedded. Sometimes, I use ring buffers with underlying arrays.

    However, I can answer some tricky AND relevant questions by heart, e.g. what volatile does and what it doesn't, what memory fences are and where to use them, and a shitload of things regarding undefined behaviour, pointer aliasing and the like.

    I got my first job because in my master thesis, I had implemented a considerable project in assembly.
Add Comment