Why do we need a module bundler like Webpack or Vite?
A bundler builds a dependency graph and outputs optimized bundles. It enables features like tree‑shaking, code splitting, and hot module replacement, which improve performance and developer experience in large applications.
What is a transpiler, and why is Babel important?
transpiler converts modern JavaScript (ES6+) into code browsers can understand. Babel allows developers to use the latest language features while maintaining cross‑browser compatibility.
How do task runners differ from bundlers?
Task runners like Gulp or npm scripts automate repetitive tasks such as linting, testing, and compiling. Bundlers focus on packaging code. In practice, task runners complement bundlers in CI/CD pipelines.
Explain version control systems and Git’s role.
A VCS tracks changes to source code, enabling collaboration and rollback. Git, the most popular distributed VCS, records changes as snapshots in a repository. It supports branching, merging, and rebase workflows
What Git commands or workflows should a developer know?
Core commands include clone, commit, push, merge, and rebase. Workflows like Git Flow or trunk‑based development
What is a test runner, and how does Jest fit in?
A test runner executes predefined test scripts and reports results. Jest is widely used in JavaScript projects, often paired with React Testing Library. It supports mocking, snapshot testing, and integration with CI pipelines.
How does code splitting improve performance?
Code splitting breaks applications into smaller chunks that load on demand. This reduces initial bundle size, speeds up page load, and improves UX. In React, dynamic imports and lazy loading are common implementations.