- 跳槽为了什么:自我实现
- 发展的路径:
三个方向:
- 前端架构师:技术 -》 技术总监
- 前端经理 :管理 -》总监 /CTO
- 另类的是 自己创建一个圈子门派
- 前端的价值:交换价值(针对公司的价值,不是个人能力)
- 工作不是一分钱一分货
- 公司培养不了,自发学习 (想上班有学习时间,又想下班只顾着玩,世界上没有这好事)
- 35岁危机
js基础
- 红宝书 , es6书
js进阶
js执行原理
你不知道的javascript三本书
从用户输入url 到vue项目显示,发生了什么?
- 域名 通过 DNS 解析IP
- 浏览器与服务的建立TCP连接,发送请求
- 后端接受请求,读取数据库,通过接口返回给浏览器
- 前端接受接口数据, html css json 等信息。
- 浏览器开始解析。
- html -> dom
- css -> css tree
- dom + css tree -> rending tree
- 渲染页面
- 执行js
性能优化
- 从输入url到页面显示,发生了什么东西 (需要缩短页面显示的时间,你要做哪些性能的优化)
- 文件加载更快
- 缓存,DNS,TCP
- webpack打包文件名为啥要 _hash.js?
答:1.资源有可能在CDN上会有缓存,
2. 有可能html先更新了,但是对应的资源还是老的,或者html更新了,资源没更新。先后顺序问题。- 打包压缩
- 负载均衡
3.代码执行更快
- vue或react优化
- 虚拟滚动
- SSR
- 工程化
- 框架使用(进阶)
- react框架原理
- react虚拟dom怎么执行(树的遍历和diff)
- react16和15的虚拟dom架构区别,fiber作用
- react16的hooks是如何执行,react事件系统和浏览器的事件系统区别
- react-router 原理
- react怎么实现ssr
- ant-design + ant-design pro有没有看过源码。
- redux生态 (redux react-redux redux-saga,dva ,umi)
- fiber 和 虚拟dom有什么区别
fiber 是吧整个虚拟dom 树,变成一个链表指向,diff过程中可以随时中断。元素
第一个子元素 - > 兄弟元素 -> 兄弟元素
- vue框架原理
- 组件化 + elementUI 源码
- vue和 vue3 源码
- vue1响应式如何实现
- vue2里面的虚拟dom 是如何实现diff 计算对比?比vue1好在哪里?
- vue的虚拟dom 和 react虚拟dom区别?
- vuex vue-router 原理
- 计算机基础
- 算法与数据结构
- 网络协议 TCP
- 编译原理
- 设计模式
- 简单的linux
如何准备面试
简历
- 不写小学拿过三好学生,不写会vue html css ,这些都是应该会的。不写精通
- 只写亮点,亮点,亮点
- 文本用markdown生成pdf ,不用word
目标公司
天眼查,脉脉,知乎
面试题
提前刷一下,平时日常就应该多看。
面试一分钟 ,台下十年功。
- 手写常见的源码
- promise
- 防抖节流
- eventbus
- 路由
- 组件化 Vue/React
- 框架源码 全家桶
- 性能优化
- 缓存
- 代码执行
- 性能监控
5.算法与数据结构
6.工程化 babel / webpack
7.项目
刻意练习
面试造火箭,上班拧螺丝。
公司需要你造火箭的时候,你能顶上。
如何描述自己的项目亮点
- 做过明星项目 开源项目
- 项目的技术栈和细节
- 源码深度
- 优化,性能,体验,极客
- 填坑 修复问题
- 成长
学习好基础,是为了更好的学习框架。
- vue react 虚拟dom利用的是 树 结构
- 浏览器解析网页时,是dom树
- vue里面的v-if 是怎么执行的
找工作的前提需要自己有亮点。没有亮点需要修炼。
主动在公司内部组织分享源码。
为什么要学习源码
- 面试需要
- 架构师,资深前端
- 做一些更高端和通用的事情
- 组件化,架构
- 源码里,有大量的最佳实现
- 资深前端
- 经验丰富
- 视野更高
- 解决诡异的bug能力
- 架构设计
vue react jquery nodejs
跳槽的自问自答:
当前:
1.谁可以帮我:可以利用的资源
2.我是谁:有什么优势
3.缺少什么:技术技能,管理能力
4.给当前公司的价值:在公司的作用,主要贡献
目标
1.让雇主知道我:简历,影响力
2.让雇主相信我:项目,内推
3.目标公司要什么:JD分析
4.加入目标公司我要付出什么
5.加入目标公司我能得到什么:收入,自我实现,价值
前端架构具备的能力指南:
大厂思维
- web安全实战
- 算法与数据结构
- 前端架构师体系构建
- 前端自动化测试
- javascript设计模式
- 面试技巧
广度
- 小程序+云开发
- flutter实战
- 微信公众号
- ReactNative实战
- webpack工程化
- Docker不熟全栈应用
深度
- Vue.js 全家桶源码
- 手写Egg.js. mvc框架
- webpack原理
- react16全家桶源码
- 小程序云开发实现支付
- 手写常见框架源码
实战
- Vue全家桶企业级实战
- Node.js 项目实战
- my-cli脚手架开发
- react全家桶企业级实战
- Mysql&& mongodb
- Typescript