这是饥人谷后端2023年的自学走线
体系知识
组件一 HTML
环境构筑 Chrome + VSCode + liveserver 条码的采用情景 常用HTML5条码 doctype、meta、常用特性 各种配置文件类别组件二 CSS费潘
CSS示例种类、权重、错误率计算、相匹配顺序、承继块、行的特性 两种盒模数学模型 边距卷曲 Flex产业布局做网页,flex-basis、flex-grow、flex-shrink的计算结果 BFC的基本概念和应用 定位各式各样用语 竹节句子 Grid产业布局的采用 垂直、水平德博瓦桑县的几种同时实现响应式媒体查阅 移动端网络连接静态rem、静态viewport手写体工具栏、svg工具栏 CSS3常用特技如梯形、阴影、位移、过渡、动画电影组件三 ECMAScript
8种数据类别var、let、const 差别 穆尔与falsy值 类别转换 基础类别和引用类别 常用操作方式符(+、+=、==、===、&&、||)typeof 的值 操作方式符结合性和错误率 流程掌控句子 字符串操作方式 0.1 + 0.2 === 0.3与卢瓦松相乘字符串操作方式API 第一类操作方式 Map、weakMap、Set、Symbol Math、Date 函数、斜线函数、递回 深复本 句法结构返回值、立即执行函数函数 科尔曼化、反弹函数 程序语言 ES6常用句法组件四 ECMAScript费潘
构造函数、第一类、蓝本,蓝本链 Class读法 承继的实现 this、call、apply、bind 旋量群 反弹函数,PromisePCB、async、await的采用 记事本Promise.all、Promise.race、Promise.allSettled、Promise.any 记事本Promisemammalian掌控 各项任务堆栈宏各项任务与微各项任务,setTimeout、Promise、async、await相关代码输出 v8废弃物拆解组件五 DOM
删除、修正内容 特性的操作方式、JS修正式样、转换class掌控式样 onclick与addEventListener,该事件数学模型、altered与捕捉、该事件代理、阻止预设组件六 BOM
localStorage、Cookie、Session、SessionStorage 差别 navigator判断设备 history、pushState、replaceState,不改变url创下网页组件七 前后端可视化
记事本node server Ajax 的采用与PromsiePCB Fetch API的采用 Axios介绍 Mock.js和常用Mock平台 WebSocket 相混策略、布吕马方案、CORS、JSONP组件八 应用程序图形监督机制
DNS导出过程应用程序图形监督机制读取JS、CSS差别和置放位置原因重画、外流基本概念,和性能优化的关系 script的asnyc和defer组件九 组件化、项目构建
Node.js之CommonJS规范 Node.js之npm、yarn、package.json、node_modules ES6 Module Webpack的日常采用、配置 常用Loader、Plugin 记事本Webpack Plugin、Loader Webpack的构建流程 Webpack优化后端的手段 认识rollup拓展提升
组件十 HTTP与Web安全
TCP三次握手和四次挥手过程TCP与UDP差别?TCP 协议怎么保证可靠的,UDP 为什么不可靠?应用情景?滑动窗口、拥塞掌控GET和 POST的差别HTTP状态码有哪些,301和302有什么差别应用程序HTTP请求数目限制,怎么解决长链接、短链接、如何断开长链接HTTP 1.0&1.1&2差别HTTP2特性HTTP2如何加密缓存的处理过程?强缓存/弱缓存?请求头字段和响应头字段,如何设置不用缓存HTTP和HTTPS有什么差别HTTPS加密过程、证书是什么Web安全之HTTPS、XSS、CSRF登录鉴权有哪些方式?登录持久化怎么同时实现的?JWT,accesstoken、refresh token的作用分别是什么,存放在哪儿,具体流程?组件十一 性能优化
性能优化怎么做的(结合资源和代码压缩优化、图片/路由/组件懒读取或者分包、CDN、SSR,HTTP2、应用程序读取和图形、动画电影体验等)CDN原理?CDN优化时如何判断该将哪些包分离后端性能衡量指标组件十二 移动端
px、em、rem、vw、rpx差别物理像素、逻辑像素、PPI、设备像素比是什么产业布局视口、视觉视口是什么?meta viewport的设置逻辑viewport缩放网络连接与静态rem网络连接原理在项目中采用postcss-pxtorem同时实现0.5px细线移动端响应式高清图片解决方案组件十三 设计模式
面向第一类与组件组件模式单例模式工厂模式桥接模式观察者模式以轮播为例讲解设计模式的优势组件十四 TypeScript自学
体验TypeScript类别v.s.类类别的两个好处TS支持的JS类别TS中的any、unknown、void、never、enum、tuple如何给不同数据加type联合类别与区分联合类型交叉类别怎么声明div的类别泛型是什么泛型的实际采用重载如何用泛型PCB网络请求库组件十五 Node.js 费潘
Node.js 技术架构总结Node.js 命令行翻译项目在Node.js项目中采用TypeScript发布NPMNode.js API 与自学方案WebStorm&VSCode&Chrome 调试 Node.jslibuv & v8 的功能EventLoop 介绍Docker 和 MySQLNode.js 连接数据库ORM 之 Sequalize一对一、一对多、多对多表设计缓存字段、事务、存储引擎 InnoDB三个例子了解 Stream创建自己的流进程、阻塞进程、线程创建进程和操作线程Node.js 的 execFile、spawn 和 fork组件十六 记事本代码
用Set去重、不用Set如何去重、在原字符串上去重如何对字符串里有相同内容的第一类去重如何按字符串里包含的第一类特性字段去重字符串里的第一类包含字符串摘录字段构成新字符串记事本深复本、处理循环引用的深复本记事本一个trim函数记事本一个curry函数写一个观察者EventBus含emit、on、once、off记事本一个 instanceof记事本一个new记事本一个call和apply用call/apply同时实现bind不用call或者apply同时实现bind记事本bind考虑new一个bind函数的情况记事本防抖debounce记事本节流throttle记事本forEach、map、filter、reduce记事本字符串拍平flat记事本蓝本承继记事本class承继同时实现字符串卢瓦松相乘记事本lazyman函数组件十七 记事本代码
PromisePCB一个Ajax函数PromisePCB一个delay函数记事本Promise.all 记事本Promise.race记事本Promise.allSettled记事本Promise.any记事本mammalian掌控宏各项任务、微各项任务原理和执行输出顺序async、await微各项任务代码执行输出顺序Promise链式调用与错误处理代码输出旋量群代码输出分析this代码输出分析记事本reactive函数 同时实现track 和 trigger,分别采用Object.defineProperty 和 Proxy项目练习
组件十八 自学:Vue3 、Vue Cli4、Vite、组合式API、Vuex、VueRouter
组件十九 完成多个Vue2、Vue3、Typescript、Vite、Tsx、小程序、Uniapp相关项目
组件二十 完成多个React全家桶项目
如何自学
大厂校招和中小厂社招是两个不同的自学模式。 大厂校招极其重视后端基本功。比如CSS核心难点、HTTP、Promise记事本、Webpack原理、框架原理和细节、性能优化等。笔试和面试时也会涉及大量记事本代码和代码输出的考察。对待项目,大厂反而不需要求职者需要各式各样所谓的“企业级项目”比如商城、管理系统、Uniapp、小程序等。简而言之,大厂重深度、难度、原理、记事本。当然大厂校招一般对学历学校也往往有一定要求。
如果是0基础转行,只想顺利拿到后端offer,自学的重心放在核心知识快速上手,丰富的实战项目上。在原理、性能、PCB复用、记事本代码上可暂时放下(该部分本身非常难且晦涩自学耗时很长,学完也并无可展示的东西,初级岗位考察的几率也不高,可用待以后工作后慢慢自学)。项目这块相比大厂校招需要投入更多做的更“好看”,技术栈要全面、项目表面上看起来要“商业”。比如可以做Vue商城、Uniapp、小程序、云笔记、原生造轮子等。2023,后端如此之卷,祝你好运。