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.