• danc4498@lemmy.world
    link
    fedilink
    English
    arrow-up
    27
    arrow-down
    1
    ·
    2 years ago

    Maybe it’s like teaching kids the quadratic equation; where it’s less about learning the thing and more about understanding how to problem solve and use logic.

    In this case maybe the point is to show an understanding of algorithms and that you can explain them out loud.

    • shortrounddev@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      2 years ago

      If it’s about problem solving and using logic, why do we need to memorize quicksort? That’s not an example of using logic or problem solving

      • sus@programming.dev
        link
        fedilink
        arrow-up
        11
        arrow-down
        1
        ·
        2 years ago

        it’s actually about testing your ability and willingness to jump through hoops that serve no discernible purpose, one of the most vital skills for working within 99% of human organizations

      • danc4498@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 years ago

        I meant that as 2 separate thoughts. The quick sort is about understanding algorithms and ability to communicate them.

        • shortrounddev@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          2
          ·
          2 years ago

          “how to problem solve” and “use logic” are, I believe, myths. When you teach someone to implement quicksort, all you’ve done is taught them to implement quicksort. Classroom based lectures and rote memorization do not impart any kind of broader “problem-solving” ability. This is an ex post rationalization by the perpetrators of the education system to justify their own existence. I place the value of what they do very low

    • frezik@midwest.social
      link
      fedilink
      arrow-up
      9
      ·
      2 years ago

      If it were a question about the tradeoffs of different sort algorithms and how they might apply to a given problem, I would agree. That’s not what these interview questions are about.

      • danc4498@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 years ago

        Maybe it’s about being able to communicate an algorithm verbally. Unless these are written interviews, then yeah, probably pointless.

        Also, I do think being able to understand how an algorithm works is probably important on its own.

        • qarbone@lemmy.world
          link
          fedilink
          English
          arrow-up
          8
          arrow-down
          1
          ·
          2 years ago

          Then give them some code and tell them to explain it. Having testees regurgitate algorithm implementations from memory is just testing rote memory.

          I thought we had all lived through terrible public schools that just tested memory, and resolved to do better.

          • BombOmOm@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            arrow-down
            1
            ·
            2 years ago

            Yeah, it’s a solved problem. I’m going to call the library’s default sort and move on. If it somehow is a problem, I’ll revisit later.

            Now, optimizing database calls, fixing (and avoiding!) security holes, writing tests that don’t take forever to run, writing functions so they can be easily re-used later, and not duplicating code. Now there are some skills!

            “It’s faster if we make a duplicate of this function and change this section, then we can move onto other things”

            “No it’s much slower, because your code review just came back telling you to throw that idea in the garbage and do it right”

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          2 years ago

          There’s a lot of ways to test communication skills. This doesn’t seem like a very good one.