I don't know if I've been more hardworking after returning from holidays, or it so happened that the weeks of studying bits and pieces finally came together last week... I've finished some milestones in studying!
- JS Quiz - completed all high priority questions
- JS Coding - completed all relevant questions
- Behavioural - practiced speaking
System Design and Leetcode remains a little unstable, but I think we are getting better! This week will mostly focus on recap.
1. JS Quiz
- MON - (15/63 revised)
box-sizing
,display
, React, event loop, hoisting, event delegation,this
- mistakes: box-sizing measures?
position: relative
means? What'sthis
?
- mistakes: box-sizing measures?
- TUE - (42/63 revised) closure, constructors, cookies, Virtual DOM.
- mistakes: CSS selectors? translate() vs absolute position? Event bubbling? Z-index?
- WED - 63 revised! What shall I explore tomorrow? Perhaps spend more time on weaker areas (Leetcode / JS Coding).
- mistakes: HTTP Cache Headers?
- THU - Gemini-generated list of 15+ questions. Like
useLayoutEffect
vsuseEffect
, orError Boundary
.- Strict Mode - wrap the root of app with this. Runs twice the ref / effects, to detect if forgot to cleanup.
-
Controlled vs Uncontrolled Components is mainly difference in form state; whether use
form.submit()
orsetData
. Really is just up to preference...?
2. Behaviour
- MON - spoke 3!
- TWO - spoke 2! Speak on phone seems to work smoother
- WED - spoke 3! But could tighten answer
- THU - done 3
3. Leetcode
- MON - Domino and Tromino Tiling, a medium DP question. Figured there was a pattern but couldn't write out the entire generalised formula :(
- TUE - Build Array from Permutation easy, but interesting to draw on concept of in-place array modification.
- WED - Find Minimum Time to Reach Last Room I... Djikstra? No. Just use simple DFS if I can't work up to it.
- THU - Find Minimum Time to Reach Last Room II, Djikstra again... Should practice DFS tomorrow maybe.
- SAT - Minimum Equal Sum of Two Arrays After Replacing Zeros medium greedy!
- SUN - did the Easy daily question, then noped the hell out of Mathematical Induction proof medium question
- MON - did the Easy daily question, then optimised it from O(N^3) to O(N^2)
4. JS Coding
- MON - revised
Squash Object
, still have issues withMap Async Limit
- TUE - * DOM API, State Management, Security, Event Loop, HTTP Error Codes
- WED -
Event Emitter
anduseDebounce
. This gets boring... where find new questions? 👀 - SAT - QRT Sample JS Coding Quiz had two questions: (1) Write a class that extends an EventEmitter for a search API, and (2) React useState list view page
- the latter had a tiny gotcha, which is you need to destructure or shallow copy the previous state of articles list, ensuring you're not mutating state directly. React may not re-render if the same array reference is reused, even if its contents are changed via .sort().
- SAT - Session 2 of QRT Test. Things I learnt:
- height: 100% doesn't work with display: flex. Need to use
align-items: stretch
- fetch API's response needs to be parsed with
response.json()
- CSS with spacebar just means 2 different class names
-
text-decoration
helps with underline
- height: 100% doesn't work with display: flex. Need to use
5. System Design
- MON - design airlines flight staff assignment dashboard
- TUE - * find errors in TodoList / Polling-Cancel code
- WED - Study 2 concepts: Critical Rendering Path Optimization, State Hydration and Partial Hydration
-
minification
for quicker load (but that's handled by Webpack usually). - Astro for SSR / hydration
-
Top comments (0)