explaingit

frank-lam/fullstack-tutorial

11,689JavaAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A Chinese-language study guide covering the full range of software development topics, from algorithms to distributed systems, aimed at developers preparing for tech interviews at Chinese companies.

Mindmap

mindmap
  root((fullstack-tutorial))
    Topics covered
      Data structures
      Java fundamentals
      Databases
      Networking
    Goal
      Interview prep
      Structured learning
      Chinese tech jobs
    Content type
      Study notes
      Reading lists
      Course links
    Audience
      Junior developers
      CS students
      Interview candidates
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Use as a structured roadmap to study data structures, algorithms, and Java fundamentals for backend tech interviews.

USE CASE 2

Follow the curated topic list to build foundational knowledge across databases, networking, and distributed systems without hunting for separate resources.

USE CASE 3

Reference the reading lists and course recommendations to find the best learning materials for each subject area.

Tech stack

JavaPythonMySQLRedis

Getting it running

Difficulty · easy Time to first run · 5min
Free to share and adapt for non-commercial purposes only, with credit to the original author (Creative Commons BY-NC-SA 4.0).

In plain English

This repository is a Chinese-language study guide for people learning full-stack software development, with a particular focus on preparing for technical job interviews at Chinese tech companies. The author, a developer named Frank Lam, assembled it as a personal knowledge base starting in 2018 and has updated it over the years. It is written almost entirely in Chinese, so readers who do not read Chinese will find most of the content inaccessible without translation tools. The guide is organized as a structured index of topics, each linking to a detailed notes file. The topics covered span a wide range: data structures and algorithms (sorting, dynamic programming, recursion), Java fundamentals and more advanced Java subjects (collections, concurrency, input/output, the Java virtual machine, and design patterns), Python basics, frontend development, relational and key-value databases including MySQL and Redis, operating system concepts, computer networking and web security, distributed systems topics like message queues and service coordination, introductory machine learning, and practical tools like Git and regular expressions. The intent is to give a beginner or intermediate developer a clear learning path across all of these areas at once, rather than requiring them to track down separate resources. The author describes it as a way to treat your own mind as a search index rather than a hard drive: the goal is to understand and reason, not just memorize. The guide also includes curated reading lists and course recommendations alongside the notes. The repository does not contain runnable code or a deployable application. It is purely a collection of written study notes, with occasional diagrams. Contributions from other developers are welcome, and the project has accumulated a list of contributors. The license is Creative Commons Attribution-NonCommercial-ShareAlike 4.0, which means you can share and adapt the content for non-commercial purposes with credit.

Copy-paste prompts

Prompt 1
I am preparing for a Java backend interview at a Chinese tech company, based on fullstack-tutorial topics, create a 4-week study schedule prioritizing data structures, Java concurrency, and MySQL.
Prompt 2
Explain the Java Virtual Machine concepts from fullstack-tutorial in plain English with examples I can use in an interview answer.
Prompt 3
Using the distributed systems section of fullstack-tutorial as context, explain what message queues are and when you would use one.
Prompt 4
Summarize the key sorting algorithms from fullstack-tutorial with their time complexities and a one-line note on when to use each.
Open on GitHub → Explain another repo

← frank-lam on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.