datawhalechina/daily-interview: a Chinese interview prep handbook built with VitePress
Datawhale成员整理的面经,内容包括机器学习,CV,NLP,推荐,开发等,欢迎大家star
At a glance
- What is it?
- Daily Interview is a Datawhale-maintained collection of high-frequency interview questions for ML, CV, NLP, recommendation and software roles, published as a VitePress site. It is a curated review checklist, not a full course, and its licence forbids commercial use.
- Who is it for?
- Adopt it if you are a Chinese-speaking candidate for an algorithm or development role and you need a short, high-frequency review list in the last day or two before an interview, or if you want to mirror the VitePress build and adapt the content to your own team. Do not adopt it if you need a complete curriculum, graded exercises with answers, English-language material, or anything you intend to resell or bundle into a paid product, because the licence is non-commercial.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 84 days ago.
- 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
The problem Daily Interview picks out of the pile
Interview write-ups are abundant and badly organised. The README names the specific complaint: platforms such as 牛客网 and 知乎 carry large volumes of interview reports, but they are scattered, and a candidate preparing under time pressure ends up reading more material rather than better material. The second complaint is focus. A candidate does not know which topics actually recur, so revision has no target.
Daily Interview answers both by being deliberately narrow. The stated principle is to collect only high-frequency knowledge points and questions, sized for roughly half a day of review before an interview, and to give lines of reasoning rather than standard answers. The README is equally explicit about what it refuses to be: it does not try to be comprehensive, and it does not try to fill in gaps in your knowledge, because everyone's weak spots differ.
The audience is therefore specific. The content table maps modules to roles: algorithm basics and computer fundamentals for all technical positions, AI algorithms for algorithm and AI engineer roles, system design for senior development roles, development stacks for frontend, backend and big data roles, and project experience plus behavioural questions for everyone. If you are preparing for a non-technical interview, or you want a textbook, this is the wrong shape of resource.
How the repository is put together
The top level holds the usual project furniture plus three things that matter: docs/, pdf/, and a package.json. The docs/ directory is the VitePress content root, pdf/ holds generated documents, and package.json defines the toolchain.
The site is VitePress 1.5.x on Vue 3.5, with markdown-it-mathjax3 as a runtime dependency. The package name is daily-interview and the package type is module. Three npm scripts cover the whole workflow: dev runs vitepress dev docs, build runs vitepress build docs, and preview runs vitepress preview docs. Nothing else is wired in, so there is no custom server, no database and no API. Content is Markdown files under docs/, and the site is a static build.
The README's changelog records a migration from Docsify to VitePress on 2025-08-26, together with a rebuilt two-sidebar layout, local Chinese search, responsive layout, LaTeX rendering, reorganised documents, unified image paths, language tags on code blocks and updated GitHub Actions for deployment. The published site lives at datawhalechina.github.io/daily-interview. Because the build is static and the only moving parts are npm dependencies, the deployment surface is small: a Node environment, an install step and a build step.
The licence is worth noting at this point rather than at the end. package.json declares CC-BY-NC-SA-4.0, and the README repeats that as the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International licence. The GitHub metadata lists GPL-3.0, which conflicts with both. Treat the package.json and README as the project's own statement of intent and resolve the discrepancy with the maintainers before you build anything commercial on top of it.
Installing it and reading it locally
You do not need to install anything to read the material. The README points readers at the online edition for the best reading experience, and that is the intended path for a candidate revising before an interview. Cloning and building is for people who want to edit the content, work offline, or produce the PDF.
The commands below come from the scripts block in package.json. Run them from the repository root. The dev script starts a local VitePress server pointed at docs/.
npm install
npm run devAfter npm run dev, VitePress serves the docs/ directory locally and reloads on file changes, which is what you want while editing a Markdown page. To produce the static output instead, use the build script and then preview it.
npm run build
npm run previewThe build writes the static site, and npm run preview serves that build so you can check it before deploying. If you only want the reading material, skip all of this and open the documentation site.
The README organises revision by role rather than by directory. For an algorithm position it lists AI algorithms plus data structures and algorithms as the focus modules, mathematics and computer fundamentals as supporting material, and suggests one to two days of concentrated review. For a development position it lists development technology, data structures and algorithms, and computer fundamentals as the focus, with system design as supporting material for senior roles, and suggests half a day for a fast pass. Project experience and behavioural questions are listed as required for every technical role. The README also gives four usage habits: bookmark weak points, actually implement algorithm problems rather than reading them, run mock interviews, and write your own notes on top of the project's content.
Where it stops being useful
The project's own framing is its main limitation. It states that it does not aim for completeness and that knowledge keeps changing, so it concentrates on core material. That means you cannot use it as your only source. If your interview will probe a specific framework version, a niche domain, or the internals of a system you worked on, this repository will not cover it, and the README says so rather than pretending otherwise.
The second limitation is that it gives approaches, not answers. The stated goal is to provide lines of thought and methods rather than standard answers. For a candidate who wants to memorise, that is frustrating. For a candidate who has never seen a topic, an approach without a worked answer is not enough to learn from.
The third is language and audience. All content, navigation and search are in Chinese, and the project is aimed at the Chinese hiring market. The local search added in the VitePress migration supports Chinese search specifically. If you are interviewing elsewhere, the question set will not match the format or the expectations.
The fourth is that this is a documentation site, not a practice tool. There is no question bank with scoring, no spaced repetition, no progress tracking. The README's own advice, to implement algorithm problems by hand and to run mock interviews with another person, exists precisely because the site cannot do those things for you. The repository also has no releases recorded, so there is no versioned artifact to pin; you take the master branch as it stands.
Alternatives and the difference in approach
The closest structural alternative is a full interview-preparation platform with an interactive question bank, where you answer questions, get graded, and track progress over weeks. Daily Interview is the opposite: static Markdown, a static build, no accounts, no scoring. The difference is not quality but time horizon. A platform assumes you have weeks and want measurement. Daily Interview assumes you have half a day and want a shortlist.
A second alternative is a general-purpose static documentation generator, such as Docsify, which this project used before the 2025-08-26 migration. The README records the reasons for leaving: VitePress brought a two-sidebar layout, local search, LaTeX rendering and faster builds. If you are choosing a tool for your own interview notes, that history is a useful data point rather than a recommendation, since the comparison comes from the project that made the switch.
A third alternative, and the one most readers will actually weigh, is writing your own notes. The README suggests this as a complement, telling readers to build personal notes on top of the project's content. The trade-off is straightforward: the repository gives you a curated starting list and a consistent structure, while your own notes give you coverage of the things you personally got wrong. The project is designed to be the first and to be supplemented by the second.
Maintenance, licence and the cost of keeping a fork
The repository is not archived, and the last push was on 2026-07-08, which is roughly two months before the date of writing. The README's changelog records a large update on 2025-08-26 and a smaller one on 2025-07-15 that added large language model interview material. There are no releases, so there is no tagged version to depend on and no upgrade path other than pulling the branch.
For a reader, the maintenance cost is close to zero. For someone who forks the content, it is not. Upstream edits land in docs/ as Markdown changes, and if you have restructured the files or rewritten pages, merging those changes is manual work. The VitePress configuration and the npm dependencies are the part you would want to track, since vitepress is pinned as ^1.5.0 and vue as ^3.5.13 in devDependencies, and markdown-it-mathjax3 as ^4.3.2 in dependencies. Those ranges will drift on their own if you reinstall.
The licence is the constraint that matters most for anyone building on this. The README states the work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, which permits sharing and adaptation provided you give attribution, do not use it commercially, and distribute any adaptation under the same licence. The GitHub metadata for the repository says GPL-3.0, which does not match. That discrepancy is a real risk for a company that wants to use the material in internal training or a paid product, and it is worth raising as an issue before you commit to anything. This is a description of what the project states, not legal advice; if the distinction matters to you, ask someone qualified and ask the maintainers to settle which licence applies.
Editorial conclusion
Adopt it if you are a Chinese-speaking candidate for an algorithm or development role and you need a short, high-frequency review list in the last day or two before an interview, or if you want to mirror the VitePress build and adapt the content to your own team. Do not adopt it if you need a complete curriculum, graded exercises with answers, English-language material, or anything you intend to resell or bundle into a paid product, because the licence is non-commercial. Before relying on it, check the docs/ directory for the module you care about and confirm the content is current for the stack you will actually be asked about, since the README states the project deliberately does not aim to be comprehensive.
Frequently asked questions
What is datawhalechina/daily-interview?
It is a Datawhale-maintained collection of high-frequency interview questions covering machine learning, CV, NLP, recommendation and development topics, published as a VitePress site. The README describes it as a short pre-interview review resource rather than a complete curriculum.
How do I install and run datawhalechina/daily-interview locally?
Clone the repository, run npm install, then npm run dev to serve the docs/ directory with VitePress. To produce the static site instead, run npm run build followed by npm run preview.
What licence does datawhalechina/daily-interview use?
The README and package.json both state CC BY-NC-SA 4.0, which allows sharing and adaptation with attribution, non-commercial use and share-alike terms. The GitHub metadata lists GPL-3.0 instead, so the two disagree.
What are the top 10 best interviews of all time?
The README does not cover interview rankings or notable interviews; it is a question bank for technical interview preparation.
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/datawhalechina-daily-interview)