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
    link
    fedilink
    English
    14
    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.

    • @[email protected]
      link
      fedilink
      English
      68 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)

      • @[email protected]
        link
        fedilink
        English
        13
        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

        • @[email protected]
          link
          fedilink
          English
          148 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.

        • David GerardM
          link
          fedilink
          English
          98 months ago

          yeah, I’m thinking there were a few more problems than not being able to invert a binary tree

          • @[email protected]OP
            link
            fedilink
            English
            88 months ago

            I will quote the entirety of Max’s website here:

            MAX HOWELL is a legendary open source developer. Creator of Homebrew, used by tens of millions of developer around the world. Founder of tea protocol a decentralized technology protocol that enables open source developers to be rewarded for their software contributions for the benefit of all humanity. He is known for his careful approach to software development that results in delightful products that solve their niches perfectly.

            what a fucking metric. I’m a lot closer to being a legendary open source developer than I thought.

            also I found his TED talk on AGI while I was looking that up:

            Max Howell draws back the curtain on the reality that artificial super intelligence will be here sooner than we think, and shares his approach to thinking about how it might impact our future. Max Howell has a master’s degree in chemistry, but after a year in the profession, abandoned it upon realizing chemistry is “super boring”. He began exploring open source coding. After working at Last.fm, then TweetDeck, Howell created Homebrew, an open source software manager that is today used by about 50 million people. He also authored a tweet about the interview process in the software industry that has been viewed more than 3 million times. Last year, he and his wife started a mobile app development company in Savannah.

            • @[email protected]
              link
              fedilink
              English
              118 months ago

              I will quote the entirety of Max’s website here:

              Wait, the dude wrote that about himself? Jesus fucking christ, I wouldn’t hire him for anything just based on that. “Hello, I am Max Howell and I have a LEGENDARILY giant dick that pleases multitudes.” Get the Howell outta here.

            • @[email protected]
              link
              fedilink
              English
              88 months ago

              Max Howell has a master’s degree in chemistry, but after a year in the profession, abandoned it upon realizing chemistry is “super boring”

              boo

    • @[email protected]
      link
      fedilink
      English
      6
      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
        link
        fedilink
        English
        9
        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.