every-programmer-should-know
100,652
Stars
8,777
Forks
2,009
Watchers
30
Open Issues
CC-BY-4.0
许可证
未知
语言
2017-08-24
创建时间
2025-12-29
最近更新
项目能做什么
汇集了每位软件开发者都该了解的技术知识与常识。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
项目简介
mtdvio/every-programmer-should-know 是一个面向软件开发者的精选技术知识与学习资源清单。作者整理了无论开发者处于何种水平、使用何种技术栈都建议了解的(主要是技术类的)核心概念与参考资料。内容带有较强的主观推荐色彩(Highly opinionated),且没有特定的先后阅读顺序。
核心功能
该项目汇总了计算机科学与软件工程的关键领域资源,主要涵盖:
- 计算机科学导论与路线图:包含 CS 知识图谱、通俗概念解析(如 40 个核心概念解释)、学习路线(Computer Science Roadmap 等)。
- 认知误区(Falsehoods):整理了程序员容易陷入的思维误区合集(Awesome Falsehoods),涉及字符串、姓名、地址、时间与时区等。
- 算法与数据结构:精选书籍(如《Grokking Algorithms》《Introduction to Algorithms》等)、算法可视化工具、复杂度速查表(Big O Cheatsheet)及公开课。
- 底层与数据表示规范:
- 数字(Numbers):浮点数原理与陷阱(Floating Point Guide 等)。
- 字符串(Strings):Unicode、ASCII、UTF-8 编码原理与同形异义字(Homoglyphs)。
- 时间与时区(Time):时间系统的特殊问题与时区陷阱。
- 内存(Memory):程序员应知晓的底层内存知识。
- 延迟(Latency):各级存储访问延迟数据及交互图表。
- 分布式系统与机器学习:包含分布式核心著作(如《Designing Data-Intensive Applications》)、分布式经典论文、网络分区数据库表现(Jepsen)以及机器学习课程。
适合谁用
- 适合所有技术水平与技术栈的软件开发者。
- 想要跳出单一语言/框架、打牢底层计算机基础、补齐常识盲区的工程师。
安装步骤
此部分原文未说明,请查看原仓库。(本项目为纯文档/资源汇总清单,不包含需要安装的代码或运行环境。)
配置说明
此部分原文未说明,请查看原仓库。(本项目为知识合集,无任何配置文件或配置参数。)
常见问题
- 成为程序员必须把这些内容全部死记硬背吗?
不需要。原仓库特别注明,你完全没必要把这些知识全盘背诵下来才能写代码,但了解这些底层逻辑能帮助你成长为更优秀的开发者。 - 阅读内容有推荐顺序吗?
没有。作者注明清单内容并没有按特定顺序编排,读者可以根据自己的薄弱环节或当前兴趣自由选择阅读。 - 如何参与贡献?
仓库欢迎社区参与,具体贡献要求可参考原仓库的CONTRIBUTING.md。
原始 README 摘录(英文原文,节选前 3000 字符)
<div align="center" markdown="1">
<a href="https://mylevel.dev?utm_source=github&utm_medium=gh_banner&utm_campaign=gh_sponsorship">
<img width="400" alt="FTSE sponsorship card" src="https://github.com/user-attachments/assets/32ad7485-feec-4f87-b213-7c4ecfbe7fea" />
</a>
### [Measure your Software Developer level against a cross-industry benchmark in 10 minutes!](https://mylevel.dev?utm_source=github&utm_medium=gh_link&utm_campaign=gh_sponsorship)
[Take a FREE quiz and get instant results - no email submission required](https://mylevel.dev?utm_source=github&utm_medium=gh_sublink&utm_campaign=gh_sponsorship)<br>
*<sub>Created by this repo author</sub>*
</div>
# Every Programmer Should Know :thinking:
A collection of (mostly) technical things every software developer should know.
*These are resources I can recommend to every programmer regardless of their skill level or tech stack*
Highly opinionated :bomb:. Not backed by science.
Comes in no particular order :recycle:
<br>
### :star: it and share with a friendly developer!
<br>
<br>
*P.S. You [don't need to know](https://xkcd.com/1050/) all of that by heart to be a programmer.
But knowing the stuff will help you become better! :muscle:*
*P.P.S. [Contributions](CONTRIBUTING.md) are welcome!*
----
### Introduction
- :movie_camera: [Map of Computer Science](https://www.youtube.com/watch?v=SzJ46YA_RaA)
- :movie_camera: [40 Key Computer Science Concepts Explained In Layman’s Terms](http://carlcheo.com/compsci)
- :page_facing_up: [Computer Science Roadmap](https://roadmap.sh/computer-science)
- :page_facing_up: [Community-driven Roadmaps for Developers](https://github.com/kamranahmedse/developer-roadmap)
### Falsehoods
- [Awesome Falsehoods](https://github.com/kdeldycke/awesome-falsehood)
💊 Curated list of falsehoods programmers believe in.
Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.
### Algorithms
- [Big O Cheatsheet](http://bigocheatsheet.com/)
- :book: [Computer Science Distilled](https://www.goodreads.com/book/show/34189798-computer-science-distilled)
- :book: [Grokking Algorithms](https://www.goodreads.com/book/show/22847284-grokking-algorithms-an-illustrated-guide-for-programmers-and-other-curio)
- :book: [Introduction to Algorithms](https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms?from_search=true&from_srp=true&qid=8mUglV9uZ1&rank=1)
- [Algorithms Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html)
- [Algorithms for Competitive Programming](https://cp-algorithms.com/)
### Data Structures
- 📖 [Hello Algo](https://www.hello-algo.com/en/chapter_preface/about_the_book/)
- :movie_camera: [UC Berkeley, Data Structures Course](https://sp19.datastructur.es/)
- [Foundations of Data Structures - EDX](https://www.edx.org/course/foundations-data-structures-iitbombayx-cs213-1x-0#!)
- [Data Structures - Coursera](https://www.coursera.org/learn/data-structures)
-
阅读完整原文
商业机会分析 AI 生成
交互式程序员通识技能树与自测系统 (SaaS)
| 产品构想 | 将清单中庞杂的技术主题重构为类似 roadmap.sh 的技能雷达图与阶段式任务树,配套每个知识点的核心自测题与知识闪卡 (Flashcards)。 |
| 核心功能 | 通识技能图谱导航、考点自测与代码/概念小测验、错题集与记忆曲线复习、学习进度追踪看板。 |
| 目标用户 | 在校生、初级开发者、备战技术面试的软件工程师。 |
| 难度/周期 | 中等 · 4-6周 · 成本:低(基础 Web 托管 + Serverless/BaaS 后端) |
| 收费模式 | Freemium 模式:核心路线图免费,高级自测题库、详细解析及知识卡片导出按月/年订阅或一次性买断。 |
| 竞争风险 | 内容编制工作量大;开发者自律性不足导致留存率偏低。 |
| 依据 | 数据支持的判断 |
《程序员必知必会通识精讲》系列数字出版物
| 产品构想 | 依据 CC-BY-4.0 协议,将清单索引深化为图文并茂的系统化电子书和速查手册,填补零散链接跳转带来的学习断层体验。 |
| 核心功能 | PDF/ePub 格式排版、核心概念图解、真实工程案例分析、配套精简速查 Cheatsheet。 |
| 目标用户 | 偏好离线结构化阅读的开发者、技术团队内训负责人。 |
| 难度/周期 | 低 · 6-8周 · 成本:极低(内容撰写排版工具) |
| 收费模式 | 数字商品单次购买(Gumroad / 微信小商店 / 自建站直接售卖)。 |
| 竞争风险 | 纯电子文档极易遭受盗版传播;内容更新迭代频率若跟不上会贬值。 |
| 依据 | 已验证事实 |
AI 驱动的架构与工程通识模拟面试官
| 产品构想 | 将该知识库作为 RAG 基础,结合 LLM 构建专项技术面试 Agent,针对计算机通识、系统设计与工程规范对候选人进行多轮交互式考察并输出评估报告。 |
| 核心功能 | 多轮情境技术问答、能力雷达评估报告、针对薄弱知识点推送复习材料与改进建议。 |
| 目标用户 | 求职期开发者、技术转管理/架构岗位的工程师。 |
| 难度/周期 | 中等 · 3-4周 · 成本:中等(LLM API 调用成本,需按使用量核算) |
| 收费模式 | 按次付费(如单次完整模拟面试收费)或月度通票套餐。 |
| 竞争风险 | 大模型在深度技术场景下可能产生幻觉;用户求职诉求更偏向 LeetCode 题库而可能低估通识面试价值。 |
| 依据 | AI推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| MoonTechLab/LunaTV | 中文介绍暂未生成 本项目采用 CC BY-NC-SA 协议,禁止任何商业化行为,任何衍生项目必须保留本项目地址并以相同协议开源 |
10,931 | TypeScript |
| ksundong/backend-interview-question | 面向后端开发求职准备的面试题库,汇集真实提问、预测题与网络参考题。 | 5,981 | - |
| nextai-translator/bob-plugin-openai-translator | 基于 LLM 的 Bob 插件,提供文本翻译、文本润色与语法纠错功能。 | 5,651 | TypeScript |
| pkuliyi2015/multidiffusion-upscaler-for-automatic1111 | 面向 AUTOMATIC1111 的分块扩散与 VAE 优化扩展。 | 4,991 | Python |
| designfuchen/word-atlas | 包含配图、英美发音与 FSRS 复习机制的开源雅思词汇应用。 | 4,624 | TypeScript |
| KHwang9883/MobileModels | 汇总整理各大手机品牌与型号的数据集。 | 4,345 | - |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2017-08-24,最近推送 2025-12-29 |
| 社区活跃 | Star 100,652 / Fork 8,777 / Issue 30(数据支持,可自行核实) |
| 许可证 | CC-BY-4.0 |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/mtdvio/every-programmer-should-know.git cd every-programmer-should-know # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。