介绍
狭义的来讲,前端指的就是我们常说的html, css, javascript. 三者必不可缺. 而其中涵盖的知识点不可一篇文章就能完整的讲述出来的。广义的定位,涉及到浏览器,手机App里面的用户交互展示的内容,都属于前端。
知识点
- HTML
- CSS 布局(流式布局, 栅格布局,弹性布局) flex布局介绍
- 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
的工作流程 -
throttle
与debounce
的使用场景 -
事件委托机制
以及实现方式 - 简单介绍一下函数
闭包
- 导致内存泄露的有哪些
- 简单介绍一下原型链的实现方式
- 如何实现预加载,懒加载
技术实现问题
- 将一个驼峰式变量转换为下划线变量
- 将一个表格相同元素进行单元格合并
框架问题
-
MVVM
的双向绑定原理是什么 - 如何更优雅的实现
双向绑定
-
Vue.js
的computed
计算属性的实现 -
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
三种定时器的区别 -
Promise
,Generator
,Async/Await
三者的关联 -
pm2
,forever
模块的工作原理 -
express
,koa
框架的区别 -
Node.js
核心模块有哪些 -
Node.js
多进程部署的原理
测试问题
- 前端单元自动化测试框架有哪些 (mocha, jasmine, QUnit)
- 持续集成, 集成测试的意义
-
BDD
和TDD
的区别 -
Node.js
和前端
的调试方式
额外知识
-
websocket
工作原理, 以及建立连接方式 -
https, http2.0
知识介绍 -
git
命令的使用, 介绍一下git flow
工作流 - 有一个
192.168.0.1
的 IP, 如何使用一个Int变量存储对应的信息 - 简单介绍一下
三次握手
, 和四次挥手
的过程
小结
永远记住要多动手,动脑把学到的东西写下来,加深记忆。对自己有好处. 因为多次和阿里的面试官进行了电话面试沟通,所以这些不只是一个面试官提出的问题,而是多个面试官提出的问题。 希望大家能够在闲暇的时间里,将自己的技术不断提高。保持一个虚心学习的状态。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。