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:
- Leetcode
- JS Coding
- System Design / JS Theory
- Behavioural
1. Leetcode
- [Tue] Solving Questions with Brainpower.
Dynamic Programming
skills is rusty. RevisedFibonacci Sequence (Easy)
andJump Game (Medium)
for DP. - [Wed] Maximum Value of an Ordered Triplet I
.
Greedy
andPrefix Sum
eludes me. But based on algomonster it seems rare, so I shan't study too hard. - [Thu] Maximum Value of an Ordered Triplet II solved yesterday, so I tried a random Medium question Thought to solve with
Trie
andDP
, but couldn't combine. RevisedTrie
concept with Count Prefix and Suffix Pairs I. Can try to optimise for II. - [Fri] Lowest Common Ancestor of Deepest Leaves
DFS
,Binary Tree
question. Not optimal because couldn't code outpost-order traversal
, but got it!
2. JS Coding
- [Tue] GFE new hooks questions
useBoolean
anduseArray
. EZ - [Wed] 2 Medium -- Tried
useQuery
medium question, revisedPromise.all
- [Thu]
useMediaQuery
(new) anduseDebounce
- [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 reduce429 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.
- Offline Retry /
- [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.