I don't really know how I'd do flowcharts and data flow diagrams and data structures and walk thru algos with a keyboard, although on paper or whiteboard its pretty easy. List of questions that need to be answered. Lists of good test to be run in the integrated testing system. Lists of "important points" to be put in to the docs or comments.
I mean it can technically be done with ASCII art and comments or maybe a cad program or good ole visio, but I'd rather just scribble some stuff down.
The part that trips me out is I haven't done ultra low level stuff since school. In industry nobody writes their own NIH stack or NIH rational number library, that would be completely insane and get you fired so you never think about it anymore. Some of the little brain teasers do look kind of like fun, by "shuffle an array" you mean implementing a physical vegas style card shuffle with cutting the deck and everything, that sounds awesome fun, I'm sure you could do it "the boring, right, way" but implementing a little vegas dealer robot that cuts and shuffles exactly X times sounds like fun. Maybe some times the perfect alternating shuffle isn't. And the cut needs sensible limits to be kinda in the middle third-ish not the extremes. Imagine the unit tests to verify enough random-ness.
Here's one thats simple and fun and more interesting than the provided array example for stats. You're allowed private variables BTW. Implement an object that can be streamed any arbitrary quantity of incoming numbers while streaming out the min max and avg at any time so far. Thats a classic where you keep the running subtotal and count in private variables in addition to the obvious min and max. You could use that as the back end to the question in the article, just strip elements off the array one at a time and feed them to the super duper streaming calculator. In "the old days" this algorithm was how cheap scientific calculators did arbitrary statistics without holding all data points and calculating the whole thing ab inito every step.