How does the browser render a web page?
The browser parses HTML into a DOM and CSS into a CSSOM, combines them into a render tree, computes layout (reflow), paints pixels and composites layers onto the screen.
Frontend Developer 路 Intern to senior
Frontend interviews combine language fundamentals (closures, the event loop, async code) with framework knowledge and an understanding of how the browser renders and updates the page.
93 questions
The browser parses HTML into a DOM and CSS into a CSSOM, combines them into a render tree, computes layout (reflow), paints pixels and composites layers onto the screen.
Narrowing is when TypeScript shrinks a wide type (such as a union) to a more specific type after a runtime check like typeof, instanceof, in, or a custom type guard.
A string union such as "admin" | "user" exists only in the type system and erases to plain strings. A TypeScript enum compiles to a JavaScript object (unless it is a const enum), which is extra runtime code and a weaker default.
TypeScript fills in types you omit: literals get their literal or widened type, function return types are inferred from return statements, and generic arguments are inferred from the values you pass.
git revert creates a new commit that undoes an earlier one and is safe on shared branches; git reset moves the branch pointer back to an earlier commit, effectively removing later commits from that branch鈥檚 history.
Treat a flaky test as a bug: quarantine it so it stops blocking the pipeline, reproduce it by running it repeatedly, fix the root cause (usually timing, shared state or external dependencies), then bring it back.
Selenium is the long-established, language-agnostic standard built on WebDriver; Cypress runs inside the browser with an excellent developer experience for JavaScript apps; Playwright offers fast, auto-waiting cross-browser automation with multiple tabs, contexts and languages. For a new web project, Playwright is usually the strongest default.
Describe a real technical or process disagreement, show that you listened and argued with evidence rather than opinion, explain how a decision was reached, and how you supported it afterwards even if it was not your idea.
Describe a problem you noticed, why you decided to act, how you coordinated with others, and the impact of taking ownership.
Explain how you identified ambiguity, clarified the important decisions, made reasonable assumptions and kept delivery moving.
Explain how you assessed urgency, impact, dependencies and risk, then communicated the resulting priorities.
Show respectful disagreement, evidence-based reasoning, willingness to listen and commitment after the final decision.
Identify a recurring source of wasted time or risk, make a focused improvement, and demonstrate its impact.
Explain the manual problem, why automation was worthwhile, how you implemented it safely and what time or error reduction resulted.
Show how you adapted your explanation to the audience, focused on the outcome and avoided unnecessary technical jargon.
Show how you noticed a risk early, validated it, communicated it and added a safeguard.
Describe how you understood the stakeholder鈥檚 goals, handled disagreement professionally and reached a workable outcome.
Explain why you accepted, reduced or paid down technical debt and how you managed the associated risk.
Start with the problem, evaluate alternatives, validate the technology with a small experiment and explain how you managed adoption and risk.
Explain how you identified what the developer needed, coached rather than simply solved the problem, and measured their progress.