As I get older, I realized I’m not as sharp as I used to be. Maybe it’s from the fatigue of juggling 2 kids, but I’m very ill prepared for interviews because I simply can’t answer “product questions” and brain teasers. It’s a skill I need, and truthfully I was never good at consultant type questions to begin with but I’m seeing a lot of these questions in Data Science interviews.<p>Any help or resources will be tremendously appreciated.
From the description, it sounds like what you're asking about is more along the lines of mental acuity rather than critical thinking per se (the latter is more about analysis in order to form judgments -- recognizing fallacies, rhetoric, and using deductive/inductive logic to form arguments).<p>If you're asking about mental acuity so you can think faster and solve brain teasers at interviews, many of the other comments in this thread offer great suggestions. Achieving familiarity with the problem space and pure practice are keys.<p>If you're asking about actual "critical thinking" (though I suspect that is not the case from your description, but it's an interesting topic that you might want to pursue anyway), the classic methods are the Socratic method, disputation and critical discussion of ideas with other people. If you don't have that luxury, you can train yourself by arguing with authors in the margins when you read books. Writing is key -- it helps crystallize thoughts and reveal weaknesses in thinking. Courses in philosophy also help provide a foundation on different approaches to reasoning.
I’m surprised no one has mentioned, but cardiovascular exercise is the number one know method to improve the health and function of your brain. Other suggestions are great as well if used in conjunction. I’ll come back and edit this with sources when I get the time.
Play chess, and do physical exercise.<p>Both will develop your mental stamina, and chess especially will hone your adversarial thinking.<p>You may even find that your chess fitness is directly comparable to your programming fitness and vice-versa. When you're programming fit through working on some incredibly hard problems in the week (think distributed systems or file systems or algorithms), then your chess will show an improvement. And when you're playing several hours of chess a day against a good opponent, then your programming will likewise benefit and your bug count drop as you naturally start thinking further ahead.
It will be a combination of things. Make sure you are getting enough sleep and exercise.
Pretty mind boggling that they are still asking brain teasers in interviews. If that is the type of question they are asking you can practice brain teaser and consulting type questions before an interview to.
Have a good grasp of the fundamentals of any subject matter before an interview. Practice is key.<p>Outside of that apply the concept of katas daily (<a href="http://codekata.com" rel="nofollow">http://codekata.com</a>)
For Data Science brain teasers, solving math problems that require clever use of the fundamentals. That means calculus, linear algebra, and basic stats.<p>A ninja is not defined by his sword. Reading books gives you new weapons, but you must learn to use them proficiently. Solving problems is therefore critical.<p>Some good sources of problems:<p>Sanjoy Mahajan (2010) "Street Fighting Mathematics"<p>Xingfeng Zhou (2008) "A Practical Guide to Quantitative Finance Interviews"<p>Timothy Crack (2019) "Heard on The Street: Quantitative Questions from Wall Street Job Interviews"
I stumbled onto brilliant.org recently and while it’s a bit narrow (Math skills), it seems better suited to cognitive training than most other attempts I’ve seen
Reading definitely helps a lot. Pick up different types of books, such as entomology, city planning, history, marathon training. Even beginner level is good enough. You just want to see how people solve problems.
Problem solving: <a href="https://en.wikipedia.org/wiki/Problem_solving" rel="nofollow">https://en.wikipedia.org/wiki/Problem_solving</a><p>Critical thinking: <a href="https://en.wikipedia.org/wiki/Critical_thinking" rel="nofollow">https://en.wikipedia.org/wiki/Critical_thinking</a><p>Computational Thinking: <a href="https://en.wikipedia.org/wiki/Computational_thinking" rel="nofollow">https://en.wikipedia.org/wiki/Computational_thinking</a><p>> <i>1. Problem formulation (abstraction);</i><p>> <i>2. Solution expression (automation);</i><p>> <i>3. Solution execution and evaluation (analyses).</i><p>Interviewers may be more interested in demonstrating problem solving methods and f thinking aloud than an actual solution in an anxiety-producing scenario.<p><a href="https://en.wikipedia.org/wiki/Brilliant_(website)" rel="nofollow">https://en.wikipedia.org/wiki/Brilliant_(website)</a> ;<p>> <i>Brilliant offers guided problem-solving based courses in math, science, and engineering, based on National Science Foundation research supporting active learning.[14]</i><p>Coding Interview University: <a href="https://github.com/jwasham/coding-interview-university" rel="nofollow">https://github.com/jwasham/coding-interview-university</a><p>Programmer Competency Matrix: <a href="https://github.com/hltbra/programmer-competency-checklist" rel="nofollow">https://github.com/hltbra/programmer-competency-checklist</a><p>Inference > See also:
<a href="https://en.wikipedia.org/wiki/Inference" rel="nofollow">https://en.wikipedia.org/wiki/Inference</a><p>- Deductive reasoning: <a href="https://en.wikipedia.org/wiki/Deductive_reasoning" rel="nofollow">https://en.wikipedia.org/wiki/Deductive_reasoning</a><p>- Inductive reasoning: <a href="https://en.wikipedia.org/wiki/Inductive_reasoning" rel="nofollow">https://en.wikipedia.org/wiki/Inductive_reasoning</a><p>> <i>This is the [open] textbook for the Foundations of Data Science class at UC Berkeley</i>: "Computational and Inferential Thinking: The Foundations of Data Science" <a href="http://inferentialthinking.com/" rel="nofollow">http://inferentialthinking.com/</a>
I'm not sure you can if the definition of "critical thinking" is forming snap solutions to novel problems in a few minutes. Experience is expressed by coming to quick solutions to familiarish problems and considered solutions to unfamiliar problems. And with experience comes intuition about what is and isn't so important. There is just no way to move braing-teasers to the important side of an experienced intuition when the problem domain resembles that in which a mature individual is experienced.<p>When I was actively providing advice on the Architectural Registration Examination, I used to see this all the time with the Site Design test. The test gave the test candidate ninety minutes to organize several components on an unfamiliar site against a set of competing requirements and constraints. A common rant in the discussion forum was "I failed even though I've been laying out sites professionally for {N} years," where {N} might be from three to ten.<p>The first ninety minutes of real world site design consists of opening the civil engineer's email, creating a directory to for the project, saving the attached CAD file, cleaning it up enough to be usable for architectural design purposes, printing the regulatory requirements for the project file, talking with the principal-in-charge about the client requirements, and then going to lunch because it's been four hours and maybe starting on the design in the afternoon or later in the week because that's the way the world works and the client requirements will probably change anyway.<p>Which is how experience made it easy to fail the test because of the ways the test did not reflect the real world. The real world has depth and a lot it-depends and experience pays off precisely because it handles the depths and makes informed choices about all the it-depends.<p>Or to put it another way, <i>Fizz-Buzz in TensorFlow</i>, <a href="https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/" rel="nofollow">https://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/</a>
I can't believe no one has mentioned writing - try thinking about something you strongly believe in (but others disagree with, like a political/philosophical view), then write out your argument for why it is true. Then write out what you think your opponent believes and think about how they would pick apart your argument. Then rewrite your side again. Have someone else read both sides and critique each.<p>Also try explaining how to do some task. Give it to someone else and, based only on your instructions, have them try and do the thing you laid out. We're they able to do it effectively? What questions did they have and where did they get confused? These will help you improve your explanation and argument skills.
Fish oil is a good one. It's supposed to prevent Alzheimer's if you take one gram a day, and it may improve your eyesight and heart at that dose.<p>You can take five a day. You can take 10. People with heavy brain damage (many minutes without oxygen) take 15 a day for six months to learn to walk and talk again, and they get recover.
Joe Rogan recently had Dr Andrew Huberman on his show [0]. Dr Huberman had a lot of fantastic information about changes in mental plasticity and how to triggering learning in adults.<p>[0] <a href="https://m.youtube.com/watch?v=gLJowTOkZVo" rel="nofollow">https://m.youtube.com/watch?v=gLJowTOkZVo</a>
I think both math and (analytic) philosophy can help. When I say math, there's two different things I have in mind. One is just solving problems. Get any old text book at your level and start doing homework problems. Same works for physics. The other thing I have in mind is theorem proving. Look at Paul Halmos' book on Naive Set Theory for example or pick something more at your level.<p>As for philosophy, trying to pin down subtle distinctions and following the extremely abstract arguments could help. You could start there with text books, or reading in the history of philosophy like Aristotle, Plato, Descartes or maybe by looking up concepts and problems you're already familiar with in SEP.<p>Good luck and have fun.<p>[1] hhtp://plato.stanford.edu/
Meditation can help maintain neuroplasticity and help you in many other parts of your life as well. I recommend the waking up app for a good intro<p><a href="https://www.wakingup.com/" rel="nofollow">https://www.wakingup.com/</a>
If you haven't already, check out <a href="https://projecteuler.net/" rel="nofollow">https://projecteuler.net/</a>. It's a huge collection of logic problems of varying difficulty that require a mix of math and programming to solve. There are 723 problems at the time of this writing, and a new one is added each week. After solving a problem (you need an account to submit solutions, but can view all problems anonymously), you get access to a discussion thread where you can gawk at the often mind-blowing solutions that other solvers have hacked up in all kinds of languages.
1) Think hard about things that you have to work at in order to understand
2) Engage in exercise that regularly includes anaerobic intensity
3) Sleep well and deeply<p>Learning is brain growth that occurs as a result of thinking, largely during rest and sleep following the activity. Exercise will increase the amount of growth that occurs (mentally and physically), and good cardiovascular health is effectively the same thing as good brain health<p>And, maybe obviously, practice the brain teasers and interview questions. They are a skill that is not the same thing as being mentally sharp
I notice the same issues as I approach 50.<p>Here's what seems to work for me:<p>1. Plenty of cardiovascular exercise.<p>2. Eat well, including plenty of green plants.<p>3. Get plenty of sleep.<p>4. Limit online consumption and other unimportant inputs (TV, gaming, podcasts, etc).<p>5. Practice being bored^W^Wmindfulness. This could be meditating, or just sitting outside contemplatively, or not consuming content while performing #1.<p>6. Keep spot checking yourself for where you're coming up short with the above 5 items. It's all too easy to fix the issue, feel great, and then fall out of the above habits. But you can't. You've got to stick to the plan.
One thing I haven't seen mentioned is that you could use Lions Mane mushroom, or it's extract. There was a double blind study from Japan that shows this is a nootropics.<p>Also, brain teasers are a BS way to interview. One of the best interviews I had was a mock architecture session (I didn't get the job). They gave me an overview of a project, told me to use AWS tech, and let me ask questions as I worked through a rough architecture.
Develop Shamatha, which is a calm abiding mind, meditative equipoise, single pointed concentration.<p>Then engage in analytical meditation, typically known as Vipassanā in the Buddhist tradition, but essentially it involves analytically decomposing whatever you're meditating on.<p>I realized that before I ever dove into Tibetan philosophy that I was developing these two as I designed and constructed software (as I'm sure a lot of us do).
Always be skeptical, objective, and learn to deeply appreciate originality.<p>I wrote this yesterday after confronting somebody saying something short-sighted: <a href="https://github.com/prettydiff/wisdom/blob/master/faulty_premise.md" rel="nofollow">https://github.com/prettydiff/wisdom/blob/master/faulty_prem...</a>
Grey matter is where knowledge is stored. White matter is where the connections are. Enhance those connections. For that, I recommend learning to juggle. <a href="https://www.sciencedaily.com/releases/2009/10/091016114055.htm" rel="nofollow">https://www.sciencedaily.com/releases/2009/10/091016114055.h...</a>
Although not directly related to critical thinking, product questions or brain teasers but what works for me is reading and reading whatever floats my boat. I consider it weight lifting for the brain.
It just takes practice. I had to do the same. I started solving Sudoku, George summers puzzles.<p>In the process, I could develop a general process to solve problems.<p>Using systems thinking helped a lot.
Thinking in general is greatly affected by two things:<p>1. Physical exercise. Some blend of cardio and strength training is preferable, but at least cardio is pretty much a requirement.<p>2. Sleep quality. Not just duration, but quality as well. If you have sleep apnea especially (many people do and don't even know it), you need to address that.<p>Also, if you're getting _interviewed_ in such detail as a consultant, you're playing the consulting game wrong. People should just hire you based on your track record as exemplified by direct recommendations from previous customers and people within your network.<p>One of the benefits of a consultant from a customer standpoint is that if they determine they've made a mistake, they can just terminate your contract. So an elaborate interview is a waste of time for both sides.
If you just care about brain teasers, caffeine is quite effective at inducing small temporary increases in cognitive ability and is totally safe. Try having a big 'ol cup of joe before interviews.<p>If you want to learn how to think more critically, you need to force yourself to continuously engage new ideas and learn to recognize an author's motivations and biases while still evaluating their arguments objectively, putting aside your own past conclusions temporarily in order to understand their argument. Then do the same for ideas you have previously agreed with, and see which ideas hold up to scrutiny. Only then can you truly call conclusions your own.