This website requires JavaScript.

目标,想成为一名好的前端工程师

2018.04.04 14:32字数 2011阅读 355喜欢 0评论 0

介绍

狭义的来讲,前端指的就是我们常说的html, css, javascript 三者必不可缺 而其中涵盖的知识点不可一篇文章就能完整的讲述出来的。广义的定位,涉及到浏览器,手机App里面的用户交互展示的内容,都属于前端。

知识点

  • HTML
  • CSS 布局(流式布局, 栅格布局,弹性布局)
  • CSS 过渡及动画, 继承与特殊性
  • LESS, SASS, PostCSS
  • JavaScript
  • Node.js 工具,服务,部署
  • 浏览器/手机调试, 抓包工具(JSFiddle, Charles, Whistle)
  • 手机适配, 前端性能优化策略
  • Chrome Debug DevTool 使用
  • Canvas, SVG 的原理
  • HTTP, HTTPS, HTTP 2.0 协议
  • React, Vue.js 框架原理

前端问题

  • 介绍一下ES5的 defineProperty
  • 设置 enumerable: true后,如何获取可枚举的key
  • 设置 enumerable: false后, 什么样的方式检测key存在与对象中
  • 简单介绍下盒模型,以及flexbox 弹性布局
  • CSS3 有哪些新特性
  • HTML5 有哪些新特性及API
  • 描述一下HTTP 协议缓存机制
  • Canvas的实现原理
  • 前端跨域 解决方式有哪些
  • Cookie, session, 本地存储
  • Ajax的工作流程
  • throttledebounce 的使用场景
  • 事件委托机制以及实现方式
  • 简单介绍一下函数闭包
  • 导致内存泄露的有哪些
  • 简单介绍一下原型链的实现方式
  • 如何实现预加载,懒加载

技术实现问题

  • 将一个驼峰式变量转换为下划线变量
  • 将一个表格相同元素进行单元格合并

框架问题

  • MVVM的双向绑定原理是什么
  • 如何更优雅的实现双向绑定
  • Vue.jscomputed 计算属性的实现
  • Vue.js 组件之间数据通信的方式有哪些 (vuex, 父子通信)
  • proxy数据代理的实现
  • vue-router的实现机制是什么
  • 形容描述下 VNode 以及 diff算法
  • v-for 循环中 key 起到了什么样的作用

ES6问题

  • let, const 块作用域如何被转化的* 如果自己转化,请介绍下你的实现方法
  • 箭头函数的作用域上下文普通函数作用域上下文 的区别
  • ES6模块加载机制
  • 介绍下ES6的新特性给你带来了哪些变化

打包工具问题

  • 简单介绍下webpack的工作原理
  • webpack的基本配置有哪些
  • grunt, gulp, webpack三者的区别

Node.js 问题

  • require的模块系统加载方式是什么
  • npm包管理工具介绍, 如何写一个npm模块
  • setTimeout, setImmediate, nextTick 三种定时器的区别
  • PromiseGeneratorAsync/Await 三者的关联
  • pm2, forever 模块的工作原理
  • express, koa 框架的区别
  • Node.js 核心模块有哪些
  • Node.js 多进程部署的原理

测试问题

  • 前端单元自动化测试框架有哪些 (mocha, jasmine, QUnit)
  • 持续集成, 集成测试的意义
  • BDDTDD的区别
  • Node.js前端的调试方式

额外知识

  • websocket工作原理, 以及建立连接方式
  • https, http2.0 知识介绍
  • git命令的使用, 介绍一下git flow工作流
  • 有一个192.168.0.1IP, 如何使用一个Int变量存储对应的信息
  • 简单介绍一下三次握手, 和四次挥手的过程

小结
永远记住要多动手,动脑把学到的东西写下来,加深记忆。对自己有好处.