I had my ego put in check yesterday and it doesn’t feel very nice. But I deserved it, as I had not put in the prep time for interviews the way I should. I felt so in need of acquiring some Django skills I didn’t think about making sure I could talk about the things I already know how to do.

What’s done is done. Today I am putting together an overview of topics I should be conversant on so that I can dive into each one in the coming weeks.

Topics

Software and Programming Concepts

  • Programming Paradigms
  • Which Languages do What
  • my fluency: js, Node, python, golang, ruby

Problem Solving with Code

  • algos
  • advanced data structures

Internet and Server Communications

  • communication layers
  • request protocols

JS, HTML and CSS make a website

  • the dom, elements, and rendering
  • html particulars
  • js for the web
  • css fundamentals

Web Security Basics

  • csrf
  • xss

Deployments and DevOps Databases Servers Backends FrontEnds

From reddit:

  1. What is your preferred library to handle global state management/forms/routing/styling/etc? Why do you prefer it? (This isn’t a “convince me” question. It’s a “can you articulate your understanding” question)
  2. Describe how your ideal folder structure. (Once again, not a convincing question. I want to know that you have given thought to it and how you think).
  3. How do you familiarize yourself with a project that has been in development for a few years? (This is going to be your job, so you better have an answer ready)
  4. What is your preferred programming paradigm (OOP, FP, P.O.,imperative, declarative, etc) and why?
  5. In react, what is the difference between rendering and painting?
  6. Explain the JS stack.
  7. List of react frameworks you’ve worked with?
  8. Rendering strategies ssr, csr, isr… Does React support ssr out of the box? Why not just use React?
  9. State management do you know redux? redux vs context. Pros and cons of redux. When it triggers re-render.
  10. Form & form validation…

Deeper questions

  1. what is a closure?
  2. what is shallow/deep copy?
  3. what is hoisting? how does it work for functions and for variables?
  4. what is a pure function?
  5. how does reconciliation work?
  6. what is lazy loading? when should you use it?
  7. sever side rendering / isr / ssg
  8. what is the difference between types and interfaces in typescript?
  9. when should you use a context to manage state instead of redux/local state
  10. higher order components
  11. webpack / tree shaking
  12. concurrency / event loop / callback queue

Pathrise vs The Odin Project

I keep getting ads thrown at me for pathrise, a pay-after-hire system similar to my bootcamp where they give you 8 weeks of instruction to try and help you get a job. It ends up being roughly 20k I would pay them. So basically if I can get a job and hold it for more than a year, I could pay off the investment. Not sure if it’s worth it.