CS-Notes: a Chinese interview index under CC BY-NC-SA, with no LICENSE file
GitHub describes it as :books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计. This article stays within the project description and details documented in the GitHub repository README.
At a glance
- What is it?
- This is an index of Chinese-language Markdown notes on algorithms, operating systems, networks, databases and system design, aimed at technical interview preparation. The repository holds no site generator and no build, the licence is declared in prose and a badge rather than in a file, and the last push was on 2024-08-21.
- Who is it for?
- Read it if you read Chinese and want a single index into operating systems, networks, databases and system design without assembling the syllabus yourself. Do not plan on reusing it commercially, because the licence the README names is CC BY-NC-SA 4.0 and the non-commercial clause is the one that bites, and do not assume a PDF or a printable edition exists, because the notes are typeset for a GFM renderer with raw HTML in them.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Probably not. The repository last received commits 25 months ago, on August 21, 2024.
- What is it written in?
- GitHub does not report a main language for this repository.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
notes/, docs/ and assets/, with a README that is nothing but an index
The top level of the repository holds four entries: .gitignore, README.md, assets/ and docs/, with the notes themselves under notes/ and a copy of the content under docs/. There is no package manifest, no build script and no site generator anywhere at the top, so nothing in the repository keeps a published version in step with the Markdown.
The README is a ten-column table of subject areas, and each cell links straight to a file. The subjects are algorithms, operating systems, networks, object-oriented design, databases, Java, system design, tools, coding practice and an afterword. The links are not section anchors inside one document. Each one is a full path into notes/, percent-encoded, ending in a file called 目录 (table of contents) for the larger topics.
The consequence is that the README is a link farm, not a curriculum. There is no ordering, no difficulty, no estimated time, and nothing that tells you whether 计算机网络 (computer networks) is meant to be read before or after HTTP. The homepage at cyc2018.xyz is a separate artifact from this tree, and the repository gives you no way to check the two against each other.
Filenames are Chinese with embedded spaces, and every link is percent-encoded
Look at what a link target actually is. One of the algorithms entries resolves to notes/剑指 Offer 题解 -目录.md, the database system principles entry to notes/数据库系统原理.md, and the design patterns entry to notes/设计模式 -目录.md. Non-ASCII characters, embedded spaces, a hyphen used as a word separator, all percent-encoded in the URL.
This is a plain Markdown repository with no tooling, and that turns the filenames into an operational detail rather than a cosmetic one. Any script that clones the tree, greps it, diffs two versions, or builds an index has to handle UTF-8 paths with spaces, which rules out the naive forms of find, grep and xargs in a surprising number of shells. The 目录 suffix on the index files also means the real article is one level deeper than the link suggests, so a reader who downloads a single file gets a table of contents with nothing behind it.
Everything in notes/ is written in Chinese, and there is no English version in the repository. For a reader who does not read Chinese, the entire corpus is inaccessible without machine translation, and a translated copy carries the licence conditions described below.
Images are centred with div tags because GFM has no centre element
The afterword explains a typesetting decision that turns out to decide how portable the notes are. The content is typeset according to a Chinese copywriting guidelines document, and images are not centred with a Markdown mechanism but with an HTML tag, because GitHub Flavored Markdown does not support a centre element and only a div with an align attribute achieves it.
So the Markdown in notes/ is not pure Markdown. Interleaved HTML tags are load-bearing, and the notes assume a renderer that is GFM specifically. The author also points at an online typesetting tool, Text-Typesetting, as the way to work on the formatting.
That assumption is the limitation. Any pipeline that strips HTML before rendering, which includes a lot of Markdown-to-PDF, Markdown-to-docx and sanitising documentation builds, will silently drop the alignment and reflow the images inline. If what you want from these notes is a printable or offline copy, this is the specific reason a straight conversion does not produce something readable, and no script in the repository helps you do it.
A CC BY-NC-SA 4.0 badge, and no LICENSE file at the root
The afterword states the licence in prose. It says the content is not assembled carelessly from material found online, that apart from a small amount quoted from books and technical documentation, where the source is noted in reference links at the end of the piece, the rest is original work. It asks that anyone quoting the content or modifying and deriving from it attribute the source and share alike. The badge in the afterword points at the Creative Commons BY-NC-SA 4.0 deed.
There is no LICENSE file at the repository root. The four top-level entries are .gitignore, README.md, assets/ and docs/. The consequence is practical: automated licence detection reports nothing for this repository, and a legal review that keys on machine-readable licence metadata gets a blank rather than an answer, so somebody has to read the afterword to find the terms.
The non-commercial clause is the part that constrains use. Attribution and share-alike are familiar; non-commercial is the one that stops a paid course, a commercial bootcamp, or paid internal training from using these notes as course material without a separate arrangement with the author.
Republication is handled by email, not by a licence clause
The licence paragraph is followed by two instructions that are not part of any Creative Commons grant. A reposted article must clearly state the page address at the top of the copy, and republication on WeChat public accounts or similar channels should go through [email protected].
So the terms here are a mix. Attribution and share-alike come from the badge, and a manual permission path sits on top of them for republication. That is not unusual for a personal notes repository, and it is a normal thing for an author to want. It is also a constraint on anyone planning to mirror the corpus: the person who wants a bulk copy for a company wiki or a classroom is now asking an author by email rather than exercising a right, and the answer to that email is not something the repository tells you.
The acknowledgement section closes the same way, offering to add contributors to a list if they have submitted an issue or a pull request and contact the author. Recognition here runs through a person, not a file.
The index files a recruiting page and an attack page beside the study notes
Two entries in the index are not study material, and neither is marked as such.
The algorithms section holds three notes and then a fourth link, 字节跳动内推, which points into assets/ rather than notes/ and is a recruiting referral page. Everything else in that section is a solutions catalogue or a topic index, so a reader scanning the algorithms column gets a job referral at the end of it. It is also the link most likely to rot, because a referral page has a shorter useful life than a chapter on binary search.
The system design section has a different problem. Its entries are system design fundamentals, distribution, clustering, 攻击技术 (attack techniques), caching and message queues, in that order. An offensive security topic sits between clustering and caching with nothing to mark the change of subject, so anyone scanning that column for scalability topics walks into it without warning. Both files are written as teaching material, so nothing is wrong with them, but the index does not distinguish a page about breaking things from a page about distributing a service.
No releases, no tags, and a last push dated 2024-08-21
The repository has no GitHub releases. The default branch is master, and the most recent push was on 2024-08-21.
That is the whole maintenance record available from the outside. There is no tag to cite, no changelog, no release note, and no statement about a support window, so a reader who wants to know whether an algorithm note or a database explanation is current has nothing to check against. The last push date tells you when the tree last changed and nothing about whether the material inside it was reviewed at that point.
The consequence for anyone reusing this is that citation has to be at commit level. A study plan that points at CS-Notes should point at a specific commit, because a link to master will show different content next year and there will be no release note telling you what changed. The same applies to fork-based corrections: a pull request to this repository is one route, but with no release cadence there is no signal about whether a merged fix reached a copy you already downloaded.
Editorial conclusion
Read it if you read Chinese and want a single index into operating systems, networks, databases and system design without assembling the syllabus yourself. Do not plan on reusing it commercially, because the licence the README names is CC BY-NC-SA 4.0 and the non-commercial clause is the one that bites, and do not assume a PDF or a printable edition exists, because the notes are typeset for a GFM renderer with raw HTML in them. Before you cite it in a study plan, record the commit you read, since there are no releases and no tags to point at, and check whether the 攻击技术 page filed inside the system design section is something you want in your reading list at all.
Frequently asked questions
What does CS-Notes cover?
Ten subject areas, all written in Chinese: algorithms including a Sword Offer solutions index, a LeetCode solutions index and a general algorithms index, computer operating systems and Linux, computer networks with HTTP and Socket, database fundamentals with SQL syntax, SQL exercises, MySQL and Redis, Java covering basics, containers, concurrency, the JVM and I/O, object-oriented thinking and design patterns, system design with distribution, clustering, caching and message queues, tools covering Git, Docker, build tools and regular expressions, and coding practice notes on readability and style.
Can I use CS-Notes in a paid course or commercial training?
The licence named in the README is CC BY-NC-SA 4.0, so the non-commercial term applies alongside attribution and share-alike. The repository has no LICENSE file at its root, so the terms are only stated in the afterword prose and the badge, and the README separately asks that republication on WeChat public accounts and similar channels be arranged by email with the author.
Is there a PDF of the CS-Notes material?
The repository documents no PDF build, and the top level contains only .gitignore, README.md, assets/ and docs/ with no build tooling. The notes themselves depend on a GFM renderer, because images are centred with a div tag since GFM does not support a centre element, which means a conversion that strips HTML loses the image layout. The author points at an online typesetting tool, Text-Typesetting, for working on the formatting.
How current are the CS-Notes notes?
There are no GitHub releases and no tags, and the last push to the default branch, master, was on 2024-08-21. Nothing in the repository gives a revision to cite or a review date for the material, so anything that references it has to name a commit rather than a version.
Which programming languages do the CS-Notes notes cover?
Java has its own section covering the language basics, the container classes, concurrency, the virtual machine and I/O. The database section covers SQL syntax, SQL exercises, MySQL and Redis, and the tools section covers Git, Docker, build tools and regular expressions. The primary language recorded for the repository is not set, since the content is Markdown.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/cyc2018-cs-notes)