3 ms·
The biggest problem for me is that this style of interview focuses on theoretical efficiency. And the discussions about the interview process only cares about "
by vrnvu 5y ago
The biggest problem for me is that this style of interview focuses on theoretical efficiency. And the discussions about the interview process only cares about "real world engineering" vs "interview questions". We are discussing algorithms and data structures. What about actual performance? Your code will run on real hardware. Are we interviewing considering that?
Do you know what memory alignment is? Padding? Branching? The implications in performance of a cache miss? These questions are never asked!
Two nested for loops O(n2) where you considered memory alignment and your cpu cache size when choosing the data structures and defining your structs will perform better than your O(log n) algo with a high missing rate and branching all over the place.
In my day to day I work on a garbage collected language (which I think are great, don't get me wrong) and I'm tired of seeing programmers thinking that memory is free, GC is free, syscalls and networking are magic...
Software engineering culture is broken in general. From the education phase to the "real world".