who could have seen this coming, other than everyone who told the homebrew tree inverter guy this was a bad idea they absolutely shouldn’t do

  • Sailor Sega Saturn@awful.systems
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    8 months ago

    No one could figure out what inverting a binary tree actually means. Like maybe swapping left and right or something?

    In which case the best way to invert a binary tree of course being:

    struct Node {
     private:
      Node *leftish = nullptr, *rightish = nullptr;
     public:
      static bool inverted;  // I hope no one ever needs two trees...
    
      // O(1) tree invert operation!
      void Invert() { inverted = !inverted; }
      Node &left() { return inverted ? *rightish : *leftish; }
      Node &right() { return inverted ? *leftish : *rightish}
    };
    bool Node::inverted = false;
    

    Don’t change the tree. Change your perception of the tree.

    • sinedpick@awful.systems
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 months ago

      I mean sure? Swapping the pointers recursively is also fine. It’s a question meant to see if the interviewee can talk about data structures or code, not to come up with a perfectly optimal working solution. Having a lengthy discussion about what “inversion” of a binary tree even means would even be totally fine imo.

      I’ve interviewed a fair number of candidates and I ask them a very simple question with a bunch of edge cases and grade them based on how they talk about it, not the final solution.

      I get the feeling that Max got frustrated and wasn’t able to coherently speak about the problem, or the interviewer was dumb as rocks. I think both are equally likely.

      • Sailor Sega Saturn@awful.systems
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        8 months ago

        Oh yeah I’ve had the misfortune of giving hundreds of interviews – mostly programming interviews, but also talking interviews which I consider vastly superior. As well as being on the receiving end of a few.

        I’ve definitely had people do poorly under pressure before. This can be over-complicating the problem, clamming up (surprisingly common), or simply getting too worked up by the interview setting. I hate that because I often think they could have met my rubric in a more relaxed environment.

        I’ve also been on the receiving end of bad interviewers. Don’t get me started on HP asking me to implement offsetof in C++… n.b. implementing offsetof in C++ w/o undefined behavior is impossible it has to be a compiler builtin.

    • froztbyte@awful.systems
      link
      fedilink
      English
      arrow-up
      0
      ·
      8 months ago

      idly, first time I’ve seen lemmy do any sensible render with a textblock, which retro-informs a lot about the choices for text handling (which we’ve wondered bout in the other thread)

      • sc_griffith@awful.systems
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        8 months ago

        A whiteboard is just a glorified chalkboard, and I got sick of being asked to prove I understood how to use and manipulate one of the most complex systems ever invented by man by basically rubbing a soft rock against a hard rock.

        I’m now in favor of puzzle interview questions, just so this guy gets asked them

        EDIT: I was trying to reply to a different comment whoops. this is from the hackernews thread

        • blakestacey@awful.systems
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          His complaint seriously backfired here, because it makes working on a chalkboard sound epic. The act of rubbing one rock against another becomes ascendance into the highest realms of thought? That’s fuckin’ alchemy, bro.