Wow. It's already the 9th week since I resolved to study and improve my frontend skills. We've come quite far since Chinese New Year. The previous posts were all pretty haphazard, so here's hoping that it'll be more organised from here on out.

Each post will be a summary of 4 study areas:

  1. Leetcode
  2. JS Coding
  3. System Design / JS Theory
  4. Behavioural

1. Leetcode

2. JS Coding

  • [Tue] GFE new hooks questions useBoolean and useArray. EZ
  • [Wed] 2 Medium -- Tried useQuery medium question, revised Promise.all
  • [Thu] useMediaQuery (new) and useDebounce
  • [Fri] Revised, re-studied curry

3. System Design / JS Theory

  • [Tue] Design Netflix. This was rather interesting, as it resembled my daily work. But to draft all the flow charts in 45 minutes is crazy, guess I'll stick to greatfrontend's format.
    • WebP -- this is a format of image that is well supported on most browsers, takes up less space than PNGs.
    • HTTP2 -- seems multiplexing where concurrent requests can be sent is the main improvement (see here)
  • [Wed] Design a Poll Widget
    • Offline Retry / Exponential Backoff - helpful for a highly-loaded server to reduce 429 Too Many Requests when it has transient downtime.
    • rems instead of pixels -- root EMs are relative to root font size, so will look correct on different devices. Pixels are fixed width.
  • [Thu] Studied design patterns
    • Singleton seems useful if you need a global instance. Perhaps a common tracking class with default values so save memory when recreate
    • Proxy doesn't seem useful if you can directly perform validations in the object.
    • Dark Mode implemented for my website!
  • [Fri] Data Table component but many things feel abstract. I might have to implement them to get a hang of it. Perhaps Monday's System Design will be considering work product.
  • [Sun] Chrome LightHouse experiments on my personal site!
    • SEO: Added meta description to headers
    • Accessibility: HTML element does not have a language attribute

4. Behavioural

  • [Tue] It seems my resentment for the current workplace is strong, and ChatGPT suggests reframing it as a lesson learnt for the future, rather than focusing on emotions.
  • [Wed] Read a few quick guides and practiced 3 more questions. Looks good today!
  • [Thu] Did 1 question back-and-forth. Felt more realistic
  • [Fri] 30 minutes back-and-forth, 2 signpost questions. GPT has limit of 10 messages in 4 hours, but that's just nice for this.