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 ListNode
This 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 |