HTML:
1、html的语义化?
Html的每个标签都有它特定的意义,而语义化,就是让我们在适当的位置用适当的标签, 以更好 的让人和机器(机器可理解为浏览器可理解为搜索引擎)都一目了然.
2、meta viewport 是做什么用的?怎么写?有什么属性?
3、你用过那些html5标签?
4、h5是什么?
CSS:
1、俩种盒子模型
2、如何垂直居中
3、flex怎么用?有那些属性?
4、BFC是什么?
5、css选择器优先级?
6、清除浮动
原生JS:
1、ES6的语法有那些 分别怎么用? 析构复制 箭头函数 const let promise
2、Promise、Promise.all、Promise.race分别怎么用?
3、手写函数防抖和函数节流?
4、手写AJAX
5、this是什么
6、闭包/理解执行函数是什么
7、什么是JSONP、什么是CORS,什么是跨域 -参数名 callback
8、async/await怎么用,怎么捕获异常?
9、如何实现深拷贝 递归 ( 深拷贝和浅拷贝的区别)
10、如何用正则实现trim() 正则表达式是什么
11、不用class怎么实现继承?用class又如何实现?
12、如何实现数组去重? new set()
13、== 相关知识
14、手写一个promise API-then -catch -Promise 异步、
15 、JSONP 和普通的ajax 有什么区别? 支持跨域 jsonp支持post请求吗?patch是什么请求?
16、http请求的动词 :get post 。。。。
1、js的基本数据类型:基本数据类型、引用数据类型
基本数据类型:字符串型、数字型、布尔型、undefined未定义、null空类型
引用数据类型:数组、对象
2、js中的作用域:局部作用域、全局作用域
3、闭包:既可以重复使用变量,又不会被污染的一种机制。
1、用外层函数包裹受保护的变量和内层函数
2、外层函数返回(return)内层函数
3、调用者,调用外层函数,获得内层函数对象。
为什么使用闭包:因为不使用闭包的时候数据容易被污染。举例:
如何释放:将接收内层函数的变量置为null即可。
DOM :
1、事件委托 ?事件代理
2、用mouse事件写一个可拖拽的div
HTTP:
1、HTTP的状态码有那些?分别什么意思
2、HTTP的缓存有那几种?
3、GET和post的区别?
4、cookie localStorage sessionStorage
框架Vue:
1、watch和computed和methods的区别是什么
2、vue有那些生命周期钩子函数?分别有什么用?
3、vue如何实现组件间的通信?
4、vue数组响应式怎么做到的?
5、vue.set是做什么用的?
6、vuex你怎么用的?理解和基础 mutation action (间接使用mutation改变)
7、vueRouter 你怎么用的?
8、路由守卫是什么?
框架react
Vue和react有什么区别?
???
typescript
never类型是什么
比起js有什么优点?
webpack
1、常见的loader和plugin,你用过那些
2、loader和plugin区别是什么
3、如何按需加载代码?
4、如何提高构建速度
5、转义出的文件过大怎么办?
https://zhuanlan.zhihu.com/p/44438844
安全
什么是xss ?如何预防
什么是csrf? 如何预防
你遇见最难的问题是怎样的
你最近关注什么新技术
刁钻题
a==1&&a==2&&a==3 可能成为true吗
js垃圾回收机制
eventloop说一下
个性化
PW/A
echarts.js/d3.js
three.js
flutter
SSR
选择冒泡
闭包
防抖/节流
事件委托
Promise用法
function fn(){
return new Promise((resolve,reject)=>{
成功时调用resolve(数据)
失败时调用reject(错误)
})
}
fn().then(success,fail).then(success1,fail1)
Promise.all用法
Promise.all([promise1,promise2]).then(success,fail)
promise1和promise2都成功才会调用success
Promise.race用法
Promise.race([promise1,promise2]).then(success,fail)
promise1和promise2只要有一个成功就会调用success