{"adoption": {"forks": 5933, "observed_at": "2026-08-28T04:12:09.211207+00:00", "stars": 43994}, "canonical_url": "https://ross.abutalabs.com/products/front-end-interview-handbook", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Front End interview preparation materials for busy engineers (updated for 2026)", "domain": ["web-development", "frontend", "education", "tutorials"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 78, "homepage": "https://frontendinterviewhandbook.com", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["yangshun/front-end-interview-handbook"], "name": "yangshun/front-end-interview-handbook", "platform": ["cross-platform"], "pushed_at": "2026-08-13T08:25:31+00:00", "repo": "yangshun/front-end-interview-handbook", "stars": 43994, "tags": ["interview-preparation", "front-end", "javascript", "html", "css", "system-design", "handbook", "study-guide", "web-server"], "topics": ["front-end", "interview-questions", "html", "javascript", "css", "web-development", "css-questions", "js-questions", "html-questions", "interview-test", "front-end-development", "front-end-interview", "interview", "interview-preparation", "front-end-system-design"], "urls": [], "use_cases": ["prepare for a front end developer job interview", "study answers to common HTML, CSS, and JavaScript interview questions", "learn front end system design interview strategies", "review front end trivia questions before an interview", "find company-specific front end interview questions", "brush up on web fundamentals before technical interviews"], "what_it_is": "An open-source handbook of front end interview preparation materials covering HTML, CSS, JavaScript, coding questions, and front end system design. It is published as a free website and maintained by GreatFrontEnd, updated for 2026.", "when_to_avoid": ["you need general software engineering or algorithm interview prep like LeetCode-style practice", "you want interactive coding practice with automated test suites rather than reading material", "you are preparing for backend, mobile, or non-web interviews"], "when_to_choose": ["you are interviewing for front end roles and need domain-specific prep beyond algorithms", "you want free, community-vetted answers to the h5bp front end interview questions", "you need a structured overview of front end interview formats and system design"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/front-end-interview-handbook", "repo": "yangshun/front-end-interview-handbook", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:12:09.211207+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:22:15.918063+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "70aa394dec496672d401a27e0787b314972a23a77f30d0e4e249c0d100517e11", "fetched_at": "2026-08-28T04:12:09.211207+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangshun/front-end-interview-handbook"}, {"content_hash": "648ed5b243dd4437a269d635ca14dd2a2caa25864133cb70cc2b44205d18b1f9", "fetched_at": "2026-08-29T07:46:06.449885+00:00", "kind": "homepage", "missing": false, "url": "https://frontendinterviewhandbook.com"}, {"content_hash": "b893f1a6b19079506b95ea74c18de30be7948f1449d7c0d166a0384e211cd82d", "fetched_at": "2026-08-29T07:46:06.485703+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/front-end-interview-handbook"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3154, "days_push": 20, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}