Technical Interviewing

I taught this class in fall 2023. It was loosely inspired by Stanford CS 9.

During this class, students learned about various data structures and algorithms, and practiced using them in technical interviewing questions.

Each week, the class focused on a different concept. The class met Monday, Wednesday, and Friday, where Mondays and Wednesdays were lectures, and Fridays were generally group discussions or activities. Weekly assignments included Leetcode problems and peer interviews.

Instead of a final exam, I met with every student individually for a mock interview, which I graded based on a rubric that I shared ahead of time.


Week One: Intro


Week Two: Fundamentals


Week Three: Arrays and Strings


Week Four: Maps and Sets


Week Five: Stacks and Queues


Week Six: Recursion and Dynamic Programming


Week Seven: Resumes and Behavioral Interviews


Week Eight: Catch Up

During this week, we revisited algorithmic complexity and talked about the process for applying to jobs.


Week Nine: Linked Lists


Week Ten: Trees


Week Eleven: Graphs


Week Twelve: Matrices


Week Thirteen: System Design


Week Fourteen: Machine Learning

This was a short week, so I gave an impromptu lecture on machine learning!


Week Fifteen: Wrapping Up

During this week, we had an informal chat about entering the job market, and then we talked about continuing interview practice after the class ends.