登录 注册

every-programmer-should-know

去点 Star
教育与学习 cc-bycollectioncomputer-scienceeducationalnovice
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 章节有说明。