13
donuts
6y

So technical interview today but woke up (6am) and started thinking about it and it led to this rant about algorithms. This is probably going into a Medium post if I ever get around to finishing it but sort of just wanted to share the rant that literally just went off in my mind.

*The problem with Algorithms Technical Interviews Is They don't test Real skills*

Real world problems are complex and often cross domain combining experience in multiple areas. Often the best way is not obvious unless you're a polymath and familiar with different areas, paradigms, designs. And intuitively can understand, reason, and combine them.

I don't think this is something a specific algorithm problem is designed to show. And the problem is the optimal solution to some of these and to algorithm design itself is that unless you train for it or are an algorithm designer (practice and experience), you can only brute force it in the amount of time given.

And quite frankly the algorithms I think we rely on daily weren't thought of in 30 minutes. The designers did this stuff for a living, thought about these problems for days and several iterations… at least. A lot were mathematicians. The matrix algorithm that had a Big O of 7N required a flash of insight that only someone constantly looking and thinking about the equations could see.

TBA
-system design
-clean readable coding practices
...

TLDR: I could probably go on and on about this stuff for hours jumping from item/example/area to the next and back again... But I don't think you can test these (~20) years of experience in a 1 hr technical interview focused on algorithms...

Comments
  • 2
    Are you sure you want to work for a company that tasks you with an algorithm in an interview? What does it tell you to expect from your potential coworkers?

    I was recently in interviews with three different companies. I ended up choosing the one with the most fun technical interview since all other factors were practically equal between the companies. They tasked me to draw up the architecture for a picture-based sheep registering and analysis system, asking me to consider scaling, peak hours, delays and non-technical users. I had ten minutes for myself to draw something up, then the rest was just discussion. It was a great experience and told me about them to the same degree it told them about me.

    I think they liked med from the moment they saw a drawing of a cell phone with a crude cartoon sheep in it. :P
  • 2
    @Buggz well I only know financial so far. I guess today will be a real tech one so maybe different but usually IT copies whatever Tech does...

    Your example though is a system design problem. Usually they will also throw in more algorithm ones. These are pretty standard, there are books on it and websites like CareerCup, leetCode, HackerRank just to prepare for these. But yes if I'm not going to be writing low level algorithms, why the hell does everyone test this stuff like its the Holy Grail of a developer's worth? Just give me a real problem with vague requirements and I will show you how I do my actual job and using tools and algorithms as needed.
  • 2
    It depends on the position you applied for of course, but if your job won't be 90% algorithms I don't see the point. My new job is as a .NET consultant, I'll be lent out to different clients on long term projects so my skills need to be flexible and broad.
  • 2
    @Buggz neither do I but that's what they still test. You can be great at algorithms but a horrible practical developer. Just look at college Algorithm textbooks written by professors...
  • 1
    @Buggz maybe tech will be different but yes. On the job, it's better to have a broad skill set (T-shaped they call it) but your tech interview is testing skills in one narrow area...
  • 2
    Tech interviews really are an unsolved problem, but that's why my tech interview was such a pleasant surprise.

    In any case, @billgates, keep in mind that the interview is a two way street and good luck!
  • 5
    Fucking hell this rant made me think of my first programming interview years ago, I was going for a job where ide be using c# in unity3d and the interviewer decided to ask me how I would program a garbage collector (keep in mind this is a junior position and c#, which handles GC in 99% of cases) the interviewer very clearly had his mind set on what he wanted from me but i was just out of school and not an expert in memory scanning etc, like what the fuck kinda questions is that, especially for the position I was going for and the language ide be using. I mean shit I could have figured it out provide I could spend a few week learning non-job requirement material... FFS I was so annoyed by that question, and how he would rope me along with his idea of a solution fucking berating AF.
  • 0
    📌
Add Comment