3 ms·
I’ve been using spaced repetition to do algorithm puzzles. I find them really fun, and I’ll be looking for a job in a little less than a year. So, I thought I’d
by JHonaker 7y ago
I’ve been using spaced repetition to do algorithm puzzles. I find them really fun, and I’ll be looking for a job in a little less than a year. So, I thought I’d get a jumpstart on preparing.
I don’t use them to memorize the answers, but more as a cue to do the problem. I add 1-5 new cards a day. The cards aren’t facts, but actual problems. It’s been really effective so far. I can pretty easily recognize what the pieces I need to apply on novel problems much more quickly.
- learned 7y agoVery cool! What format/content does a typical card contain for this category of algorithm cards you use?
- JHonaker 7y agoIt’s usually just a problem and sometimes a simple example I can write as a test case for correctness. Some cards I’ve put in lately are: Calculate the level of a binary tree with the minimal sum of its elements. Reconstruct a binary tree given an inorder and preorder list of the nodes. The backs are usually blank or space and time complexities that I should be able to achieve.
- mrfusion 7y agoCan you share an example card? I can’t picture what you’re doing.
- JHonaker 7y agoYea, I just use the types of problems that you’d see on Leetcode or any of the other code practice sites. The one that I did this morning was: If given the root of a binary tree, calculate the number of unival subtrees contained in the tree. The back is usually either blank, or has a space and time complexity that I should get if I did it correctly. It’s important to make sure you solve it at least once, and understand the solution well before you make a card of it.
- c13u 7y agoOther examples of cards that I made and found useful during my job-hunting process: https://cards.c13u.com/browse[0] https://cards.c13u.com/browse[0] [0] Disclaimer, I made cards.c13u.com for a class project
- otras 7y agoI did this exact method for my last round of algorithm interviewing and found it very helpful. I also did this for various college courses I’ve taken, and I’ve found that to be tremendous for practicing and recognizing patterns.
- degamer106 7y agoAre you using the ANKI method like what was suggested in the article? Also, what kind of problems are you putting into the cards? Are there any "must-know" interview questions that we should all study and memorize? Please share an example card.
- JHonaker 7y agoI read the article a long time ago, so I don’t remember what you mean by the ANKI method. Anki is a program that assists you by automatically serving you cards. The article is quite long, but very good. I’ve given 3 examples in some other replies, but I’d say that it’s most beneficial to keep some common stuff in the front of your mind. Like various operations on graphs and trees, how exactly to formulate dynamic programming subproblems, etc. For that I’d say it’s better to have a lot of different problems in the deck for those types of those things, rather than memorizing definitions of DP and linked lists.