网易前端工程师分享

第一场:前端成长之路

  1. 前端级别 // 来自网易公司的级别
    • 前端开发工程师
    • 高级前端开发工程师
    • 资深前端开发工程师
    • 前端技术专家
  2. 从 0 -> 前端开发工程师
    学习时学习的知识知识点,而开发时时要实现复杂业务需求,有时感到难以下手

选择合适知识点,组和应用实现复杂业务需求
做法:把前端开发分解为页面制作和页面逻辑,分开编码

页面制作过程:

  • 把页面分解成模块,模块在细分细分到可以使用基础知识来实现的传给你都
  • 把细分模块组装起来,最后对所有模块布局

页面逻辑处理:(流程分解)

  • 把逻辑分解成一个一个的流程
  • 对每个过程编码、测试,最后对整个流程测试
  1. 网易杭研究院前端架构师工作职责
  • 分析和评估
  • 制定规范协助实施
  • 技术的选型和培训
  • 任务分解和分配
  • 架构设计
  • 代码开发
  • 打包与发布
  • 资讯协助
  • 技术推进

第二场:如何准备一场前端技术面试

  1. 简历
  • 技术能力
    • 体现广度,基础、框架、前沿
  • 研究总结
    • 体现学习能力、总结能力、兴趣(关注的社区、公众号、大牛)
  • 项目经验
    • 体现工程和业务复杂度,自己在项目里做了些什么
    • 体现架构、方案设计、解决问题的能力
  1. 笔试
    多关注基础内容
  2. 技术面试
  • 基本技能
    • css
      • 选择器 (有哪些及应用场景)
      • 盒模型 (box-size 等)
      • 布局
    • js
      • 类型
      • 数组、函数
      • 作用域
      • 闭包
      • 继承、封装
    • DOM
      • 节点操作
      • 事件
      • Ajax
    • 前沿
      • css3
      • HTML5
      • ES6
      • 新型热门框架
    • 综合应用
      • 自适应布局的多种方案: float、BFC、 FLEX、……..
      • bind(): 原型、闭包、this、arguments、array、apply、…….
      • 事件代理 : 添加事件、事件阶段、事件对象、节点属性、封装、….
      • 组件实现: 封装、继承、DOM
  • 方案经验
    • 架构、选型
    • 解决方案
    • 流程、规范
    • 难度 (面试分层)
      • 事件代理
        • 如何添加事件、三阶段
        • 实现一个列表项操作的事件代理 (可能手写代码)
        • 封装事件代理
  • 简历内容
    • 证实。证实你是否真的拥有技能
    • 深度。了解技能深度
  • 校招与社招
    • 校招:基础、潜力(软技能)
    • 社招: 基础、经验
  • 一些建议
    • 前端基础排第一位
    • 志愿倒序,从面试中找不足。让面试官给意见,最想进的公司最后在面
    • 强化手写能力。面试时手写代码
    • 细节和深度。特别是基础的和在简历里提到的东西

第三场: 十年前端路

学习篇

  1. 基础

    • 计算机基础知识
      • 数据结构/算法
      • 程序设计/网络协议
      • 编译/操作系统/数据库
      • 模式/架构/工程/安全
    • 专业基础
      • css
      • HTML
      • javascript
    • 学习方式
      • 书籍。多看正版
      • 代码。 理解、补漏、启示。 从学习到应用。看哪些代码:书籍里的、前辈的、论坛里、网站的、开源代码、自己的。针对某个功能做切入看源码
      • 标准
        • 行业标准。前端通用标准。ecma(js 核心标准), w3c(html,css,dom 等标准), ietf(主要定义 http 相关的协议)
        • 厂商标准
  2. 实践篇

  • 问题(以问题为主线)
    • 发现: 功能需求、非功能需求、疑问建议抱怨
    • 分析:分析问题的本质,给出多个解决方案平衡利弊决定最后使用啥方案
    • 解决
    • 沉淀: 把解决方案纳入自己的知识体系
  1. 进阶篇
  • 个人
    • 深度: 表象 -> 原理 -> 实现
    • 广度
      • 专业技能: 覆盖面、了解度、标准/框架/工具/工程
      • 领域范围: 移动端、桌面端、产品、后端、测试
  • 团队 - 流程 - 协作 - 效率
    网易实践协作体系:NEI
    suggest attitude is everthing and never stop learning

第四场:听说你想当个前端开发工程师

  1. 工作职责

    • 项目前期:分析、评估、规范(工程结构、编码规范、产出文档、流程规范)、选型(框架、库、工具)、培训(对不熟悉的人做培训)
    • 项目中期:分解(子系统、模块、功能边界)、分配(时间与人员)、设计(系统模块的详细设计,接口规范定义等文档)、编码、测试(自测、详细测试)、发布(方案与工具)
    • 项目后期: 迭代、升级、维护 三个阶段循环进行
  2. 核心能力

    • 专业技能: css(选择器,布局,盒模型)、DOM(树、事件、存储、消息、网络)、js(类型、原型/原型链、作用域、面向对象)、前沿(css3,ES6,H5,编程模式)、综合
    • 通用技能: 数据结构(哈希、堆栈、数组、队列、树形、字符)、算法分析(加密算法、空间复杂度、排序算法、搜索算法、时间复杂度)、网络协议(EventSource、webSocket、RTMPHLS、webRTC、http、https)、编程范式(面向过程、面向对象、面向切面、基于原型、基于类)、设计模式(创建模式、架构模式、结构模式、行为模式、并发模式)、软件工程(自动化、规范、流程、工程化、标准)
    • 其他技能:学习、分析、解决、创新、总结
      问题(发现、分析、解决、沉淀)
  3. 应聘准备

    • 简历: 技能、工作、项目
      • 简历内容:基本信息、能体现自己能力的东西、工作经验、项目经验、从工作经验或者项目经验中收获的知识能力等方面的成长
    • 笔试: 基础知识
    • 面试: 专业、能力、经验
      • 面试内容: 专业技能、通用技能、学习能力、问题解决能力、多提问了解面试官对这个问题的看法
    • 校招与社招
      • 校招:基础、潜力(软技能)
      • 社招: 基础、经验
  4. 资料推荐
    ECMA,
    IETF,
    w3c
    电子书:共享电子书, 免费电子书, 搜索电子书格式: keyword filetype:pdf site:x.y.com filetype 为文件类型,site 表示来自哪个网站