I’m taking a weekly class with Kal Academy, a refresher course on data structures and algorithms. I can’t say enough good things about Kal’s classes — they are small, personalized, affordable, positive learning environments. Very worthwhile if you are a woman in technology in the greater Seattle area. In addition to the data structures and algorithm classes, which are mandatory for anyone who wants to improve at technical whiteboard exams, she also offers classes in business intelligence and object-oriented programming (in Microsoft stack).
Our homework this week (and ongoing) is to video ourselves whiteboarding. This is intimidating and potentially embarrassing, so of course I am sharing it with the world. Behold the screen capture worth 1000 words:
Slow clap, YouTube. ? Watch it here:
And here’s the final code (after some refactoring):
I highly recommend going through this exercise if there is a technical interview in your future. It will improve your practice and give you confidence. This session lasted about 30 minutes but felt much longer. I had to re-do my code a few times, which felt more awkward than it looks. (Verdict: not terrible for a first attempt, but I’ll get better.)
Technical note: I used YouTube live on-air with Google Hangouts enabled. The directions are not very clear, but I was able to set my video to private (only those with link can view) and the recording worked fine and was instantly available on my YouTube channel. I did not attempt to do any screen sharing.
It’s a different experience to whiteboard without anyone giving you real-time feedback than with it. But, try it and tape it anyway.
Kal is collecting the videos and sharing with the class, so we’ll get to see a few other people’s approaches and solutions, which is always super useful. (Share yours in the comments if you try this!)
Need some sample whiteboard questions? Try not to think about them too long before you start the camera rolling, that’s cheating.
These are all fucking terrible, except maybe #8.
Better sources:
Happy (live) coding!