I posted a rant... on Quora: Why-do-most-software-developers-suck-at-algorithm-type-interview-questions



  • 2
    I always hated the data structure and algorithms questions. Ask me stuff that I will actually use! But I have to say, I see your point. A bad developer takes more manpower to handle. And if you miss a couple gems, better than hiring a turd.
  • 1
    @LiquorFueled I find some understanding of algorithms useful, just "expands your universe" let you maybe think outside the box when needed.

    Data structures, may more so in Java. Honestly usually I use List or Dictionary/HashMap but LinkedList, Graphs, they're sort of useful in certain domains. And with graphs DFS, BFS, recursion.

    I use to avoid recursion completely and yea most languages will cause a StackOverflow but I've found it's a really good way to think about solving a lot of problems. Then once you have the recursive solution, replace it with a loop that processes a Queue or Stack?

    For me I guess, it's just stuff that's good to know Before I knew these data structures, the idea of using one (even though it would make solving the problem so much simpler) never occured to me.
  • 0
    @LiquorFueled I should've reread my response before posting basicallly a summary here... lol
  • 0
    @matsaki95 how? Don't see the logic
  • 0
    @matsaki95 wouldn't that just be a loop? While (true) {...}
  • 1
    In a perfect world I'd like to see more assignment based interviewing, where you are given a task, and you go solve it your way (given a couple days, not 30 minutes). This way potential employers get a sense of how you approach problems, and your decisions made about data structures are quite telling.

    I think back to a HackerRank assesment I had to do for a job. So we had 45 minutes to do 3/5 questions. The most difficult one was a 10*10 grid, you were a mouse trying to find the cheese in the landscape. We weren't given any function signatures, so very open question. Anyway, 45 minutes wouldn't get many people far, so no one is going to pick that question....

    I would have loved to have that one assignment over 2 days, as I would have been able to show off my actual knowledge about Data structures and some advanced search techniques, maybe even solved it Wompus World style.
  • 0
    @t04glovern Yea I mean one problem that I always see at work is there's just not enough time to do things well. I was actually going make another blog about that, maybe later.

    But being able to solve an algo problem in 10 minutes doesn't mean it is good design and probably will break if you change one little thing.

    That's what I see in a lot of code at work, there are classes that just do one specific thing, monster functions. Basically screams "prototype/hack solution".

    Works now but if you have to change it in the future... you're going to want to kill someone.
  • 1
    and actually i had a conversation yesterday with my boss about some project I was working on. Suddenly deadlined is cut by a month, he wants to use it this weekend... for a different purpose.

    Well guess what the code changes will look like? (luckily though, as I built a lot of the software in a flexible way, its not going to be that hard).

    Again, long-term vs short-term thinking. Monkeys think short-term 100% and that's why they are monkeys... how they get into management..........................
  • 0
    @billgates that's it, obviously you can't write perfect code all the time, but I think if you have the time, you'd damn well better attempt to do it properly.

    Same with interviews. Give me a little bit of time and you'll see me produce something truely beautiful.
Add Comment