Study guide

Preparation

86 curated tips

Short, actionable reminders to use between timed quizzes. For longer study plans and topic overviews, see the guides.

All

86
  • Study plan

    Study in blocks, not marathons

    45–60 minute focused sessions with 10-minute breaks beat 6-hour cramming. Your brain consolidates during rest.

  • Study plan

    Active recall beats re-reading

    Close the notes and try to answer questions from memory. Quizzes in this app are built for exactly that.

  • Study plan

    Review wrong answers twice

    After each quiz, read every explanation — especially questions you guessed right. Luck does not scale.

  • Study plan

    Rotate tracks daily

    Mon HTML, Tue CSS, Wed React, Thu Frontend general. Mixing topics mirrors real tests and reduces fatigue.

  • Study plan

    Start beginner, climb levels

    Do not jump to Advanced until you score 80%+ on Intermediate. Gaps in basics will haunt you under time pressure.

  • Study plan

    Timed practice weekly

    Use the 4-minute quiz timer at least twice a week. Untimed study and timed performance are different skills.

  • Study plan

    Build a cheat sheet by hand

    One page: selectors, flex shorthand, array methods, React hooks rules. Writing it once = remembering it in the test.

  • Study plan

    Explain out loud

    Teach box model or useEffect to an imaginary junior. If you cannot explain it simply, you do not know it yet.

  • Study plan

    Sleep before the test

    7–8 hours. Sleep deprivation cuts recall by 20–40%. No all-nighter the night before.

  • Study plan

    Two weeks minimum

    Ideal prep: 2–4 weeks. Week 1 foundations, Week 2 timed quizzes + weak spots, final days light review only.

  • HTML

    Semantic tags are high-value

    Know <article>, <section>, <nav>, <main>, <aside>, <header>, <footer> and when each is appropriate.

  • HTML

    One <h1> per page

    Heading hierarchy matters for accessibility and SEO. Never skip levels (h1 → h3) without reason.

  • HTML

    Form attributes save JavaScript

    required, type="email", minlength, pattern, autocomplete — know what the browser validates natively.

  • HTML

    alt is not optional

    Decorative images: alt="". Informative images: descriptive alt. Tests love this distinction.

  • HTML

    Block vs inline vs inline-block

    Block takes full width. Inline flows with text. Inline-block combines both — common in UI patterns.

  • HTML

    data-* attributes

    Use data-id="123" for JS hooks without polluting classes. Accessible via dataset.id in JavaScript.

  • HTML

    defer vs async on scripts

    defer: runs after HTML parse, order preserved. async: runs when ready, order not guaranteed.

  • HTML

    label + input pairing

    Wrap input in <label> or use for/id. Clicking label focuses input — required for accessible forms.

  • HTML

    Void elements

    <img>, <br>, <input>, <meta> have no closing tag. Do not write <img></img> in HTML5.

  • HTML

    picture vs img

    Use <picture> with <source> for art direction or format switching (WebP fallback). img alone is simpler.

  • CSS

    Box model: content-box vs border-box

    border-box includes padding and border in width. Most resets set * { box-sizing: border-box } for a reason.

  • CSS

    Specificity order

    Inline > IDs > classes/attributes/pseudo-classes > elements. !important overrides everything (avoid in real code).

  • CSS

    Flexbox main vs cross axis

    flex-direction sets main axis. justify-content aligns main, align-items aligns cross. Draw it once — never forget.

  • CSS

    Grid fr unit

    grid-template-columns: 1fr 2fr means second column is twice the first. fr splits remaining space.

  • CSS

    Position sticky needs a threshold

    top: 0 plus a scrollable ancestor. Without top/bottom/left/right, sticky does nothing.

  • CSS

    rem vs em vs px

    rem = root font size (scalable). em = parent font size (compounds). px = fixed. Prefer rem for spacing.

  • CSS

    CSS variables cascade

    Define on :root, override on [data-theme="dark"]. Components use var(--accent) — never hardcode colors.

  • CSS

    Mobile-first media queries

    min-width: 768px means styles apply from 768px up. Start small, enhance for larger screens.

  • CSS

    Pseudo-classes vs pseudo-elements

    :hover is a class on state. ::before creates a virtual element. Double colon for elements is modern standard.

  • CSS

    z-index stacking contexts

    z-index only compares within the same stacking context. position + z-index on parent creates a new one.

  • CSS

    Centering cheat code

    Flex: display flex + justify-content center + align-items center. Grid: place-items center. Know both.

  • CSS

    transition vs animation

    transition reacts to property changes (hover). @keyframes animation runs a timeline independently.

  • JavaScript

    === over ==

    Strict equality avoids coercion surprises. null == undefined is true; null === undefined is false.

  • JavaScript

    const does not mean immutable

    const blocks rebinding, not mutation. const arr = []; arr.push(1) is valid.

  • JavaScript

    map vs forEach vs filter

    map returns new array. forEach returns undefined. filter returns subset matching condition.

  • JavaScript

    Async: promises then vs async/await

    await pauses inside async function until promise resolves. Always handle rejections with try/catch or .catch().

  • JavaScript

    Closures in one sentence

    Inner function remembers variables from outer scope even after outer function finished executing.

  • JavaScript

    Event bubbling vs capturing

    Bubbling: child → parent. Capturing: parent → child. addEventListener third arg true enables capture phase.

  • JavaScript

    JSON.parse vs eval

    Never eval user input. JSON.parse is safe for JSON strings only — throws on invalid JSON.

  • JavaScript

    Spread vs rest

    Spread expands: [...arr]. Rest collects: function fn(...args). Same syntax, opposite direction.

  • JavaScript

    Truthy and falsy list

    Falsy: false, 0, "", null, undefined, NaN. Everything else is truthy — including [] and {}.

  • JavaScript

    fetch does not reject on 404

    fetch only rejects on network failure. Check response.ok or response.status manually.

  • JavaScript

    localStorage vs sessionStorage

    localStorage persists until cleared. sessionStorage clears when tab closes. Both store strings only.

  • JavaScript

    Hoisting basics

    function declarations hoist fully. let/const hoist but stay in temporal dead zone until declared.

  • React

    Props flow down, events flow up

    Parent passes data via props. Child notifies parent via callback props like onSubmit.

  • React

    Keys in lists

    Use stable unique ids, not array index when list can reorder. Keys help React match items correctly.

  • React

    State updates are async

    setCount(count + 1) twice in same tick may not add 2. Use functional form: setCount(c => c + 1).

  • React

    useEffect dependency array

    [] = run once on mount. [value] = run when value changes. No array = every render (usually a bug).

  • React

    Do not mutate state

    Always create new object/array when updating. state.items.push(x) then setState(state) will not re-render reliably.

  • React

    Conditional render patterns

    condition && <Component />, ternary for either/or, early return for loading states.

  • React

    Controlled vs uncontrolled inputs

    Controlled: value + onChange tied to state. Uncontrolled: ref reads DOM directly. Forms usually controlled.

  • React

    Context is not a state manager

    Good for theme, locale, auth. Bad for every piece of data — causes unnecessary re-renders.

  • React

    Fragments avoid extra DOM

    <></> or <Fragment> wrap siblings without adding a div. Useful for table rows or strict layouts.

  • React

    Lifting state up

    When two siblings need same data, move state to closest common parent and pass props down.

  • React

    Rules of Hooks

    Only call hooks at top level of function components. Never inside loops, conditions, or nested functions.

  • React

    useRef vs useState

    useRef persists without re-render. useState triggers re-render on change. Refs for DOM access and timers.

  • Test day

    Read the full question first

    MCQ traps hide in words like "NOT", "always", "except". Underline negations before looking at options.

  • Test day

    Eliminate wrong answers

    Cross out two obviously wrong options. Your odds jump from 25% to 50% even when guessing.

  • Test day

    Flag and move on

    Stuck more than 30 seconds? Pick best guess, mark mentally, return if time remains. Momentum matters.

  • Test day

    Watch the global timer

    20 questions in 4 minutes = ~12 seconds each average. Do not spend 2 minutes on one hard question early.

  • Test day

    First instinct is often right

    Unless you have a clear reason to change, trust your initial answer. Second-guessing causes more errors.

  • Test day

    Check browser and environment

    Before starting: stable internet, quiet room, charged device, notifications off. Reduce avoidable stress.

  • Test day

    Answer every question

    No penalty for wrong answers? Never leave blanks. An educated guess beats an empty slot.

  • Test day

    Code snippets: trace line by line

    For "what prints?" questions, write values on paper step by step. Do not simulate in your head.

  • Test day

    Arrive 10 minutes early

    Login issues, platform quirks, ID checks — buffer time prevents panic before the clock starts.

  • Test day

    Hydrate, light snack

    Water and a banana or nuts. Blood sugar crashes mid-test destroy focus faster than hard questions.

  • Mindset

    Progress over perfection

    60% today beats 0% waiting until you feel ready. Consistency compounds over two weeks.

  • Mindset

    Failure is data

    A wrong quiz answer tells you exactly what to study next. Treat mistakes as a free study guide.

  • Mindset

    Compare to yesterday you

    Someone always knows more. Your only competition is your score from last Tuesday.

  • Mindset

    Imposter feelings are normal

    Most candidates feel underprepared. Preparation reduces anxiety — action reduces imposter syndrome.

  • Mindset

    Breathe before you begin

    Three slow breaths before clicking start. Calm nervous system = clearer recall under pressure.

  • Mindset

    You do not need 100%

    Many hiring tests pass at 70–80%. Aim for solid pass, not flawless. Perfectionism wastes energy.

  • Mindset

    Celebrate small wins

    First 80% quiz? That deserves acknowledgment. Positive reinforcement keeps you studying.

  • Mindset

    Take breaks guilt-free

    Rest is part of preparation, not laziness. Walk, stretch, look away from screens between blocks.

  • Mindset

    One bad quiz ≠ failure

    Variance is normal. Look at trend over 5 quizzes, not a single bad run after a long day.

  • Mindset

    Show your work in practice

    When practicing coding questions, write pseudocode even for MCQ. Builds the habit for live coding rounds.

  • Study plan

    DevTools is your friend

    Inspect element, Console, Network tab — know them before the test. Many frontend roles expect fluency.

  • JavaScript

    CORS in one line

    Browser blocks JS from reading cross-origin responses unless server sends Access-Control-Allow-Origin.

  • HTML

    Accessibility: focus states

    Keyboard users need visible :focus-visible outlines. Never remove focus styles without a replacement.

  • CSS

    BEM naming optional but useful

    block__element--modifier clarifies structure. Tests may ask about naming conventions and specificity.

  • React

    Virtual DOM concept

    React diffs new virtual tree vs old, updates only changed real DOM nodes. Explains why keys matter.

  • Test day

    Similar options = trap

    When two answers look almost identical, compare them word by word. The difference is usually the point.

  • Study plan

    MDN over random blogs

    When in doubt, verify on developer.mozilla.org. Official docs beat outdated tutorial sites.

  • JavaScript

    Event loop mental model

    Call stack runs sync code. Web APIs handle async. Callback queue feeds stack when empty. Know micro vs macrotask basics.

  • CSS

    Cascade layers (@layer)

    Modern CSS lets you control cascade order explicitly. Useful in large codebases — may appear in senior tests.

  • Mindset

    Visualize success briefly

    30 seconds imagining finishing calmly. Sports psychology works for exams too — reduces cortisol spike.