# 一七年前端面试小记
一七年面试了阿里,百度,美团,小米,头条,滴滴的面试,过了前四个,挂了后两个,总结如下
- js 中 module 的了解
- 写一个单例模式
- 跨域方法
- get 与 post 的区别
- http 与 tcp 的区别
- 业务的了解
- 浏览器的缓存问题
- vim 的优势是什么
- react 和 vue有什么不同
- IFC
- BFC
- 内联元素与块级元素的区别
- react 单向数据流与传统 MVC,MVP的区别
- String.prototype.trim
- 把短横线字符转化为驼峰式字符
- 三列布局
- getComputedStyle
- N个数和为M
- 你最满意的项目,你觉得有哪些地方做的比较好
- 自适应的正方形
- 如何实现一个轮播图
- 基本数据类型
- 事件流冒泡和捕获,捕获用在什么地方
- 跨域和跨域的解决方法
- 你最满意的项目,你觉得有哪些地方做的比较好
- setInterval 与 setTimeout 的区别
- react 和 vue 的区别
- 跨域和跨域的解决方法
- http 的状态码有哪些
- html5 有哪些新的东西
- localStorage 和 sessionStorage 的区别
- setInterval 与 setTimeout 的区别
- webpack 有哪些东西,有哪些loader 和 plugin
- 你最满意的项目,你觉得有哪些地方做的比较好
- 数组去重,就地
- react的声明周期,各在里边做些什么操作
- react 请求发出去时组件已经卸载,fetch 如何取消
- async 会返回什么,如果发送多个async,多个 async 预制失败
- 如何做一些网站的性能优化
- 如何优化 webpack 体积
- 简单介绍下 grid layout,与table有什么不同
- 简单介绍下 redux ,它会不会循环
- 简单介绍一下CI,写一个脚本还是写一个程序
- 状态码和方法,101
- 502 和 504的区别
- 事件传播的阶段,以及addEventListener的执行顺序,绑定一个函数会执行几次
- virtual DOM 是什么以及是如何实现的
- dom diff 是什么
- get 和 post 请求
- 如何进行 CI 以及测试的,是否使用 ESLint
- Accept 头部的作用什么,如果服务器不支持怎么办
- tcp 如何做拥塞控制
- 事件代理是什么,如何实现
- 如何判断一个对象的类型,
- 如何把一个类数组转化为数组
- inline,inline-block,block元素有什么区别,其中inline-block元素有哪些,img是inline-block吗
- position 的取值
- 四分布局flex与float有什么区别
- 移动端一像素边框问题
- 移动端如何禁止屏幕缩放
- 移动端如何适配屏幕
- 移动端如何调试
- 数组去重问题
- 如何判断一个 DOM 节点包含另一个 DOM 节点,html5 如何做,兼容性怎么处理
- 如何筛选出一个祖父节点下的所有指定class的元素,html5如何做,兼容性怎么处理,如何判断一个节点是指定的class,正则表达式如何提取(漏了querySelectorAll)
- 如何提取 path 路径中的文件名,正则表达式如何提取
- 如何实现模板字符串
- suggestion 下拉列表如何做,应该使用什么事件,input,keyup, keypress 与 change 有什么不同
- 301 与 302 的区别
- 如何实现图片的懒加载
- 如何使用 canvas 处理图片
- 从浏览器输入 url 到页面展现的过程
- csp 是什么,xss 与 csrf 是什么,原理以及预防
- 如何实现一个 animate.js
- 如何实现一个模板引擎,并且能处理嵌套数据
- 如何实现两个函数的继承
- 好像做不到继承属性,util.inherits 也不继承属性
- 如何替换一个文件中的内容
- shell 中如何做循环
- for in 与 Object.keys 的区别
- 找出数组中最小的n个数
- bloom filter 是什么
- Function.prototype.bind 的实现
2018年面试记 →