Welcome to the first week of your Job Search Journey! Today, we are going to cover Graphs, review the concept of REST, and dive deeper into JavaScript prototypes. We're also going to cover a couple miscellaneous — though still very important – HTML and CSS topics.
Make sure you review the learning goals for each section before you begin to dive in. This will give you a roadmap of what main points you should be able to talk about after getting through the material. In your notes, answer the questions posed by the learning goals as you go. You should consider yourself finished only when you can comfortably answer all of these questions.
- How do we define a graph mathematically?
- What is the difference between directed, undirected, weighted, and unweighted?
- Give an example of various types of graphs (Weighted Undirected, Unweighted Directed, Unweighted Undirected, etc.)
- What makes a graph a simple graph? What attributes would make it not simple?
- What is the maximum number of edges in a directed simple graph? Undirected simple graph? Answer should be in terms of
N
- Describe the levels of connectivity a graph can have (strongly connected, weakly connected).
- What are cycles?
- What are some naive ways we can store and traverse graphs? Be able to discuss time/space complexity of these approaches, and what issues we may face.
- What are the three primary Fielding constraints? (Bonus if you can say who Fielding is!)
- What sub-constraints make up a Uniform Interface
- Walk through an arbitrary example of a RESTful request/response cycle, and describe what makes it RESTful
- Give a high level overview of what an object's prototype represents
- What are the differences between the
__proto__
andprototype
attributes? - What happens when we do or don't explicity set an object's prototype?
- What is an object's default prototype?
- What are the valid values for an object's prototype?
- Name 5 benefits of HTML5
- What is
localStorage
? How might you use it? - Why are media queries useful?
- What is mobile-first design? Be as specific as possible.
Graphs are a critical data structure in the programming industry. Today's videos are an introduction. Respectively, they cover:
- How do we define a graph, and where are they commonly used?
- What are the specific attributes that graphs can have, and how do we talk about them?
- What are some ways we might store a graph in memory? What space/time complexity problems might we face?
Read:
REST (Representation State Transfer) is a term we have thrown around a lot in the course. This article gives a concrete example of what it actually means.
Read:
Prototypes are a fundamental feature of Javascript. Given this topic's importance to the language, they are a very hot interview/phone screen topic. Having a strong grasp on Javascript Prototypes will give you a major leg-up in the application process.
Read:
Now that you have done all the readings, and kept track of all the Learning Goals, its time to review! The learning goals are designed so that they can be used as Flash Card questions. If you haven't already, make these learning goals into Flash Cards. Practice for at least 30 minutes.
- Do 1 Leetcode or Hackerrank Problem
- Do 1 whiteboarding problem
Here are some suggestions on what you could be working on:
- Polishing or adding features to existing projects- First prioritize polishing and adding features to existing projects.
- New projects- Once your existing projects are in great shape, start building out new projects. Start with smaller-scale projects, and over time, add more features to them. (Unfinished projects are not a bad thing, as long as you are learning from them!)
- Coding Challenges- All throughout, be sure to put in a sufficient amount of time to coding challenges; always go above and beyond, especially for companies that you really want to work at.
- Reach out to 2 people
- Apply to 5 jobs