[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4071":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},4071,"fullstack-tutorial","frank-lam\u002Ffullstack-tutorial","frank-lam","🚀 fullstack tutorial 2022，后台技术栈\u002F架构师之路\u002F全栈开发社区，春招\u002F秋招\u002F校招\u002F面试","https:\u002F\u002Ffrank-lam.github.io\u002Ffullstack-tutorial",null,"Java",11689,2397,376,21,0,5,14,1,70.9,false,"master",true,[25,26,27,28,29,30],"computer-science","fullstack-developer","interview","java","java-interview","skill-tree","2026-06-12 04:00:21","\u003Cdiv align=\"center\">\u003Cimg src=\"assets\u002Flogo-2021.svg\" width=\"80%\"\u002F>\u003C\u002Fdiv>\u003Cbr\u002F>\n\n|              I              |           II           |           III           |           IV           |            V            |            VI            |        VII        |         VIII         | IX |            X            |            XI            |            XII            |\n| :--------------------------: | :-------------------: | :----------------------: | :---------------------: | :--------------: | :---------------: | :----------------------: | :----------------------: | :----------------------: | :----------------------: | :----------------------: | :----------------------: |\n| 算法\u003Cbr \u002F>[📝](#一数据结构与算法) | Java\u003Cbr\u002F>[☕️](#二java) | Python\u003Cbr \u002F>[🐍](#三python) | 前端\u003Cbr \u002F>[🔗](#四前端) | 数据库\u003Cbr\u002F>[💾](#五数据库) | 操作系统\u003Cbr\u002F>[💻](#六操作系统) | 网络通信\u003Cbr\u002F>[☁️](#七网络通信) | 分布式\u003Cbr\u002F>[📃](#八分布式) | 机器学习\u003Cbr\u002F> [🔍](#九机器学习) |工具\u003Cbr\u002F>[🔨](#十工具) |Learn\u003Cbr \u002F>[📖](#learn-) |Talking\u003Cbr \u002F>[💡](#talking-bulb) |\n\n\u003Cdiv align=\"center\">  \n    \u003Cp>\n        ✨✨✨\n    \u003C\u002Fp>\n    \u003Cp>\n \t\t和 500+ 技术达人在线交流：\n      \u003Ca href=\"notes\u002F技术交流群.md\">🤟 快来吧，和大家一起技术互动交流\u003C\u002Fa>\n    \u003C\u002Fp>\n  \u003Cp>\n    『技术博客』：\u003Ca href=\"https:\u002F\u002Fwww.frankfeekr.cn\">www.frankfeekr.cn\u003C\u002Fa>   |  『开源贡献』：\u003Ca href=\"notes\u002F开源贡献.md\">⊱ 英雄招募令\u003C\u002Fa>   |   『微信订阅号』：全栈开发社区\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv align=\"center\">\u003Cimg src=\"assets\u002Fzhishixingqiu.JPG\" width=\"40%\"\u002F>\u003C\u002Fdiv>\u003Cbr\u002F>\n\n\n\n🔥🔥🔥 \n\n欢迎光临 LinTools 开发者的在线导航： https:\u002F\u002Ftools.frankfeekr.cn\n\n如果你有更好的在线工具，[请点击留言](https:\u002F\u002Fgithub.com\u002Ffrank-lam\u002Ffullstack-tutorial\u002Fissues\u002F65)，持续更新！\n\n\n\n## 前言\n\n- [谈谈技术学习的一些方法论](https:\u002F\u002Fwww.frankfeekr.cn\u002F2019\u002F05\u002F09\u002F谈谈技术学习的一些方法论\u002F)\n\n  在学习技术这条路上并不是一帆风顺，也一直在探索一条适合自己的学习方法。从一开始的技术小白，到现在还比较上道的老鸟，在这个过程中走了太多的弯路，想在这里和大家分享一些我的经历和学习方法。\n\n- [如何选择自己的技术栈](https:\u002F\u002Fwww.frankfeekr.cn\u002F2019\u002F05\u002F27\u002F如何选择自己的技术栈\u002F)\n\n  在编程的世界里，该如何选择自己的技术栈呢。学前端？学 APP 开发？对于 Java、C++、C#、Python、PHP 又如何选择呢？人工智能现如今这么火，是不是机器学习、深度学习更高级一些呢？那么程序员又如何修炼内功呢？\n\n- [全栈开发神兵利器](notes\u002F全栈开发神兵利器.md)\n\n  工欲善其事，必先利其器。这里我将推荐开发过程中的提效工具、开发利器、协作工具、文档技术等等。\n\n- [XP 极限编程](notes\u002FXP极限编程.md)\n\n  敏捷软件开发中可能是最富有成效的几种方法学之一\n\n\n\n## 技能图谱\n\n- [backend skill](notes\u002FSkillTree\u002Fbackend-skill.md)\n\n  后台开发技能图谱，从程序员的内功修炼到后台语言，分布式系统架构\n\n\n\n## 一、数据结构与算法\n\n- [数据结构与算法](notes\u002F数据结构与算法.md)\n\n　　排序算法、动态规划、递归、回溯法、贪心算法等\n\n- [海量数据处理](notes\u002F海量数据处理.md)\n\n  数据处理典型案例，逐渐更新\n\n\n\n## 二、Java\n\n- [Java 基础概念](notes\u002FJavaArchitecture\u002F01-Java基础.md)\n\n　　基本概念、面向对象、关键字、基本数据类型与运算、字符串与数组、异常处理、Object 通用方法\n\n- [Java 集合框架](notes\u002FJavaArchitecture\u002F02-Java集合框架.md)\n\n　　数据结构 & 源码分析：ArrayList、Vector、LinkedList、HashMap、ConcurrentHashMap、HashSet、LinkedHashSet and LinkedHashMap\n\n- [Java 并发编程](notes\u002FJavaArchitecture\u002F03-Java并发编程.md)\n\n　　线程状态、线程机制、线程通信、J.U.C 组件、JMM、线程安全、锁优化\n\n- [Java I\u002FO](notes\u002FJavaArchitecture\u002F04-Java-IO.md)\n\n　　磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO\n\n- [Java 虚拟机](notes\u002FJavaArchitecture\u002F05-Java虚拟机.md)\n\n　　运行时数据区域、垃圾收集、内存分配机制、类加载机制、性能调优监控工具\n\n- [Java 设计模式](notes\u002FJavaArchitecture\u002F06-Java设计模式.md)\n\n　　Java 常见的 10 余种设计模式，全 23 种设计模式逐步更新\n\n- [Java Web](notes\u002FJavaArchitecture\u002F07-JavaWeb.md)\n\n　　包含 Servlet & JSP、Spring、SpringMVC、Mybatis、Hibernate、Structs2 核心思想，如 IOC、AOP 等思想。SSM 更详细请转向：[Spring](notes\u002FJavaWeb\u002FSpring.md) | [SpringMVC](https:\u002F\u002Fgithub.com\u002Ffrank-lam\u002FSpringMVC_MyBatis_Learning) | [MyBatis](https:\u002F\u002Fgithub.com\u002Ffrank-lam\u002FSpringMVC_MyBatis_Learning)\n\n\n\n## 三、Python\n\n- [Python 语言基础](notes\u002FPython\u002FPython简介及基础语法.md)\n\n\n\n## 四、前端\n\n- [前端知识体系](notes\u002FFrontend\u002F前端知识体系.md)\n- [Angular 基础知识](notes\u002FFrontend\u002FAngular.md)\n- [ES6+ 语法全解析](https:\u002F\u002Fnotes.frankfeekr.cn\u002Fdocs\u002Ffrontend\u002Fes6\u002F%E9%A1%B9%E7%9B%AE%E5%87%86%E5%A4%87\u002F%E5%89%8D%E8%A8%80)\n\n\n\n\n\u003Cdetails>\n\u003Csummary>TODO LIST\u003C\u002Fsummary>\n\n- HTML5\n\n- CSS3\n\n- CSS 预处理\n\n  - sass(scss)\n  - less\n  - stylus\n\n- CSS 框架\n\n  - BootStarp\n  - LayUI\n\n- JavaScript \n\n  基础语法、进阶、ES6\n\n- JavaScript 框架\n\n  - Vue\n  - React\n  - Angular\n  - jQuery\n\n- Node\n\n  常用 api、对象池、异常处理、进程通信、高并发\n\n- 静态类型检查\n\n  - TypeScript\n  - Flow\n\n- 构建\u002F打包工具\n\n  - webpack\n  - gulp\n  - rollup\n\n- 包管理工具\n\n  - npm\n  - yarn\n  \n- 服务端渲染\n\n  - koa2\n  - express\n  - nuxt\n  - next\n\n\u003C\u002Fdetails>\n\n\n\n## 五、数据库\n\n- [MySQL](notes\u002FMySQL.md)\n\n  存储引擎、事务隔离级别、索引、主从复制\n\n- [Redis](notes\u002FRedis.md)\n\n  Redis 核心知识\n\n- [SQL](notes\u002FSQL.md)\n\n  常用 SQL 语句\n\n- [PostgreSQL](notes\u002FPostgreSQL.md)\n\n  一个开源的关系数据库，是从伯克利写的 POSTGRES 软件包发展而来的\n\n- [InfluxDB](https:\u002F\u002Fwww.frankfeekr.cn\u002F2019\u002F07\u002F24\u002Finfluxdb-tutorial-start\u002F)\n\n  玩转时序数据库\n\n\n\n## 六、操作系统\n\n- [操作系统原理](notes\u002F操作系统.md)\n\n　　进程管理、死锁、内存管理、磁盘设备\n\n- [Linux](notes\u002FLinux.md)\n\n　　基础核心概念、常用命令使用\n\n\n\n## 七、网络通信\n\n- [计算机网络](notes\u002F计算机网络.md)\n\n　　传输层、应用层（HTTP）、网络层、网络安全\n\n- [RESTful API](notes\u002FRESTful%20API.md)\n\n  软件架构风格、格设计原则和约束条件\n\n- [Web网络安全](notes\u002F网络安全.md)\n\n  web前后端漏洞分析与防御，XSS 攻击、CSRF 攻击、DDoS 攻击、SQL 注入\n\n\n\n\n## 八、分布式\n\n- [Docker](notes\u002FDocker基础.md)\n\n  容器化引擎服务\n\n- [微服务](notes\u002F微服务.md)\n\n  微服务简介、API 网关、服务注册发现、服务通信\n\n- [Zookeeper](notes\u002F分布式\u002FZookeeper.md)\n\n  分布式协调服务，服务注册发现\n\n- [Kafka](notes\u002FMicroService\u002Fkafka\u002FREADME.md)\n\n  深入浅出 Kafka，将用最极简的语言带你走进 Kafka 的消息中间件世界\n\n\n\n【说明】**分布式专题** 笔者也在学习中，这里列举了一些技能列表，笔者将局部更新。敬请期待\n\n\n\n\n\u003Cdetails>\n\u003Csummary>TODO LIST\u003C\u002Fsummary>\n\n- Kubernetes（k8s）\n\n  容器化部署，管理云平台中多个主机上的容器化的应用\n\n- 云计算\n\n  SaaS（软件即服务） 、PaaS（平台即服务） 、IaaS（基础架构即服务）\n\n- Zookeeper\n\n  分布式协调服务，服务注册发现\n\n- Dubbo、Thrift（RPC 框架）\n\n  分布式服务治理\n\n- 分布式事务解决方案\n\n- ActiveMQ、Kafka、RabbitMQ\n\n  分布式消息通信\n\n- 熔断，限流，降级机制\n\n- Redis\n\n  分布式缓存\n\n- Mycat\n\n  数据库路由\n\n- Nginx\n\n  反向代理\n\n- Tomcat\n\n  Web Server 服务\n\n- DevOps\n\n  自动化运维，持续集成、持续交付、持续部署\n\n\n- 分布式锁\n\n  基于 Redis、MySQL、Zookeeper 的分布式锁实现\n\n- FastDFS\n\n  轻量级分布式文件管理系统\n  \n- Go\n\n  并发的、带垃圾回收的、快速编译的语言\n\n\u003C\u002Fdetails>\n\n\n\n## 九、机器学习\n\n- [深度学习初识](notes\u002FDeepLearning\u002F深度学习初识.md)\n\n- 经典机器学习算法\n\n  K 近邻算法、线性回归、梯度下降法、逻辑回归、支持向量机、决策树、集成学习\n\n\n\n\n## 十、工具\n\n- [Git](notes\u002Fgit-tutorial.md)\n\n  学习指引，将用最极简的语言带你进入 Git 版本控制的世界\n\n- [Git 工作流](notes\u002FGit工作流.md)\n\n  集中式工作流，功能分支工作流， GitFlow 工作流，Forking 工作流，Pull Requests\n\n- [正则表达式](notes\u002F正则表达式.md)\n\n  常见符号含义，速查表\n\n- [手把手教你搭建内网穿透服务](https:\u002F\u002Fgithub.com\u002Ffrank-lam\u002Flanproxy-nat)\n\n  基于 lanproxy 穿透服务，为你定了一键启动的服务端和客户端 Docker 镜像\n\n- [基于 SpringBoot & IDEA & JRebel 玩转远程热部署与远程调试](https:\u002F\u002Fwww.frankfeekr.cn\u002F2019\u002F07\u002F17\u002Fspringboot-idea-jrebel-hotswap\u002F)\n\n  手把手带你玩转，远程调试与远程热部署\n\n- [什么是 TDD 及常见的测试方法](notes\u002F软件测试.md)\n\n\n\n## Learn 📖\n\n- [LEARN_LIST](notes\u002FLEARNLIST.md)\n\n　　包含阅读清单，学习课程两部分\n\n- [web应用开发标准流程](notes\u002Fweb应用开发标准流程.md)\n\n\n\n## Talking :bulb:\n\n本仓库致力于成为一个全栈开发爱好者的学习指南，给初学者一个更明确的学习方向，同时也是对自己技能的强化和巩固。在架构师这条路上，希望和大家一起成长，帮助更多的计算机爱好者能够有一个明确的学习路径。持续不间断的维护本仓库，也欢迎有更多的极客们加入。\n\n都说好记性不如烂笔头，定期的学习和整理必然对学习巩固有所帮助，这里通过索引的方式对全栈开发技术做一个系统分类，方便随时巩固和学习，当然还有面试。在学习这条路上难免会有很多盲点和学不完的知识。有道无术，术尚可求，掌握好思维能力才能应对千变万化的技术。不要把大脑当成硬盘，也不要做高速运转的 CPU，而修行自己的大脑成为一个搜索引擎，学会分析解决问题。\n\nSince 20,May,2018\n\n\n\n## Reference\n\n个人的能力有限，在编写的过程中引用了诸多优秀的 GitHub 仓库。本项目的启发来自 [@CyC2018](https:\u002F\u002Fgithub.com\u002FCyC2018) 的学习笔记，是一个非常优秀的开源项目，在本仓库中部分内容引用文字和图例；引用了 [@计算所的小鼠标](https:\u002F\u002Fgithub.com\u002FCarpenterLee) 中对于 JCF 的源码分析和理解；引用了  [阿里面试题总结](https:\u002F\u002Fwww.nowcoder.com\u002Fdiscuss\u002F5949) 中全部的面试题，并对面经进行了整理勘误，并进行了知识拓展和修改；引用了 [牛客网](https:\u002F\u002Fwww.nowcoder.com) 上的面试经验贴。也引用了知乎上的热门回答和优秀博客的回答。在这里特别鸣谢，我将每篇文章中做外链引用说明。\n\n文中我也推荐了学习的书籍和学习课程，都将附着上最高清、最形象的配图进行讲解。在文中的配图都来自自己绘制的、博客、Github、PDF书籍等等，这里没法一一感谢，谢谢你们。\n\n推荐一些优秀的开源项目，供大家参考，[reference](notes\u002Freference.md)。\n\n\n\n## Contributors\n\nThank you to all the people who already contributed to fullstack-tutorial !\n\nPlease make sure to read the [Contributing Guide\u002F如何给我的仓库贡献](notes\u002Fdocs\u002F如何给我的仓库贡献.md) before making a pull request. \n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffrank-lam\u002Ffullstack-tutorial\u002Fgraphs\u002Fcontributors\">\u003Cimg src=\"https:\u002F\u002Fopencollective.com\u002Ffullstack-tutorial\u002Fcontributors.svg?width=890&button=false\" \u002F>\u003C\u002Fa>\n\n\n\n## Stargazers over time\n\n![Stargazers over time](https:\u002F\u002Fstarcharts.herokuapp.com\u002Ffrank-lam\u002Ffullstack-tutorial.svg)\n\n\n\n## License\n\n\u003Ca rel=\"license\" href=\"http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby-nc-sa\u002F4.0\u002F\">\u003Cimg alt=\"知识共享许可协议\" style=\"border-width:0\" src=\"https:\u002F\u002Fi.creativecommons.org\u002Fl\u002Fby-nc-sa\u002F4.0\u002F88x31.png\" \u002F>\u003C\u002Fa>\n\nCopyright (c) 2021-present, Frank Lam\n\n\n\n## 关于作者 :boy:\n\n\u003Cdiv align=\"center\">  \n    \u003Cp>\n      『作者简介』：\u003Ca href=\"https:\u002F\u002Fwww.frankfeekr.cn\u002Fauthor\">https:\u002F\u002Fwww.frankfeekr.cn\u002Fauthor\u003C\u002Fa>\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\n\u003Cdiv align=\"center\">  \n    \u003Cp>\n        在颠覆世界的同时，也要好好关照自己。\n    \u003C\u002Fp>\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Ffrankfeekr.cn\" rel=\"nofollow\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBLOG-frankfeekr.cn-blue.svg\" alt=\"BLOG\" data-canonical-src=\"\" style=\"max-width:100%;\">\u003C\u002Fa>\n\u003Ca target=\"_blank\" href=\"mailto:frank_lin@whu.edu.cn\" rel=\"nofollow\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEmail-frank__lin@whu.edu.cn-lightgrey.svg\" alt=\"邮箱\" data-canonical-src=\"\" style=\"max-width:100%;\">\u003C\u002Fa>\n\u003Ca target=\"_blank\" href=\"https:\u002F\u002Fjq.qq.com\u002F?_wv=1027&k=593WvX0\" rel=\"nofollow\" >\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQQ群-862619503-green.svg\" alt=\"QQ群\" data-canonical-src=\"\" style=\"max-width:100%;\">\u003C\u002Fa>\n    \u003Cbr\u002F>\u003Cbr\u002F>\n    \u003Cp>\n        from zero to hero.\n    \u003C\u002Fp>\n\u003C\u002Fdiv>\n\u003Cdiv align=\"center\"> \u003Cimg src=\"assets\u002Fwechat\u002Fwx-green.png\" width=\"70%\"\u002F>\u003C\u002Fdiv>\n\n","fullstack-tutorial 是一个面向全栈开发者的综合性技术教程项目。它覆盖了从基础算法到高级框架的广泛内容，包括Java、Python编程语言，前端开发，数据库管理，操作系统原理，网络通信，分布式系统以及机器学习等多个方面。每个主题都配有详细的文档和实践案例，旨在帮助开发者构建全面的技术体系。特别适合正在准备春招、秋招等校园招聘或社会招聘面试的计算机相关专业学生及初级开发者使用，同时对于希望提升自己技术水平的在职工程师也极具参考价值。",2,"2026-06-11 02:58:14","top_language"]