Module 1 Workbook
Module 1 Workbook
Module 1 Workbook
Welcome to Week 1 of the 6 Weeks to Interview Ready workbook! As you go through the course,
this workbook is going to be your guide to exactly what to focus on each day of the week.
As much as possible, I have tried not only to give you the exercises and work to do in this
workbook, but also the context behind them. Of course, you can just follow the exercises as
prescribed, but for those who are curious, you can understand what the underlying goal is.
In Week 1, we will be working primarily to start developing a consistent study habit and
evaluate your current progress. That means that this week is likely to be a challenge. You don’t
yet have a lot of context, so you’ll be working on solving problems that may seem really
difficult.
For this week in particular, focus simply on doing the best you can and tracking your progress.
The whole point here is to specifically identify any problem areas, so if you run into difficulty,
just make a note of it and move on.
Table of Contents
Day 1 . . . . . . . . . . . . . . . . . . . . . . . page 2
Day 2 . . . . . . . . . . . . . . . . . . . . . . . page 3
Day 3 . . . . . . . . . . . . . . . . . . . . . . . page 4
Day 4 . . . . . . . . . . . . . . . . . . . . . . . page 5
Day 5 . . . . . . . . . . . . . . . . . . . . . . . page 6
Day 6 . . . . . . . . . . . . . . . . . . . . . . . page 7
Day 7 . . . . . . . . . . . . . . . . . . . . . . . page 8
Solutions . . . . . . . . . . . . . . . . . . . . page 9
1. If you haven’t watched the videos for Module 1, make sure you do that. They will give
you a much clearer understanding of what we’re doing here.
2. Set up your Interview Prep Tracker. We need this so that we can record our progress.
3. Develop your Lean Study Plan. Here's what I want you to do:
a. Go into your calendar and find a time for each day of the week where you can
have 30 minutes of uninterrupted time. Remember that this may not be easy. If it
was, everyone would do it. Some places to find extra time:
b. If you are still having trouble finding times that work, I recommend completing a
Time Audit. In the short term, this is a bit of a pain in the ass, but it can be
incredibly revealing.
c. Put these times into your calendar for each day. What gets scheduled gets done,
so if you don't put it into your calendar, it's unlikely to happen.
d. I would highly recommend communicating this with those close to you. If you
have a spouse or significant other, let them know. They are likely to be one of
your biggest distractions if you don't, but if you do, they can help function as a
gatekeeper against distractions.
We’re going to spend the next few days doing a series of representative practice problems to
evaluate what topic areas you are struggling the most with. By using your Progress Tracker,
you’ll easily be able to see where you need some extra work.
Some key points as you go through the practice problems this week that I want you to keep in
mind:
● Use your progress tracker. The more you use it, the better picture you will start to get of
the state of your interview prep. It will even show you what topics you find most difficult.
● Treat the practice problems as an actual interview. Ideally, write the code on a
whiteboard. If you don't have a whiteboard, use a sheet of paper.
● If you're stuck, still give it the ole college try. That means you should spend AT LEAST
20 minutes trying to figure out the problem on your own before looking for help.
Today's Exercises
1. Given a string, find the length of the longest substring without repeating characters.
(Leetcode)
2. Find all occurrences of an anagram in a string. (Leetcode)
With each of these problems, attempt to solve it on a whiteboard/with pencil and paper first,
and only after that, copy your code into Leetcode to test it. Even though you can code directly in
Leetcode, you won’t get nearly the same results if you do.
● Use your progress tracker. The more you use it, the better picture you will start to get of
the state of your interview prep. It will even show you what topics you find most difficult.
● Treat the practice problems as an actual interview. Ideally, write the code on a
whiteboard. If you don't have a whiteboard, use a sheet of paper.
● If you're stuck, still give it the ole college try. That means you should spend AT LEAST
20 minutes trying to figure out the problem on your own before looking for help.
Today's Exercises
1. Write a function to reverse a linked list. Ideally you should do this in place (Leetcode)
2. Implement a stack with basic push and pop functionality using a queue (Leetcode)
With each of these problems, attempt to solve it on a whiteboard/with pencil and paper first,
and only after that, copy your code into Leetcode to test it. Even though you can code directly in
Leetcode, you won’t get nearly the same results if you do.
● Use your progress tracker. The more you use it, the better picture you will start to get of
the state of your interview prep. It will even show you what topics you find most difficult.
● Treat the practice problems as an actual interview. Ideally, write the code on a
whiteboard. If you don't have a whiteboard, use a sheet of paper.
● If you're stuck, still give it the ole college try. That means you should spend AT LEAST
20 minutes trying to figure out the problem on your own before looking for help.
Today's Exercises
With each of these problems, attempt to solve it on a whiteboard/with pencil and paper first,
and only after that, copy your code into Leetcode to test it. Even though you can code directly in
Leetcode, you won’t get nearly the same results if you do.
● Use your progress tracker. The more you use it, the better picture you will start to get of
the state of your interview prep. It will even show you what topics you find most difficult.
● Treat the practice problems as an actual interview. Ideally, write the code on a
whiteboard. If you don't have a whiteboard, use a sheet of paper.
● If you're stuck, still give it the ole college try. That means you should spend AT LEAST
20 minutes trying to figure out the problem on your own before looking for help.
Today's Exercises
With each of these problems, attempt to solve it on a whiteboard/with pencil and paper first,
and only after that, copy your code into Leetcode to test it. Even though you can code directly in
Leetcode, you won’t get nearly the same results if you do.
● Use your progress tracker. The more you use it, the better picture you will start to get of
the state of your interview prep. It will even show you what topics you find most difficult.
● Treat the practice problems as an actual interview. Ideally, write the code on a
whiteboard. If you don't have a whiteboard, use a sheet of paper.
● If you're stuck, still give it the ole college try. That means you should spend AT LEAST
20 minutes trying to figure out the problem on your own before looking for help.
Today's Exercises
With each of these problems, attempt to solve it on a whiteboard/with pencil and paper first,
and only after that, copy your code into Leetcode to test it. Even though you can code directly in
Leetcode, you won’t get nearly the same results if you do.
Week 1 of this course is pretty intense, so I didn’t schedule anything for you on this last day.
Use this time to take a little break or catch up on anything you may have gotten behind on :)
Day 3
1. Reverse a Linked List
a. Video Walkthrough
b. Java Code
c. Python Code
2. Implement a Stack with a Queue
a. Video Walkthrough
b. Java Code
c. Python Code
Day 5
1. Generate Powerset
a. Video Walkthrough
b. Java Code
c. Python Code
2. Coin Change
a. Video Walkthrough
b. Java Code
c. Python Code
Day 6
1. Find in Rotated Array
a. Video Walkthrough
b. Java Code
c. Python Code
2. Number of 1s in Binary
a. Video Walkthrough
b. Java Code
c. Python Code