The Daily Plan

Some subjects take one day, and some will take multiple days. Some are just learning with nothing to implement.

Each day I take one subject from the list below, watch videos about that subject, and write an implementation in:

  • C - using structs and functions that take a struct * and something else as args

  • C++ - without using built-in types

  • C++ - using built-in types, like STL's std::list for a linked list

  • Python - using built-in types (to keep practicing Python)

  • and write tests to ensure I'm doing it right, sometimes just using simple assert() statements

  • You may do Java or something else, this is just my thing

You don't need all these. You need only one language for the interview.

Why code in all of these?

  • Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember)

  • Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python or Java))

  • Make use of built-in types, so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production)

I may not have time to do all of these for every subject, but I'll try.

You can see some code I found here:

You don't need to memorize the guts of every algorithm.

Write code on a whiteboard or paper, not a computer. Test with some sample inputs. Then test it out on a computer.

Prerequisite Knowledge

Last updated

Was this helpful?