site banner

Wellness Wednesday for November 29, 2023

The Wednesday Wellness threads are meant to encourage users to ask for and provide advice and motivation to improve their lives. It isn't intended as a 'containment thread' and any content which could go here could instead be posted in its own thread. You could post:

  • Requests for advice and / or encouragement. On basically any topic and for any scale of problem.

  • Updates to let us know how you are doing. This provides valuable feedback on past advice / encouragement and will hopefully make people feel a little more motivated to follow through. If you want to be reminded to post your update, see the post titled 'update reminders', below.

  • Advice. This can be in response to a request for advice or just something that you think could be generally useful for many people here.

  • Encouragement. Probably best directed at specific users, but if you feel like just encouraging people in general I don't think anyone is going to object. I don't think I really need to say this, but just to be clear; encouragement should have a generally positive tone and not shame people (if people feel that shame might be an effective tool for motivating people, please discuss this so we can form a group consensus on how to use it rather than just trying it).

3
Jump in the discussion.

No email address required.

Good luck. I saw some good advice on the subreddit. See also the followup comments. The original comment is below.

My ideal interview goes like this:

I paste problem in to doc

TC ("the candidate") reads it

TC generates and solves a trivial example to confirm understanding. E.g. for two sum: so f([2, 3, 4], 5) is True, but f([2, 3, 4], 12) is False, right? No discussion of algorithm yet

TC asks 1-2 needless pedantic questions. Can we assume f is called with appropriate types? Do we need to check if nums fits in RAM? If there is actual ambiguity, ask about that instead.

TC says OK I think I see a way to solve this using $DATASTRUCTURE, in worst case O(n2) time, where n = ..., which should be optimal theoretically because ....

TC verbally, with a little writing but not pseudocode, describes the algorithm, and checks it against their earlier examples.

TC says I think that sounds reasonable, should I start coding it up?

TC codes it up, using at least one helper function, and at least one piece of language-specific style/syntax. Functional programming is always nice.

TC comments at least once that there are two ways to write a thing, and pros and cons stylistically are...

At each step if possible, or when done if not, TC steps through their code with the same examples as before.

My biggest pet peeve is when TC is confused, asks broadly for "a hint", rather than putting in any effort: "I could almost X, but that fails because Y; do you think there's a way to remedy that, or maybe I should consider other options". Bonus pet peeve points if, given the hint, TC has no idea what to do, but confidently says "ah yes of course, thanks"