Anthony has shared wonderful tips on interviewing at Google.
Interviewing at Google? Here’s 6 Things You Absolutely Need To Do
Anthony D. Mays
Within the fourth tip, Brainstorm solutions and their time/space complexity, Anthony stressed on “space-time tradeoff principle", which I was vaguely familiar with.
While attempting to understand it, I drew a sketchnote.
As it’s not sharable, I came up with emoji version.
Space-time Tradeoff Table
(faster + more space)
(slower + less space)
💾 x 1
💾 x 0.5
👨💻 x 0.5
Gist of each tradeoff
🙄📑(Lookup table) vs. 🔃💻 (Recalculation)
Saving computed data in memory saves time but increases the space usage.
💾 x 1 (Uncompressed Data) vs. 💾 x 0.5 (Compressed Data)
Faster to access uncompressed data as no decompression step is needed but requires more space.
🏪🖼 (Stored Image) vs. 🔃📜 (Re-render)
Storing image in cache is faster than re-rendering but requires more space (in disk/memory).
➿➡➰ (Loop Unrolling) vs. 👨💻 x 0.5 (Smaller code)
Loop unrolling can optimize execution speed at the cost of increased binary size.
It might be a bit too much of emojis but helped me to understand a bit better what tradeoffs are available.
Feel free to share your version of table or sketchnote 🙂