JS Guide
HomeQuestionsSearchResources
Search

Built for developers preparing for JavaScript, React & TypeScript interviews.

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeQuestionstooling

tooling

Build tools, package managers, and development workflow

Your Progress

0 of 5 completed

0%

5 Questions

senior Level
1
What is a monorepo and how do you set one up?
senior
architecture
A monorepo contains multiple packages/projects in one repository. Use tools like Turborepo, Nx, or pnpm workspaces for dependency management, shared configs, and efficient builds. Benefits include code sharing, atomic changes, and unified tooling.
2
How do you create custom ESLint rules and plugins?
senior
custom
Create custom ESLint rules by writing AST visitors that detect patterns and report errors. Rules receive context with report() for violations. Package multiple rules as a plugin with rules and recommended configs. Use AST Explorer to understand code structure.
3
How does Babel work and how do you configure it?
senior
transpilation
Babel transforms modern JavaScript to compatible versions using plugins (individual transforms) and presets (plugin collections). Configure via babel.config.js with presets like @babel/preset-env for automatic browser targeting and plugins for specific features.
4
How do you containerize a JavaScript application with Docker?
senior
containerization
Create a Dockerfile with multi-stage builds: first stage installs dependencies and builds, second stage copies only production files for smaller images. Use .dockerignore, optimize layer caching, and consider Node.js-specific best practices like running as non-root.
5
How do you optimize build times for large JavaScript projects?
senior
optimization
Optimize builds with: incremental/cached builds (Turborepo, Nx), parallel processing, using faster tools (esbuild, SWC), persistent caching, avoiding unnecessary work (affected only), and proper CI caching. Profile builds to find bottlenecks.