Self-Paced/Observer Coursework from Codepath's Technical Interviewing Course
| Unit | Topics |
|---|---|
| 1 | Linked Lists |
| 2 | Hash tables / stacks & queues |
| 3 | Big O Notation + Review |
| 4 | Binary Trees |
| 5 | Graphs |
| 6 | Strings / Arrays |
| 7 | Review and Project Week |
| 8 | Greedy Algorithms |
| 9 | Dynamic Programming |
| 10 | Dynamic Programming: Backtracking |
| 11 | Review and Project Week |
| 12 | System Design |
-
create/activate virtual env:
$ python3 -m venv env
$ source env/bin/activate -
install local package:
$ python -m pip install -e . -
import:
from utilities import ListNodeThis 12-week virtual course will help you ace technical interviews preparing you to solve challenging algorithm problems in real whiteboard interviews at top companies.
- Lectures and algorithm labs
- Interview practice
- Tools and techniques for problem solving
- Mentorship from industry professionals
- Info sessions from experienced engineers
- Resume feedback & internship search support
- Must have taken at least one basic programming course and an algorithms and data structures course.
- Mandatory attendance for the weekly virtual sessions with 3 excused absences.
- Can dedicate 10+ hours a week to the course and assignment work for 12 weeks
- Meets twice a week for 2 hour sessions in virtual classroom
- Weekly exercises to complete before and after the sessions
- Sessions begin in June and end in August
Topics introduced are focused on technical interviewing and practical fundamentals of software development including:
- Behavioral and general interviewing tips
- Practical data structures
- Implementing efficient algorithms
Over the 12-weeks, the following topics will be highlighted:
- Core data structures: Hash Tables, Arrays, Linked Lists
- Complex data structures: Binary Trees, Heaps
- Object Oriented Design/Systems Design
- Searches: Binary Search, Breadth First Search/Depth First Search
- Sorting: Merge Sort and Quick Sort
- Recursion and Combinations
- Dynamic Programming
- Greedy Algorithms
The course will also include a preview of real-world software engineering roles and challenges including:
- Fireside Q&A chats and info sessions with professional engineers
- Industry mentors helping with mock interviews
- Learn what it's like in the day-to-day of different software engineering roles
- What are the common challenges faced in your first full-time software role
| Week | Topics | Also Featured |
|---|---|---|
| 1 | Linked Lists | Importance of mastering algorithm interviews |
| 2 | Hash tables / stacks + queues | Edge cases |
| 3 | Big O Notation + Review | Problem identification |
| 4 | Binary Trees | Pseudocode |
| 5 | Graphs | Complexity analysis |
| 6 | Strings / Arrays | Verification |
| 7 | Review and Project Week | Salary Negotiation |
| 8 | Greedy Algorithms | Coming up with Test cases |
| 9 | Dynamic Programming | Induction |
| 10 | Dynamic Programming w/ Backtracking | |
| 11 | Review and Project Week | Matching the problems |
| 12 | System Design | Industry landscape |