前端面试题汇总
专门收集的各种面试题,包括面试者or被面试者的出题
https://www.toutiao.com/i6605816147252085261/
1.各种模块化
node exports和module.exports的区别
还有说说require.js
2.webpack,gulp等打包
1.就是webpack和gulp有啥区别,是如何实现的?
有没有自己配置过webpack
多入口配置
常用插件,有没有自己写过插件?
环境区分
3. js基础
基本数据类型
基础类型用啥区别,复杂类型用啥区别
window.onload和jq ready的区别我也没回答上
1.深浅度拷贝
2.如何使得a ==1 && a == 2 && a== 3 为true
3.编写一个forEachCustom函数,要求拥有和数组的forEach一样的功能
4.用一句话写出下面函数的函数体,实现输出三个中的最大值
5.函数柯里化 event loop 作用域
6.原型链,继承的几种方式,排序,柯里化,设计模式,
6.let a=0.0000009;let b = parseInt(a); console.log(b);输出结果是什么?为什么? parseInt转换字符串
原型链 和 事件循环
原型链,EventLoop,es6,
call,apply,on,bind的区别
bind,call,apply的区别是什么
4.null和undefined区别
5.typeof 和instanceof区别
6.this的理解,以及箭头函数this
还有箭头函数,this指向
7.原型链和继承
闭包,
为什么使用闭包?
8.闭包以及使用场景
闭包的应用场景
9.跨域解决办法
10.控制输入间隔 throttle
内置对象
判断未知变量的类型 Object.prototype.toString.call
原生ajax
将字符串转换成数字
创建,复制,移动,删除元素
4.ES6
class 私有变量
babel
babel如何解析的
AST了解吗
babel插件怎么写
5.同步异步执行顺序
settimeout和promise.then哪个先执行
setTImeout跟js的event loop有关
js的异步区分宏任务和微任务。。。async的异步属于微任务,优先级高于setTimeout
react 同步异步
异步处理
6. http请求以及状态码
403http状态
http状态码
常用浏览器内核还是要记一下的
页面中大量图片请求是否会每次都建立TCP连接
访问一个网址从访问到渲染发生了什么?
7.各种底层原理和源码
2.webpack和vue底层实现原理
ajax跨域原理,
vue绑定原理,
webpack打包原理,
http三次握手,
http工作原理,
ajax同步异步具体区别,
mvvm原理是什么,
线程和进程的区别
知道非对称加密的原理吗
react-route的实现原理
箭头函数怎么实现的
MD5加密原理
V8原理
Vue源码
React源码
浏览器渲染原理
8.关于Vue
生命周期
computed和 watcher
vue的model
solt
vue封装组件(3次)
自定义指令
$on $emit观察者模式
vue鉴权处理
vuex模块
问到vuex的实现原理 就是先有一个全局store 然后实现一下双向绑定
action异步
vue数据绑定原理 Object.defineProperty
9.css样式
web语义化
css3伪类
1.两种盒模型的区别;
IE8下的盒模型
浮动会出现的问题,怎么解决
bfc清除浮动原理
2.css3中transition 和 animation区别
3.水平垂直居中
Doc文档的类型和区别
JavaScript解析的时候什么依赖css什么时候不依赖css
10.为什么?
小图用base64为什么就可以减少请求
tcp为什么要设计成三次握手
img标签的默认display,为什么img可以设置宽高
11.React
redux的理念
—————react—————–
提到react,可以从这几方面着手
1、为什么用react,用react带来了什么好处
2、react进阶、剖析
3、跟其他方案的对比(vue,ng),各自的优缺点(是什么让你坚持使用react)
回到项目,比如是1个每天只有几百人访问的小项目。那么,你可以考虑:
1、如果突然变成每天一百万人访问,那么可能遇到什么问题,比如性能上的
2、性能优化要从哪些方面着手
3、怎么确保线上项目的稳定性
—————-react—————–
12.其他
后端给的在线文档用什么工具生成 swagger
除了element之外还用过什么UI库 iview vux ydUI
前端异常处理
xss csrf就不说了,居然还问到dns劫持,运营商劫持