【大实战】前端面试全家桶,从求职准备到面试演练2023年|价值1299|课件齐全|39章完结无密

课程简介:

  • 金三银四,马上到了,这套面试课程助您升职加薪!!
  • 2017 年开始制作前端面试课,经过 5 年的经验积累,终于完成了这套体系化、全流程的前端面试解决方案。本课程包含了从知识点、考题、到刷题,从简历编写、简历分析、到模拟面试的多维度知识与经验技能,助你更从容地应对大厂的前端面试。

网盘截图:

目录:

第1章 课程简介
视频:1-1 课程导学(05:17)
视频:1-2 学前必看!!!(02:09)
第2章 【第一阶段】高效准备前端技术一面:第一阶段介绍——说说面试的那些事儿
视频:2-1 第一阶段导学(05:53)
视频:2-2 看了这节课你就知道该怎么准备面试了(03:13)
视频:2-3 先来体验几个面试题(03:12)
视频:2-4 如何搞定所有面试题(06:34)
视频:2-5 知识体系(11:42)
第3章 【第一阶段】高效准备前端技术一面: 面试前的准备
图文:3-1 章介绍
视频:3-2 面试之前你需要准备什么?(03:05)
视频:3-3 投递简历的几种方式(10:09)
视频:3-4 面试的主要环节(10:59)
视频:3-5 JD分析-知己知彼(上)(10:32)
视频:3-6 JD分析-知己知彼(下)(10:44)
视频:3-7 如何写简历(18:25)
视频:3-8 简历案例分析(21:04)
视频:3-9 面试前的准备工作和注意事项(11:12)
第4章 【第一阶段】高效准备前端技术一面:CSS 面试题
图文:4-1 章介绍
视频:4-2 html、css面试介绍(06:16)
视频:4-3 html 面试题(04:39)
视频:4-4 布局-题目(04:43)
视频:4-5 布局-解题-1(07:54)
视频:4-6 布局-解题-2(10:41)
视频:4-7 布局-解题-3(14:08)
视频:4-8 布局-解题-4(08:40)
视频:4-9 布局-解题-5(05:10)
视频:4-10 定位-解题-1(06:05)
视频:4-11 定位-解题-2(11:32)
视频:4-12 图文样式-解题(05:16)
视频:4-13 响应式-解题(14:03)
视频:4-14 css-响应式-vw-wh(12:37)
视频:4-15 css 面试总结(16:35)
作业:4-16 【任务】总结 CSS 面试题
第5章 【第一阶段】高效准备前端技术一面:JS 异步进阶
图文:5-1 章介绍
视频:5-2 本章考点介绍(03:24)
视频:5-3 看几个异步的面试题(06:43)
视频:5-4 什么是 event loop(05:46)
视频:5-5 event loop 的执行过程(14:53)
视频:5-6 DOM 事件和 event loop 的关系(05:13)
视频:5-7 Promise有哪三种状态(14:30)
视频:5-8 Promise 的 then 和 catch 如何影响状态的变化(09:38)
视频:5-9 Promise关于then和catch的面试题(06:29)
视频:5-10 async-await语法介绍-part1(09:39)
视频:5-11 async-await 和 Promise 有什么关系(14:36)
视频:5-12 async-await是语法糖,异步的本质还是回调函数(14:52)
视频:5-13 什么是宏任务和微任务(05:10)
视频:5-14 event-loop和DOM渲染的关系(05:05)
视频:5-15 为什么微任务比宏任务执行更早(08:50)
视频:5-16 微任务和宏任务的根本区别(04:37)
视频:5-17 解答 JS 异步的面试题(14:37)
视频:5-18 手写 Promise-题目解读(06:14)
视频:5-19 手写 Promise-构造函数(13:18)
视频:5-20 手写 Promise-then 的链式调用(12:56)
视频:5-21 手写 Promise-all 和 race(10:47)
视频:5-22 本章考点总结(03:50)
第6章 【第一阶段】高效准备前端技术一面:JS 基础知识面试题
图文:6-1 章介绍
视频:6-2 JS 值类型和引用类型的区别(13:02)
视频:6-3 手写 JS 深拷贝(16:13)
视频:6-4 变量计算 – 注意某些类型转换的坑(09:48)
视频:6-5 变量类型相关的面试题(03:51)
作业:6-6 【任务】默写 JS 深拷贝
视频:6-7 JS 原型的考点和面试题(04:17)
视频:6-8 如何用 class 实现继承(14:50)
视频:6-9 如何理解 JS 原型(隐式原型和显示原型)(09:10)
视频:6-10 instanceof 是基于原型链实现的(08:57)
视频:6-11 JS 原型本章相关的面试题(12:30)
作业:6-12 【任务】画图解释原型链
视频:6-13 什么是作用域?什么是自由变量?(07:11)
视频:6-14 什么是闭包?闭包会用在哪里?(07:46)
视频:6-15 this 有几种赋值情况(04:35)
视频:6-16 作用域相关的面试题 – part1(11:47)
视频:6-17 作用域相关的面试题 – part2(08:16)
视频:6-18 补充 – 原型中的 this(02:18)
作业:6-19 【任务】总结闭包的使用场景
视频:6-20 同步和异步有何不同(09:31)
视频:6-21 异步的应用场景有哪些(03:28)
视频:6-22 promise 的基本使用(05:55)
视频:6-23 JS 异步相关的面试题(12:38)
视频:6-24 JS 基础部分的考点总结(03:33)
作业:6-25 【任务】初识 Promise
第7章 【第一阶段】高效准备前端技术一面:JS-Web-API-DOM
图文:7-1 章介绍
视频:7-2 从JS基础到JS-Web-API(03:20)
视频:7-3 DOM的本质是什么(06:56)
视频:7-4 DOM节点操作(13:33)
视频:7-5 DOM结构操作(08:34)
视频:7-6 如何优化 DOM 操作的性能(07:07)
视频:7-7 DOM 操作相关的面试题(02:03)
第8章 【第一阶段】高效准备前端技术一面:JS-Web-API 考点和面试题
图文:8-1 章介绍
视频:8-2 BOM 操作相关的面试题(05:57)
视频:8-3 事件绑定和事件冒泡(11:59)
视频:8-4 什么是事件代理(面试必考)(12:26)
视频:8-5 DOM 事件相关的面试题(03:39)
视频:8-6 ajax 的核心API – XMLHttpRequest(19:17)
视频:8-7 什么是浏览器的同源策略(08:57)
视频:8-8 实现跨域的常见方式 – jsonp 和 CORS(10:32)
视频:8-9 ajax 相关的面试题 – part1(06:26)
视频:8-10 ajax 相关的面试题 – part2(02:40)
视频:8-11 实际项目中 ajax 的常用插件(05:58)
视频:8-12 如何理解 cookie(08:15)
视频:8-13 localStorage SessionStorage 和 cookie 的区别(04:14)
第9章 【第一阶段】高效准备前端技术一面: http 面试题
图文:9-1 章介绍
视频:9-2 http的几个面试题(04:22)
视频:9-3 http常见的状态码有哪些-part1(10:00)
视频:9-4 http常见的状态码有哪些-part2(08:59)
视频:9-5 什么是 Restful-API(11:46)
视频:9-6 http 哪些常见 header(12:54)
视频:9-7 http 为何需要缓存(08:21)
视频:9-8 cache-control是什么意思-http强制缓存(10:06)
视频:9-9 Etag和Last-Modified是什么意思-http协商缓存(15:27)
视频:9-10 刷新页面对http缓存的影响(05:00)
视频:9-11 https-加密方式(11:43)
视频:9-12 https-过程解析(10:46)
视频:9-13 http考点总结(03:22)
第10章 【第一阶段】高效准备前端技术一面: 开发环境
图文:10-1 章介绍
视频:10-2 前端开发常用的开发工具(04:56)
视频:10-3 什么是 git(05:40)
视频:10-4 git 的常用命令有哪些(09:48)
视频:10-5 git 常用命令演示(14:10)
视频:10-6 如何用 chrome 调试 js 代码(06:41)
视频:10-7 移动端 h5 如何抓包网络请求(09:57)
视频:10-8 如何配制 webpack(17:23)
视频:10-9 如何配置 babel(08:36)
视频:10-10 ES6 模块化规范是什么(07:11)
视频:10-11 如何配置 webpack 生产环境(05:26)
视频:10-12 前端用到的 linux 常用命令有哪些(16:28)
视频:10-13 开发环境的考点总结(01:55)
第11章 【第一阶段】高效准备前端技术一面:运行环境【这些会了,你就可以飞了】
图文:11-1 章介绍
视频:11-2 JS 上线之后在什么哪里运行?(03:44)
视频:11-3 网页是如何加载并渲染出来的(09:46)
视频:11-4 网页加载和渲染的示例(07:32)
视频:11-5 网页加载和渲染相关的面试题(03:10)
视频:11-6 前端性能优化有哪些方式(11:52)
视频:11-7 前端性能优化的示例(09:40)
视频:11-8 手写防抖 debounce(15:37)
视频:11-9 手写节流 throttle(11:25)
视频:11-10 如何预防 xss 攻击(06:54)
视频:11-11 如何预防 xsrf 攻击(03:49)
视频:11-12 运行环境的考点总结(01:47)
第12章 【第一阶段】高效准备前端技术一面:真题模拟【我是来告诉你答案是什么】
视频:12-1 章节介绍(03:22)
视频:12-2 题目讲解-1:何为变量提升?(09:52)
视频:12-3 题目讲解-2:手写深度比较 isEqual(27:52)
视频:12-4 题目讲解-3:你是否真的会用数组 map(13:10)
视频:12-5 题目讲解-4:再学闭包(07:58)
视频:12-6 面试讲解-5:回顾 DOM 操作和优化(04:04)
视频:12-7 面试讲解-6:jsonp 本质是 ajax 吗(05:14)
视频:12-8 面试讲解-7:是否用过 Object.create()(17:35)
视频:12-9 面试讲解-8:常见的正则表达式(18:05)
视频:12-10 面试讲解-9:如何获取最大值(05:46)
视频:12-11 面试讲解-10:解析 url 参数(18:03)
视频:12-12 面试讲解-12:是否用过 requestAnimationFrame(15:00)
视频:12-13 Map 和 Set-有序和无序(16:17)
视频:12-14 Map 和 Object 区别(14:11)
视频:12-15 Set 和 Array 区别(10:33)
视频:12-16 WeakMap 和 WeakSet(15:14)
视频:12-17 数组 reduce 的用法(15:44)
第13章 【第一阶段】高效准备前端技术一面:课程总结【很有必要带你避免面试犯低级错误】
视频:13-1 课程总结~(12:13)
视频:13-2 面试技巧(08:55)
图文:13-3 扩展学习
第14章 【第二阶段】前端框架及项目面试:第二阶段简介
视频:14-1 框架面试导学(06:16)
视频:14-2 先看几个面试题(19:09)
第15章 【第二阶段】前端框架及项目面试:Vue2 考点和面试题
图文:15-1 章介绍
视频:15-2 先学 vue2 再学 vue3(12:54)
视频:15-3 vue 基本使用 part1(13:34)
视频:15-4 vue 基本知识点串讲-part2(14:28)
视频:15-5 vue 父子组件如何通讯(07:35)
视频:15-6 如何用自定义事件进行 vue 组件通讯(06:17)
视频:15-7 vue 父子组件生命周期调用顺序(11:27)
视频:15-8 面试会考察哪些 vue 高级特性(05:03)
视频:15-9 vue 如何自己实现 v-model(06:54)
视频:15-10 vue 组件更新之后如何获取最新 DOM(08:52)
视频:15-11 slot是什么?(11:13)
视频:15-12 vue 动态组件是什么(07:27)
视频:15-13 vue 如何异步加载组件(04:38)
视频:15-14 vue 如何缓存组件(06:39)
视频:15-15 vue 组件如何抽离公共逻辑(11:03)
视频:15-16 vue 高级特性知识点小结(06:19)
视频:15-17 vuex 知识点串讲(07:02)
视频:15-18 vue-router 知识点串讲(06:39)
视频:15-19 vue 使用-考点总结和复习(09:58)
作业:15-20 【任务】总结 vue 高级特性
第16章 【第二阶段】前端框架及项目面试:vue2 原理 & Vue 面试真题演练
图文:16-1 章介绍
视频:16-2 vue 原理-大厂必考(15:29)
视频:16-3 如何理解 MVVM(11:33)
视频:16-4 监听data变化的核心API是什么(08:51)
视频:16-5 如何深度监听data变化(12:31)
视频:16-6 vue如何监听数组变化(13:16)
视频:16-7 虚拟DOM-面试里的网红(13:11)
视频:16-8 用过虚拟DOM吗(18:06)
视频:16-9 虚拟DOM-diff算法概述(09:42)
视频:16-10 深入diff算法源码-生成vnode(08:29)
视频:16-11 深入 diff 算法源码-patch 函数(06:15)
视频:16-12 深入 diff 算法源码-patchVnode 函数(10:44)
视频:16-13 深入 diff 算法源码-updateChildren 函数(13:01)
视频:16-14 虚拟 DOM-考点总结和复习(03:18)
视频:16-15 模板编译前置知识点-with 语法(08:01)
视频:16-16 vue 模板被编译成什么(22:19)
视频:16-17 vue 组件可用 render 代替 template(04:43)
视频:16-18 回顾和复习已学的知识点(05:39)
视频:16-19 vue 组件是如何渲染和更新的(06:23)
视频:16-20 vue组件是异步渲染的(03:29)
视频:16-21 如何用JS实现hash路由(08:12)
视频:16-22 如何用 JS 实现 H5 history 路由(10:54)
视频:16-23 vue 原理-考点总结和复习(05:30)
作业:16-24 【任务】vnode 之于 Vue 的作用
视频:16-25 vue 真题演练1-v-for 为何使用 key(06:54)
视频:16-26 vue 真题演练2-组件 data 为何是函数(04:13)
视频:16-27 vue 真题演练3-何时使用 keep-alive(02:39)
视频:16-28 vue 真题演练4-何时需要使用 beforeDestroy(02:24)
视频:16-29 vue 真题演练5-diff 算法时间复杂度(03:00)
视频:16-30 vue 真题演练6-vue 常见性能优化(05:50)
第17章 【第二阶段】前端框架及项目面试:Vue3 学习
图文:17-1 章介绍
视频:17-2 vue3 考点概述(13:53)
视频:17-3 vue3 对 vue2 有什么优势(07:54)
视频:17-4 vue3 和 vue2 的生命周期有什么区别(13:23)
视频:17-5 如何理解Composition API和Options API(18:32)
视频:17-6 如何理解ref toRef 和 toRefs(12:15)
视频:17-7 toRef和toRefs如何使用(14:43)
视频:17-8 ref toRef和toRefs的最佳使用方式(04:29)
视频:17-9 为什么需要用 ref(14:28)
视频:17-10 为何ref需要value属性(11:00)
视频:17-11 为什么需要 toRef 和 toRefs(04:24)
视频:17-12 vue3 升级了哪些重要功能(17:04)
视频:17-13 Composition API 如何实现逻辑复用(16:14)
视频:17-14 Vue3如何实现响应式(06:41)
视频:17-15 Proxy 基本使用(16:53)
视频:17-16 vue3用Proxy 实现响应式(12:22)
视频:17-17 v-model参数的用法(11:06)
视频:17-18 watch和watchEffect的区别(13:14)
视频:17-19 setup中如何获取组件实例(06:22)
视频:17-20 什么是PatchFlag(12:40)
视频:17-21 什么是 HoistStatic 和 CacheHandler(09:07)
视频:17-22 SSR和Tree-shaking的优化(04:00)
视频:17-23 Vite 为什么启动非常快(06:35)
视频:17-24 ES Module 在浏览器中的应用(12:20)
视频:17-25 Composition API 和 React Hooks 的对比(05:32)
视频:17-26 vue3考点总结(04:53)
作业:17-27 【任务】Composition API 给 Vue 带来
视频:17-28 【升级】Vue3和JSX-基本使用(15:34)
视频:17-29 【升级】Vue3和JSX-JSX和template的区别(15:49)
视频:17-30 【升级】Vue3和JSX-slot的一些问题(15:41)
视频:17-31 【升级】Vue3和JSX-使用JSX实现slot(07:10)
视频:17-32 【升级】Vue3和JSX-使用JSX实现作用域slot(10:38)
视频:17-33 【升级】Vue3-script-setup-基本使用-part1(11:57)
视频:17-34 【升级】Vue3-script-setup-属性和事件(08:04)
视频:17-35 【升级】Vue3-script-setup-暴露组件信息defineExpose(05:59)
第18章 【第二阶段】前端框架及项目面试:React的使用
图文:18-1 章介绍
视频:18-2 React使用-考点串讲(09:58)
视频:18-3 关于 React17(01:03)
视频:18-4 JSX基本知识点串讲(10:43)
视频:18-5 JSX如何判断条件和渲染列表(09:16)
视频:18-6 React事件为何bind this(11:14)
视频:18-7 React 事件和 DOM 事件的区别(08:57)
视频:18-8 React表单知识点串讲(07:57)
视频:18-9 React父子组件通讯(08:41)
视频:18-10 setState为何使用不可变值(14:44)
视频:18-11 setState 是同步还是异步(07:01)
视频:18-12 setState何时会合并state(07:22)
视频:18-13 React18中setState的变化(06:25)
视频:18-14 React组件生命周期(05:49)
视频:18-15 React基本使用-知识点总结和复习(02:50)
视频:18-16 React函数组件和class组件有何区别(06:36)
视频:18-17 什么是React非受控组件(09:18)
视频:18-18 什么场景需要用React Portals(05:37)
视频:18-19 是否用过React Context(12:22)
视频:18-20 React如何异步加载组件(07:33)
视频:18-21 React性能优化-SCU的核心问题在哪里(06:55)
视频:18-22 React性能优化-SCU默认返回什么(08:51)
视频:18-23 React性能优化-SCU一定要配合不可变值(09:17)
视频:18-24 React性能优化-PureComponent和memo(03:13)
视频:18-25 React性能优化-了解immutable.js(03:52)
视频:18-26 什么是React高阶组件(12:31)
视频:18-27 什么是React Render Props(08:55)
视频:18-28 React高级特性考点总结(02:24)
视频:18-29 Redux考点串讲(03:39)
视频:18-30 描述Redux单项数据流(03:22)
视频:18-31 串讲react-redux知识点(05:14)
视频:18-32 Redux action如何处理异步(03:32)
视频:18-33 简述Redux中间件原理(07:07)
视频:18-34 串讲react-router知识点(04:02)
视频:18-35 React使用-考点总结(10:29)
作业:18-36 【任务】React 为何需要 SCU ?
第19章 【第二阶段】前端框架及项目面试:React 原理和面试题
图文:19-1 章介绍
视频:19-2 React原理-考点串讲(06:04)
视频:19-3 再次回顾不可变值(03:46)
视频:19-4 vdom和diff是实现React的核心技术(06:20)
视频:19-5 JSX本质是什么(20:42)
视频:19-6 说一下 React 的合成事件机制(10:45)
视频:19-7 说一下 React 的 batchUpdate 机制(10:41)
视频:19-8 简述React事务机制(02:52)
视频:19-9 说一下React组件渲染和更新的过程(06:47)
视频:19-10 React-fiber如何优化性能(05:43)
视频:19-11 React原理-考点总结和复习(03:15)
作业:19-12 【任务】介绍 React 的 batchUpdate 机制
视频:19-13 React真题演练-1-组件之间如何通讯(03:58)
视频:19-14 React真题演练-2-ajax应该放在哪个生命周期(04:34)
视频:19-15 React真题演练-3-组件公共逻辑如何抽离(02:15)
视频:19-16 React真题演练-4-React常见性能优化方式(03:35)
视频:19-17 React真题演练-5-React和Vue的区别(08:15)
第20章 【第二阶段】前端框架及项目面试:webpack 和 babel
图文:20-1 章介绍
视频:20-2 webpack考点梳理(08:38)
视频:20-3 使用 webpack5(07:02)
视频:20-4 webpack基本配置串讲(上)(12:02)
视频:20-5 webpack基本配置串讲(下)(14:21)
视频:20-6 webpack基本配置串讲(下)(08:24)
视频:20-7 webpack如何抽离压缩css文件(09:29)
视频:20-8 webpack如何抽离公共代码和第三方代码(17:12)
视频:20-9 webpack如何实现异步加载JS(07:11)
视频:20-10 module chunk bundle 的区别(04:20)
视频:20-11 webpack优化构建速度-知识点串讲(06:24)
视频:20-12 用IngorePlugin忽略无用文件(09:10)
视频:20-13 happyPack是什么(09:49)
视频:20-14 webpack 如何配置热更新(10:48)
视频:20-15 何时使用 DllPlugin(12:51)
视频:20-16 webpack 优化构建速度-考点总结和复习(03:40)
视频:20-17 webpack 优化产出代码-考点串讲(10:09)
视频:20-18 什么是 Tree-Shaking_(11:02)
视频:20-19 ES Module 和 Commonjs 的区别(04:56)
视频:20-20 什么是 Scope Hosting_(06:42)
视频:20-21 babel 基本概念串讲(08:53)
视频:20-22 babel-polyfill 是什么_(06:55)
视频:20-23 babel-polyfill 如何按需引入_(08:12)
视频:20-24 babel-runtime 是什么_(08:34)
视频:20-25 webpack 考点总结和复习(03:45)
视频:20-26 webpack 面试真题-前端代码为何要打包 _(07:49)
视频:20-27 webpack 面试真题-为何 Proxy 不能被 Polyfill(04:09)
视频:20-28 webpack 面试真题-常见性能优化方法(03:02)
作业:20-29 【任务】从 0 配置 webpack5 开发环境
第21章 【第二阶段】前端框架及项目面试:项目设计和流程
图文:21-1 章介绍
视频:21-2 面试为何会考察组件和状态设计(07:39)
视频:21-3 状态设计的思路和要点(08:49)
视频:21-4 组件设计的思路和要点(08:03)
视频:21-5 React 实现 TodoList 代码演示(07:26)
视频:21-6 组件设计和状态设计的总结(03:07)
视频:21-7 Vue 实现购物车-你将如何设计(03:05)
视频:21-8 Vue 实现购物车 data 如何设计(06:01)
视频:21-9 Vue实现购物车-组件设计和代码演示(10:25)
视频:21-10 结合 vuex 实现购物车(14:08)
视频:21-11 状态设计和组件设计的考点总结(02:16)
视频:21-12 面试为何会考察项目流程(10:18)
视频:21-13 和前端开发相关的项目角色有哪些(04:39)
视频:21-14 一个完整的项目要分哪些阶段(05:43)
视频:21-15 评审项目需求时需要注意哪些事项(08:26)
视频:21-16 如何做好技术方案设计(06:31)
视频:21-17 如何保证代码质量(05:11)
视频:21-18 项目过程中PM加需求怎么办(04:07)
视频:21-19 不要对QA说:我电脑没问题!(04:16)
视频:21-20 项目上线(02:14)
视频:21-21 项目沟通的重要性(03:27)
视频:21-22 项目流程总结(02:13)
作业:21-23 【任务】自己画一个项目研发流程图
第22章 【第二阶段】前端框架及项目面试:react hooks
视频:22-1 出几道 React-Hooks 面试题(09:37)
视频:22-2 class 组件存在哪些问题(07:37)
视频:22-3 用 useState 实现 state 和 setState 功能(16:48)
视频:22-4 用 useEffect 模拟组件生命周期(16:01)
视频:22-5 用 useEffect 模拟 WillUnMount 时的注意事项(18:31)
视频:22-6 useRef 和 useContext(13:56)
视频:22-7 useReducer 能代替 redux 吗?(08:42)
视频:22-8 使用 useMemo 做性能优化(11:26)
视频:22-9 使用 useCallback 做性能优化(05:08)
视频:22-10 什么是自定义 Hook(上)(11:09)
视频:22-11 什么是自定义 Hook(下)(12:33)
视频:22-12 使用 Hooks 的两条重要规则(04:58)
视频:22-13 为何 Hooks 要依赖于调用顺序?(11:13)
视频:22-14 class 组件逻辑复用有哪些问题?(08:40)
视频:22-15 Hooks 组件逻辑复用有哪些好处(12:02)
视频:22-16 Hooks 使用中的几个注意事项(29:55)
视频:22-17 Hooks 面试题解答(07:13)
第23章 【第二阶段】前端框架及项目面试:第二阶段课程总结
视频:23-1 总结(07:19)
第24章 【第三阶段】2周刷完100道前端优质面试真题:第三阶段课程简介
视频:24-1 -开始-学习要点和注意事项(07:52)
第25章 【第三阶段】2周刷完100道前端优质面试真题:数据结构和算法
图文:25-1 章节介绍
视频:25-2 -科普-时间复杂度(18:00)
视频:25-3 -科普-空间复杂度(08:48)
视频:25-4 -把一个数组旋转k步-代码演示和单元测试(24:18)
视频:25-5 -把一个数组旋转k步-性能分析(19:50)
视频:25-6 -判断一个字符串是否括号匹配(23:57)
视频:25-7 -用两个栈实现一个队列(20:20)
视频:25-8 -使用JS反转单向链表-什么是链表(16:12)
视频:25-9 -使用JS反转单向链表-分析解题思路(16:22)
视频:25-10 -使用JS反转单向链表-代码演示和单元测试(15:09)
视频:25-11 -【连环问】链表和数组哪个实现队列更快-分析解题思路(11:59)
视频:25-12 -【连环问】链表和数组哪个实现队列更快-代码演示和单元测试(16:47)
视频:25-13 -【连环问】链表和数组哪个实现队列更快-性能分析(06:47)
视频:25-14 -用JS实现二分查找-分析时间复杂度(08:45)
视频:25-15 -用JS实现二分查找-代码演示和单元测试(17:34)
视频:25-16 -用JS实现二分查找-递归和循环哪个更好(05:53)
视频:25-17 -找出一个数组中和为n的两个数-嵌套循环不是最优解(10:39)
视频:25-18 -找出一个数组中和为n的两个数-双指针的思路(07:35)
视频:25-19 -找出一个数组中和为n的两个数-双指针的代码演示(11:02)
视频:25-20 -求二叉搜索树的第K小值-二叉树和三种遍历(15:54)
视频:25-21 -求二叉搜索树的第K小值-解题(13:02)
视频:25-22 -为什么二叉树很重要,而不是三叉树四岔树(12:21)
视频:25-23 -堆有什么特点,和二叉树有什么关系(15:57)
视频:25-24 -求斐波那契数列的第n值-递归算法会导致运行崩溃(05:27)
视频:25-25 -求斐波那契数列的第n值-优化时间复杂度(11:41)
视频:25-26 -【连环问】青蛙跳台阶有几种方式(04:00)
视频:25-27 -移动0到数组的末尾-splice会导致性能问题(14:48)
视频:25-28 -移动0到数组的末尾-使用双指针(13:34)
视频:25-29 -获取字符串中连续最多的字符以及次数-使用嵌套循环(15:43)
视频:25-30 -获取字符串中连续最多的字符以及次数-使用双指针(00:37 读错ppt文字)(12:38)
视频:25-31 -获取字符串中连续最多的字符以及次数-正则表达式很慢(07:50)
视频:25-32 -用JS实现快速排序并说明时间复杂度-代码演示和单元测试(16:25)
视频:25-33 -用JS实现快速排序并说明时间复杂度-性能分析(08:19)
视频:25-34 -获取1-10000之前所有的对称数(回文数)-代码演示和单元测试(17:25)
视频:25-35 -获取1-10000之前所有的对称数(回文数)-性能分析(04:09)
视频:25-36 -如何实现高效的英文单词前缀匹配(17:46)
视频:25-37 -为什么0.1+0.2!==0.3(04:12)
图文:25-38 扩展:总结前端开发中常见的数据结构
图文:25-39 扩展:算法时间复杂度
图文:25-40 重点及注意事项
第26章 【第三阶段】2周刷完100道前端优质面试真题 :前端基础知识 , 必知必会
图文:26-1 章节介绍
视频:26-2 -开始-学习要点和注意事项(03:42)
视频:26-3 -Ajax-Fetch-Axios三者有什么区别(09:32)
视频:26-4 -防抖和节流有什么区别,分别用于什么场景-防抖(08:46)
视频:26-5 -防抖和节流有什么区别,分别用于什么场景-节流(08:46)
视频:26-6 -px-%-em-rem-vw-vh有什么区别(08:35)
视频:26-7 -什么时候不能使用箭头函数(11:42)
视频:26-8 -请描述TPC三次握手和四次挥手(14:30)
视频:26-9 -JS中for-in和for-of有什么区别(10:27)
视频:26-10 -【连环问】for-await-of有什么作用(08:24)
视频:26-11 -offsetHeight-scrollHeight-clientHeight有什么区别(07:20)
视频:26-12 -HTMLCollection和NodeList有什么区别(10:44)
视频:26-13 -Vue中computed和watch有什么区别(05:40)
视频:26-14 -Vue组件通讯有几种方式,尽量全面-props-emits和自定义事件(08:52)
视频:26-15 -Vue组件通讯有几种方式,尽量全面-props-$attrs(08:58)
视频:26-16 -Vue组件通讯有几种方式,尽量全面-props-$parent和$refs(03:19)
视频:26-17 -Vue组件通讯有几种方式,尽量全面-props-provide和inject(05:27)
视频:26-18 -Vuex中action和mutation有什么区别(03:02)
视频:26-19 -JS严格模式有什么特点(14:34)
视频:26-20 -HTTP跨域时为何要发送options请求(08:04)
图文:26-21 重点及注意项目总结
图文:26-22 扩展补充:Restful API 常用 method
第27章 【第三阶段】2周刷完100道前端优质面试真题 :知识深度 – 原理和源码
图文:27-1 章节介绍
图文:27-2 本章学前必看: 知识深度很重要
视频:27-3 -开始-学习要点和注意事项(06:23)
视频:27-4 -JS内存垃圾回收用什么算法(13:41)
视频:27-5 -【连环问】JS闭包是内存泄漏吗(01:17)
视频:27-6 -如何检测JS内存泄漏(13:11)
视频:27-7 -JS内存泄漏的场景有哪些(09:36)
视频:27-8 -JS内存泄漏的场景有哪些-扩展-WeakMap和WeakSet(06:40)
视频:27-9 -浏览器和nodejs事件循环(Event Loop)有什么区别-浏览器(14:18)
视频:27-10 -浏览器和nodejs事件循环(Event Loop)有什么区别-nodejs(08:29)
视频:27-11 -虚拟DOM(vdom)真的很快吗(13:39)
视频:27-12 -遍历一个数组用for和forEach哪个更快(05:05)
视频:27-13 -nodejs如何开启多进程,进程如何通讯-进程和线程的区别(12:45)
视频:27-14 -nodejs如何开启多进程,进程如何通讯-使用child_process.fork方式(11:44)
视频:27-15 -nodejs如何开启多进程,进程如何通讯-使用cluster方式(07:13)
视频:27-16 -请描述js-bridge的实现原理(16:44)
视频:27-17 -requestIdleCallback和requestAnimationFrame有什么区别(11:05)
视频:27-18 -Vue每个生命周期都做了什么(15:02)
视频:27-19 -Vue2和Vue3和React三者的diff 算法有什么区别(19:40)
视频:27-20 -Vue-router的MemoryHistory是什么(05:24)
图文:27-21 重点及注意事项总结
第28章 【第三阶段】2周刷完100道前端优质面试真题 :知识广度 – 从前端到全栈
图文:28-1 章节介绍
视频:28-2 开始-学习要点和注意事项(03:31)
视频:28-3 移动端H5点击有300ms延迟,该如何解决(06:20)
图文:28-4 扩展:Retina 屏幕的 1px 像素,如何实现
视频:28-5 HTTP请求中token和cookie有什么区别-cookie和session(18:21)
视频:28-6 HTTP请求中token和cookie有什么区别-token和JWT(08:40)
视频:28-7 【连环问】session和JWT哪个更好(08:06)
视频:28-8 【连环问】如何实现SSO单点登录(14:40)
视频:28-9 HTTP协议和UDP协议有什么区别(04:57)
视频:28-10 【连环问】HTTP协议1.0和1.1和2.0有什么区别(06:30)
视频:28-11 什么是HTTPS中间人攻击,如何预防(14:49)
视频:28-12 script标签的defer和async有什么区别(06:43)
视频:28-13 【连环问】prefetch和dns-prefetch分别是什么(06:41)
视频:28-14 前端攻击手段有哪些,该如何预防-part1(08:13)
视频:28-15 前端攻击手段有哪些,该如何预防-part2(14:46)
视频:28-16 WebSocket和HTTP协议有什么区别(12:45)
视频:28-17 WebSocket和HTTP协议有什么区别-扩展-创建简易聊天室(06:41)
视频:28-18 【连环问】WebSocket和HTTP长轮询的区别(04:07)
视频:28-19 从输入URL 到网页显示的完整过程(12:37)
视频:28-20 【连环问】网页重绘repaint和重排reflow有什么区别(06:02)
视频:28-21 如何实现网页多标签tab通讯(16:24)
视频:28-22 【连环问】如何实现网页和iframe之间的通讯(06:19)
视频:28-23 请描述koa2的洋葱圈模型(09:17)
图文:28-24 扩展:后端有了 java php python ,为何还需要 nodejs ?
图文:28-25 重点及注意事项总结
第29章 【第三阶段】2周刷完100道前端优质面试真题 :实际工作经验 是否做过真实项目
图文:29-1 章节介绍
视频:29-2 开始-学习要点和注意事项(03:54)
视频:29-3 H5页面如何进行首屏优化(15:12)
视频:29-4 后端一次性返回10w条数据,你该如何渲染(09:05)
图文:29-5 扩展:文字超出省略
视频:29-6 前端常用的设计模式和使用场景(17:50)
视频:29-7 【连环问】观察者模式和发布订阅模式的区别(02:30)
视频:29-8 在实际工作中,你对Vue做过哪些优化(10:03)
视频:29-9 【连环问】你在使用Vue过程中遇到过哪些坑(10:38)
视频:29-10 在实际工作中,你对React做过哪些优化-上集(15:47)
视频:29-11 在实际工作中,你对React做过哪些优化-下集(10:53)
视频:29-12 【连环问】你在使用React时遇到过哪些坑(04:17)
视频:29-13 如何统一监听Vue组件报错(15:50)
视频:29-14 如何统一监听React组件报错(17:35)
视频:29-15 如果一个H5很慢,如何排查性能问题-通过Chrome Performance分析(16:33)
视频:29-16 如果一个H5很慢,如何排查性能问题-使用lighthouse分析(09:20)
视频:29-17 工作中遇到过哪些项目难点,是如何解决的(13:37)
图文:29-18 扩展:处理沟通冲突
第30章 【第三阶段】2周刷完100道前端优质面试真题 :编写高质量代码
图文:30-1 章节介绍
图文:30-2 前导:高质量代码的核心要素
视频:30-3 开始-学习要点和注意事项(04:15)
视频:30-4 手写一个JS函数,实现数组扁平化Array Flatten(11:50)
视频:30-5 【连环问】手写一个JS函数,实现数组深度扁平化(11:02)
视频:30-6 手写一个getType函数,获取详细的数据类型(16:23)
视频:30-7 new一个对象的过程是什么,手写代码表示(15:19)
视频:30-8 深度优先遍历一个DOM树(09:47)
视频:30-9 广度优先遍历一个DOM树(09:21)
视频:30-10 【连环问】深度优先遍历可以不用递归吗(07:33)
视频:30-11 手写一个LazyMan,实现sleep机制(13:10)
视频:30-12 手写curry函数,实现函数柯里化(10:59)
视频:30-13 nstanceof原理是什么,请写代码表示(12:29)
视频:30-14 手写函数bind功能(13:35)
视频:30-15 【连环问】手写函数call和apply功能(18:29)
视频:30-16 手写EventBus自定义事件-包括on和once(15:13)
视频:30-17 手写EventBus自定义事件-on和once分开存储(08:25)
视频:30-18 手写EventBus自定义事件-单元测试(11:13)
视频:30-19 用JS实现一个LRU缓存-分析数据结构特点,使用Map(09:59)
视频:30-20 用JS实现一个LRU缓存-代码演示和单元测试(15:31)
视频:30-21 【连环问】不用Map实现LRU缓存-分析问题,使用双向链表(07:15)
视频:30-22 【连环问】不用Map实现LRU缓存-代码演示(26:00)
视频:30-23 手写JS深拷贝-考虑各种数据类型和循环引用(20:39)
图文:30-24 扩展补充:根据一个 DOM 树,写出一个虚拟 DOM 对象
图文:30-25 重点及注意事项总结
第31章 【第三阶段】2周刷完100道前端优质面试真题 :解决问题的思路可以独立解决问题
图文:31-1 章节介绍
视频:31-2 开始-学习要点和注意事项(03:55)
视频:31-3 -执行[-1-, -2-, -3-].map(parseInt)输出什么(12:24)
视频:31-4 -读代码-函数修改形参,能否影响实参?(03:48)
视频:31-5 -把一个数组转换为树(11:26)
视频:31-6 -【连环问】把一个树转换为数组(10:50)
视频:31-7 -读代码-构造函数和原型的重名属性(08:02)
视频:31-8 -一道让人失眠的promise-then执行顺序问题(16:23)
视频:31-9 -读代码-React-setState经典面试题(12:59)
视频:31-10 -React-setState是微任务还是宏任务(11:54)
视频:31-11 -读代码-对象和属性的连续赋值(07:44)
视频:31-12 -读代码-对象属性类型的问题(05:19)
图文:31-13 扩展补充:解决问题的常见思路
图文:31-14 重点及注意事项总结
第32章 【第三阶段】2周刷完100道前端优质面试真题 :项目设计 – 能否成为项目负责人
图文:32-1 章节介绍
图文:32-2 扩展:如果你是一个项目的前端技术负责人,你的主要职责是什么?
视频:32-3 -开始-学习要点和注意事项(04:04)
视频:32-4 -如何设计一个前端统计SDK-分析功能范围(14:08)
视频:32-5 -如何设计一个前端统计SDK-代码结构演示(21:14)
视频:32-6 -【连环问】sourcemap有何作用,如何配置(13:48)
视频:32-7 -SPA和MPA应该如何选择(07:43)
视频:32-8 -设计一个H5编辑器的数据模型和核心功能-错误答案展示(12:14)
图文:32-9 扩展知识补充:何时应该使用 SSR ,何时不用?
视频:32-10 -设计一个H5编辑器的数据模型和核心功能-演示正确答案(10:01)
视频:32-11 -设计一个“用户-角色-权限”的模型和功能(08:36)
视频:32-12 -简单描述hybrid模板的更新流程(07:42)
视频:32-13 -开发一个H5抽奖页,需要后端提供哪些接口(12:43)
视频:32-14 -如果你是前端技术负责人,将如何做技术选型(09:33)
视频:32-15 -设计实现一个H5图片懒加载SDK(10:56)
图文:32-16 扩展知识补充:我们常说的 B 端和 C 端,有什么区别
图文:32-17 重点及注意事项总结
第33章 【第三阶段】2周刷完100道前端优质面试真题 :软技能 – 沟通、总结和学习能力
图文:33-1 章节介绍
视频:33-2 -开始-学习要点和注意事项(03:10)
视频:33-3 -你是否看过“红宝书”-(05:41)
视频:33-4 -如何做Code-review,要考虑哪些内容(08:53)
视频:33-5 -如何学习一门新语言,需要考虑哪些方面(04:58)
视频:33-6 -你觉得自己还有哪些不足之处?(04:56)
图文:33-7 重点及注意事项总结最近学习
第34章 【第四阶段】模拟面试演练:第四阶段简介
视频:34-1 第四阶段导学(08:51)
视频:34-2 介绍各个候选人的基本情况(06:25)
第35章 【第四阶段】模拟面试演练:W同学 – 毕业三年寻求职业突破
视频:35-1 【个人介绍】不要流水账,突出自己的重点技术栈和项目(10:54)
视频:35-2 【简历分析】项目不能只写工作,还要写出成绩和结果析(13:50)
视频:35-3 编码熟练,思路清晰,一开始就留下好印象【CSS 实现一个四合院】(14:34)
视频:35-4 学员表现出了这方面的工作经验【CSS 如何实现黑白主题切换】(11:16)
视频:35-5 体现出学员对 ES 语法和 API 使用较少【有没有用过 Map 和 Set】(07:56)
视频:35-6 暴露了 JS 基础只是不够扎实【JS 闭包 读代码说结果】(13:56)
视频:35-7 学员对前端周边新闻没有关注【浏览器为何要禁用第三方 cookie】(09:31)
视频:35-8 知道表现,但不知道原因【React useEffect 闭包陷阱】(07:43)
视频:35-9 越简单的任务越能暴露细节问题【手写 React input 受控组件】(08:41)
视频:35-10 基础必考题,学员竟回答错了【React setState 读代码说结果】1(02:59)
视频:35-11 基础必考题,学员竟回答错了【React setState 读代码说结果】2(10:15)
视频:35-12 useEffect 应该返回什么?学员糊涂了【手写一个 React “心跳”组件】(09:05)
视频:35-13 基础算法题没有好好准备【手写快速排序,说明时间复杂度】(09:02)
视频:35-14 学员有思路,但实现不出来【合并两个递增数组】(07:42)
视频:35-15 学员竟没听说过这个问题【React 事件和 DOM 事件的区别】(04:43)
视频:35-16 了解 VNode 结构但写出很多细节错误【根据一段 JSX 写 render 函数】(15:56)
视频:35-17 有思路,敢于尝试,知难而进,很赞!【设计并实现“撤销重做”功能】(13:28)
视频:35-18 别光介绍项目功能,要重点介绍技术,你不是PM【介绍你的一个项目】(14:07)
视频:35-19 表现出团队流程不规范【如果线上遇到了 bug 你该怎么处理】(04:59)
视频:35-20 学习新知识的能力尚欠缺【自定义 DSL 流程图】(11:15)
视频:35-21 反问面试官 – 面试过程点评(06:29)
视频:35-22 反问面试官 – 自己选择 React 的合理理由(07:38)
视频:35-23 反问面试官 – 只有个人项目,如何做项目介绍?(02:05)
视频:35-24 反问面试官 – 女生职业规划难题,未来是否转行产品经理?(04:13)
视频:35-25 反问面试官 – 如何判断公司符合自己的期望(02:40)
视频:35-26 反问面试官-正式面试时应该怎么样问?(03:49)
第36章 【第四阶段】模拟面试演练:张扬同学 – 毕业6年的前端“老兵” – Vue
视频:36-1 【个人介绍】有经历有项目还有技术栈(06:39)
视频:36-2 【简历分析】要展示出6年工作经验(17:47)
视频:36-3 CSS基础知识很好【CSS盒模型读代码】(08:22)
视频:36-4 ES6 class 语法不熟练,编码习惯有欠缺【JS 设计三种菜单】(12:47)
视频:36-5 审题不仔细,铸成大错【JS this 读代码】(08:37)
视频:36-6 知道异步,但不精通 Event Loop【JS 异步读代码】(14:59)
视频:36-7 计算机基础不扎实【JS垃圾收回算法】(08:55)
视频:36-8 你之前用过,就能记得起来【Vue3 自定义 v-model】(15:02)
视频:36-9 把你知道的全部说出来,不要保留【Vue3 封装“心跳”组件】(06:59)
视频:36-10 用 Vue3 但没用过 Compsotion API【Vue3 封装 useLocation】(10:43)
视频:36-11 不熟悉基础数据结构和时间复杂度【用JS实现队列】(17:10)
视频:36-12 能根据思路写出代码,编码能力很好【机器人走方格】(15:22)
视频:36-13 知道Proxy不代表知道响应式【手写Vue3基本的reactive】(15:56)
视频:36-14 看过但不理解,面试就说不出来【Vue3和Vue2 diff 算法的区别】(04:54)
视频:36-15 能体现出候选人的项目经验【从0搭建开发环境需要考虑什么】(08:54)
视频:36-16 回答的很好,有过程有难点【介绍一个项目】(10:42)
视频:36-17 反问面试官 – 大厂对学历的要求(09:46)
视频:36-18 反问面试官 – 前端前景如何(02:54)
视频:36-19 反问面试官 – SSR 会不会让前端又重回到全栈时代(05:38)
视频:36-20 反问面试官 – 如何看待35岁失业的问题(09:54)
视频:36-21 反问面试官 – 是否建议在北京定居(08:45)
视频:36-22 张扬-面试结果评价(06:30)
视频:36-23 张扬-面试问题总结(08:15)
第37章 【第四阶段】模拟面试演练:托雷特 – 00 后应届毕业生
视频:37-1 【学员个人介绍】不能只说个人履历,还要说明技术栈和项目(05:53)
视频:37-2 【分析学员简历】对于应届生,面试官喜欢什么项目经历?(12:23)
视频:37-3 学员没有体系、详细的学过 CSS【HTML 默认的 inline block 元素】(07:19)
视频:37-4 基础必考题学员竟然忘了【CSS 垂直水平居中】(11:17)
视频:37-5 深入理解的知识,是忘不了的【JS 值类型和引用类型】(09:38)
视频:37-6 考察学员对新语法 API 的理解和使用【ES6 和 TS 带来了哪些价值】(14:52)
视频:37-7 看似简单,但学员竟忘了很关键的一块【URL 有哪些组成部分】(11:58)
视频:37-8 学员写的很挣扎,多次删改,表现的很不熟练【手写 JSX 循环和判断】(12:12)
视频:37-9 不仅问方式,还要问应用场景【React 组件通讯的方式】(05:13)
视频:37-10 知道 useParams 说明有实践经验【React-Router 如何获取动态参数】(03:34)
视频:37-11 避免只用过 CRA 而没用过 Webpack【Webpack 有哪些基本配置】(04:39)
视频:37-12 学员一边写代码一边讲解,表现非常好【手写二分查找,说明时间复杂度】(19:06)
视频:37-13 说完结果,再写代码表达【二叉树的前、中、后序排列】(12:28)
视频:37-14 考察学员的独立思考能力,思考框架的本质【如何理解“数据驱动视图”】(04:03)
视频:37-15 不会 Vue 就只说 React ,不要全部放弃【Vue 和 React 函数组件的区别】(07:29)
视频:37-16 学员了解 VDOM 但却写出很多细节错误【根据一段 JSX 写出 VNode】(21:43)
视频:37-17 学员感觉设计模式很难,但实际没那么难【设计模式在前端开发中的应用场景】(08:09)
视频:37-18 应届生该如何寻找项目难点和亮点【介绍你的一个项目】(17:56)
视频:37-19 一个问题就能看出计算机基础不够扎实【是否了解 WebAssembly】(05:20)
视频:37-20 【反问面试官1 – 想毕业进大厂,要做哪些准备?】大厂对于应届生的简历要求(07:59)
视频:37-21 附:本科毕业就必须进大厂,进不去就感觉很失败?— 这完全错误!(07:05)
视频:37-22 【反问面试官2 – 如何避免进入加班多的公司】是否加班需要权衡(02:01)
视频:37-23 【反问面试官3 – 大厂校招如何选择心仪的部门】(04:11)
视频:37-24 【反问面试官4 – 为何最近一个月没看前端】目标定太高,实现不了就很颓丧(03:17)
视频:37-25 【反问面试官5 – 字节的面试题为何如此难】(05:39)
视频:37-26 托雷特-面试问题总结(12:12)
第38章 【第四阶段】模拟面试演练:小明同学 – 毕业2年的专科生
视频:38-1 【学员个人介绍】委婉表达离职原因(09:18)
视频:38-2 【简历分析】专业技能写太多,反而突出不了重点(14:56)
视频:38-3 看代码不仔细导致错误【CSS选择器优先级】(26:59)
视频:38-4 JS 常用的 API 都不熟练,这是一个大问题【数组常用的 API】(22:53)
视频:38-5 HTTP 基础知识弱,通不过面试【HTTP 状态码和跨域】(11:47)
视频:38-6 此时还不了解 Vue3,更待何时?【Vue 组件生命周期】(12:48)
视频:38-7 体现出学员有 Vue 项目经验【Vue slot 应用场景】(05:52)
视频:38-8 最简单的 Composition API 封装,没写出来【手写 Vue3 Composition API】(08:00)
视频:38-9 不知道什么是编译,计算机基础较差【Babel 解决了什么问题】(03:41)
视频:38-10 基础数据结构和时间复杂度,都不了解【用栈翻转一个字符串】(09:30)
视频:38-11 没有思路,更写不出代码【求两个数组的交集和并集】(07:20)
视频:38-12 项目难点没有总结到位【介绍自己的一个项目】(09:01)
视频:38-13 【反问面试官 – 如何在业余时间高效学习】(18:47)
视频:38-14 小明同学-面试结果评价(06:49)
视频:38-15 小明同学-面试问题总结(01:50)
第39章 【第四阶段】模拟面试演练:陈同学 – 毕业两年转行前端
视频:39-1 自我介绍,分析学员简历(07:02)
视频:39-2 CSS 面试题-CSS选择器优先级(08:15)
视频:39-3 HTTP 面试题 – HTTP – URL(08:24)
视频:39-4 框架应用 – Vue或React组件通讯方式(13:21)
视频:39-5 算法面试题 – 手写二分查找,说明时间复杂度(06:52)
视频:39-6 算法面试题 – 手写二分查找,说明时间复杂度(08:09)
视频:39-7 算法面试题 – 手写二分查找,说明时间复杂度(10:29)
视频:39-8 项目面试题 – 劫持网页链接(14:56)
视频:39-9 反问面试官(05:48)
视频:39-10 陈同学-面试结果评价(06:54)
视频:39-11 陈同学-面试问题总结(07:09)

 

发表回复