{"id":15129916,"url":"https://github.com/azl397985856/fe-interview","last_synced_at":"2025-10-08T08:24:09.330Z","repository":{"id":38420716,"uuid":"196552074","full_name":"azl397985856/fe-interview","owner":"azl397985856","description":"宇宙最强的前端面试指南 (https://lucifer.ren/fe-interview)","archived":false,"fork":false,"pushed_at":"2023-09-18T17:04:14.000Z","size":3083,"stargazers_count":2855,"open_issues_count":5,"forks_count":261,"subscribers_count":69,"default_branch":"master","last_synced_at":"2025-05-29T05:26:24.559Z","etag":null,"topics":["algorithm","fe","frontend","interview","javascript","qian-duan"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azl397985856.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"patreon":"fe_lucifer"}},"created_at":"2019-07-12T09:38:19.000Z","updated_at":"2025-05-19T14:29:51.000Z","dependencies_parsed_at":"2024-01-14T05:08:15.234Z","dependency_job_id":null,"html_url":"https://github.com/azl397985856/fe-interview","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/azl397985856/fe-interview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azl397985856%2Ffe-interview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azl397985856%2Ffe-interview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azl397985856%2Ffe-interview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azl397985856%2Ffe-interview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azl397985856","download_url":"https://codeload.github.com/azl397985856/fe-interview/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azl397985856%2Ffe-interview/sbom","scorecard":{"id":221226,"data":{"date":"2025-08-11","repo":{"name":"github.com/azl397985856/fe-interview","commit":"5508883c731919e0280677b9fa18cb423e951c8c"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 2/21 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 11 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T02:33:18.353Z","repository_id":38420716,"created_at":"2025-08-17T02:33:18.353Z","updated_at":"2025-08-17T02:33:18.353Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278911323,"owners_count":26067237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","fe","frontend","interview","javascript","qian-duan"],"created_at":"2024-09-26T02:23:52.257Z","updated_at":"2025-10-08T08:24:09.287Z","avatar_url":"https://github.com/azl397985856.png","language":"JavaScript","readme":"# 大前端面试宝典 - 图解前端\n\n![Total visitor](https://visitor-count-badge.herokuapp.com/total.svg?repo_id=azl397985856.fe-interview)\n![Visitors in today](https://visitor-count-badge.herokuapp.com/today.svg?repo_id=azl397985856.fe-interview)\n\n\u003e 统计数据的时间是从 2019-09-03 19:40 起至今\n\n为了更好的阅读效果，推荐使用[在线阅读](https://lucifer.ren/fe-interview/#/)的方式。\n\n![logo](./docs/assets/imgs/logo.jpg)\n这是一份自己总结的关于准备前端面试的一个复习汇总项目，项目不定时更新。\n\n这不仅仅是一份用于求职面试的攻略，也是一份前端 er 用来检视自己，实现突破的宝典。\n希望通过这个指南，大家可以打通自己的任督二脉，在前端的路上更进一步。\n\n本仓库大量采用图的形式来传达知识，所谓一图胜千言，希望通过这种图文并茂的表达方式\n让你更容易记住一些抽象，难以理解的概念，《图解前端》是我给它的副标题。\n\n所有的内容按照主题进行分类，大家可以根据自己需要随意传送, enjoy🍻🍻🍻\n\n我的目标是做`宇宙最强的前端面试指南`。\n\n\u003e WIP： 🚧 项目还在施工中哦，请戴好头盔！⚠️\n\n## 简介\n\n面试是一件很主观很难的事情。 面试不通过不代表你就不合格，同样地即使面试通过也不意味着你就合格了。\n作为候选人，通常会给你 45 分钟的时间来让你展示自己的技能。\n作为一名面试官，同样难以在这么短的时间里评估这个人是否适合这项工作。\n对于面试来说，没有任何一种标准能够适合所有人，面试官通常会覆盖某一个领域，但除此之外，他们会自行决定应该问哪些问题。\n\n准备面试，我们应该准备一些真正能够体现面试人水平的题目，比如一些编程题，设计题，框架选型等，不要过分\n拘泥于特别小的问题，尤其是 API 的问题，比如`==`的隐式转化，我个人很反感这种问题。\n相反面试官应该更关注`面试者是否了解前端开发的基本原理，而不是依赖更高级别的抽象。`\n比如你是否可以在不依赖库的情况下完成开发任务（当然实际情况很少这样），这样你才能彻底理解库在背后都做了什么。\n\n## 关于我\n\n我是一个对技术充满兴趣的程序员, 擅长前端工程化，前端性能优化，前端标准化等。\n\n做过.net， 搞过 Java，现在是一名前端工程师。拥有两年前端面试官的经验，\n对于面试的一些技术问题和套路有一定的认识和积累。\n\n除了我的本职工作外，我会在开源社区进行一些输出和分享，比较受欢迎的有[leetcode 题解](https://github.com/azl397985856/leetcode)\n和[我的第一本小书](https://github.com/azl397985856/automate-everything)\n\n如果大家需要内推的可以找我，我这里有包括阿里，腾讯，头条，网易等很多公司的朋友。\n有需要可以直接群里联系我，或者发送到我的个人邮箱 [azl397985856@gmail.com]。\n\n## 主题\n\n这部分的内容建议使用[线上地址阅读](https://lucifer.ren/fe-interview/#/)。\n\n## 声明\n\n本仓库的所有内容都是本人自己整理的，因此可能有不够完善，优秀甚至错误的地方，大家可以随意提问题。\n\n对于前端的技能图谱，我比较推荐[这个网站](https://roadmap.sh/frontend)。\n这个网站相对于其他的前端技能图谱，更新地更快一点，其他的技能图谱很多都落伍了。\n\n## 每日一题\n\n每日一题是在交流群（包括微信和 qq）里进行的一种活动，大家一起 解一道题，这样讨论问题更加集中，\n会得到更多的反馈。而且 这些题目可以被记录下来，日后会进行筛选添加到仓库的题解模块。\n\n\u003cimg width=\"600\" src=\"./docs/assets/imgs/daily-issue.png\"\u003e\n\n- [每日一题汇总](https://github.com/azl397985856/fe-interview/tree/master/docs/daily)\n\n\u003cimg width=\"600\" src=\"./docs/assets/imgs/daily-summary.png\"\u003e\n\n- [每日一题认领区](https://github.com/azl397985856/fe-interview/projects/1)\n\n## 关注我\n\n我重新整理了下自己的公众号，并且我还给它换了一个名字`脑洞前端`，它是一个帮助你打开大前端新世界大门的钥匙 🔑，在这里你可以听到新奇的观点，看到一些技术尝新，还会收到系统性总结和思考。\n\n在这里我会尽量通过图的形式来阐述一些概念和逻辑，帮助大家快速理解，图解是我的目标。\n\n之后我的文章会同步到微信公众号 `脑洞前端` ，你可以关注获取最新的文章，并和我进行交流。\n\n另外你可以回复大前端进大前端微信交流群， 回复 leetcode 拉你进 leetcode 微信群，如果想加入 qq 群，请回复 qq。\n\n\u003cimg width=\"300\" src=\"https://github.com/azl397985856/leetcode/raw/master/assets/gongzhonghao.jpeg\"\u003e\n\n## 捐赠\n\n[点击查看完整的捐赠列表](./donation.md)\n\n### 微信\n\n\u003cimg width=\"300\" src=\"https://github.com/azl397985856/leetcode/raw/master/assets/donate-weixin.jpg\"\u003e\n\n### 支付宝\n\n\u003cimg width=\"300\" src=\"https://github.com/azl397985856/leetcode/raw/master/assets/donate-zfb.jpg\"\u003e\n\n## 贡献\n\n- 项目刚刚创建，个人精力有限。再加上有些东西我本人也不是很精通，因此邀请各路仙友加入到这个项目中来，欢迎大家认领相应的模块，当然也可以添加新的模块。\n- 如果有想法和创意，请提[issue](https://github.com/azl397985856/fe-interview/issues)或者进群提\n- 如果想贡献代码，请提[PR](https://github.com/azl397985856/fe-interview/pulls)\n- 如果需要修改项目中图片，[这里](./docs/assets/drawio/)存放了项目中绘制图的源代码， 大家可以用[draw.io](https://www.draw.io/)打开进行编辑。\n\n## License\n\n[Apache-2.0](./LICENSE.txt)\n","funding_links":["https://patreon.com/fe_lucifer"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazl397985856%2Ffe-interview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazl397985856%2Ffe-interview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazl397985856%2Ffe-interview/lists"}