第一场:前端成长之路
- 前端级别 // 来自网易公司的级别
- 前端开发工程师
- 高级前端开发工程师
- 资深前端开发工程师
- 前端技术专家
- 从 0 -> 前端开发工程师
学习时学习的知识知识点,而开发时时要实现复杂业务需求,有时感到难以下手
选择合适知识点,组和应用实现复杂业务需求
做法:把前端开发分解为页面制作和页面逻辑,分开编码
页面制作过程:
- 把页面分解成模块,模块在细分细分到可以使用基础知识来实现的传给你都
- 把细分模块组装起来,最后对所有模块布局
页面逻辑处理:(流程分解)
- 把逻辑分解成一个一个的流程
- 对每个过程编码、测试,最后对整个流程测试
- 网易杭研究院前端架构师工作职责
- 分析和评估
- 制定规范协助实施
- 技术的选型和培训
- 任务分解和分配
- 架构设计
- 代码开发
- 打包与发布
- 资讯协助
- 技术推进
第二场:如何准备一场前端技术面试
- 简历
- 技术能力
- 体现广度,基础、框架、前沿
- 研究总结
- 体现学习能力、总结能力、兴趣(关注的社区、公众号、大牛)
- 项目经验
- 体现工程和业务复杂度,自己在项目里做了些什么
- 体现架构、方案设计、解决问题的能力
- 笔试
多关注基础内容 - 技术面试
- 基本技能
- css
- 选择器 (有哪些及应用场景)
- 盒模型 (box-size 等)
- 布局
- js
- 类型
- 数组、函数
- 作用域
- 闭包
- 继承、封装
- DOM
- 节点操作
- 事件
- Ajax
- 前沿
- css3
- HTML5
- ES6
- 新型热门框架
- 综合应用
- 自适应布局的多种方案: float、BFC、 FLEX、……..
- bind(): 原型、闭包、this、arguments、array、apply、…….
- 事件代理 : 添加事件、事件阶段、事件对象、节点属性、封装、….
- 组件实现: 封装、继承、DOM
- css
- 方案经验
- 架构、选型
- 解决方案
- 流程、规范
- 难度 (面试分层)
- 事件代理
- 如何添加事件、三阶段
- 实现一个列表项操作的事件代理 (可能手写代码)
- 封装事件代理
- 事件代理
- 简历内容
- 证实。证实你是否真的拥有技能
- 深度。了解技能深度
- 校招与社招
- 校招:基础、潜力(软技能)
- 社招: 基础、经验
- 一些建议
- 前端基础排第一位
- 志愿倒序,从面试中找不足。让面试官给意见,最想进的公司最后在面
- 强化手写能力。面试时手写代码
- 细节和深度。特别是基础的和在简历里提到的东西
第三场: 十年前端路
学习篇
基础
- 计算机基础知识
- 数据结构/算法
- 程序设计/网络协议
- 编译/操作系统/数据库
- 模式/架构/工程/安全
- 专业基础
- css
- HTML
- javascript
- 学习方式
- 书籍。多看正版
- 代码。 理解、补漏、启示。 从学习到应用。看哪些代码:书籍里的、前辈的、论坛里、网站的、开源代码、自己的。针对某个功能做切入看源码
- 标准
- 行业标准。前端通用标准。ecma(js 核心标准), w3c(html,css,dom 等标准), ietf(主要定义 http 相关的协议)
- 厂商标准
- 计算机基础知识
实践篇
- 问题(以问题为主线)
- 发现: 功能需求、非功能需求、疑问建议抱怨
- 分析:分析问题的本质,给出多个解决方案平衡利弊决定最后使用啥方案
- 解决
- 沉淀: 把解决方案纳入自己的知识体系
- 进阶篇
- 个人
- 深度: 表象 -> 原理 -> 实现
- 广度
- 专业技能: 覆盖面、了解度、标准/框架/工具/工程
- 领域范围: 移动端、桌面端、产品、后端、测试
- 团队 - 流程 - 协作 - 效率
网易实践协作体系:NEI
suggest attitude is everthing and never stop learning
第四场:听说你想当个前端开发工程师
工作职责
- 项目前期:分析、评估、规范(工程结构、编码规范、产出文档、流程规范)、选型(框架、库、工具)、培训(对不熟悉的人做培训)
- 项目中期:分解(子系统、模块、功能边界)、分配(时间与人员)、设计(系统模块的详细设计,接口规范定义等文档)、编码、测试(自测、详细测试)、发布(方案与工具)
- 项目后期: 迭代、升级、维护 三个阶段循环进行
核心能力
- 专业技能: css(选择器,布局,盒模型)、DOM(树、事件、存储、消息、网络)、js(类型、原型/原型链、作用域、面向对象)、前沿(css3,ES6,H5,编程模式)、综合
- 通用技能: 数据结构(哈希、堆栈、数组、队列、树形、字符)、算法分析(加密算法、空间复杂度、排序算法、搜索算法、时间复杂度)、网络协议(EventSource、webSocket、RTMPHLS、webRTC、http、https)、编程范式(面向过程、面向对象、面向切面、基于原型、基于类)、设计模式(创建模式、架构模式、结构模式、行为模式、并发模式)、软件工程(自动化、规范、流程、工程化、标准)
- 其他技能:学习、分析、解决、创新、总结
问题(发现、分析、解决、沉淀)
应聘准备
- 简历: 技能、工作、项目
- 简历内容:基本信息、能体现自己能力的东西、工作经验、项目经验、从工作经验或者项目经验中收获的知识能力等方面的成长
- 笔试: 基础知识
- 面试: 专业、能力、经验
- 面试内容: 专业技能、通用技能、学习能力、问题解决能力、多提问了解面试官对这个问题的看法
- 校招与社招
- 校招:基础、潜力(软技能)
- 社招: 基础、经验
- 简历: 技能、工作、项目
资料推荐
ECMA,
IETF,
w3c
电子书:共享电子书, 免费电子书, 搜索电子书格式: keyword filetype:pdf site:x.y.com filetype 为文件类型,site 表示来自哪个网站