- promise和async/await区别
- 防抖截流具体实现函数
- vuex在刷新页面时,数据会丢掉,怎么解决
- typeof 和instanceof 区别
- ES6添加的几个方法
- ES6用来检测是否为数组的方法
- div 居中的几个方法
- 盒子模型
- V-for的key 起什么作用
- Uniapp生命周期
1.应用生命周期
uni-app 支持 onLaunch、onShow、onHide 等应用生命周期函数,详情请参考应用生命周期
2.页面生命周期
uni-app 支持 onLoad、onShow、onReady 等生命周期函数,详情请参考页面生命周期
- 双向绑定原理
- 登录验证怎么做的
- 自己封装过axios 拦截器吗
- 实现一个深拷贝和一个浅拷贝的方法
- 闭包
- Commonjs
- Js深度遍历
- import/export区别
- Exports/export 区别
- Js 事件循环机制
- Zindex 一定是最大就在最前面吗?了解规则吗
- Flex,介绍规则和实战效果
- Transform 实现效果
- 花一条0.5px的线
.line-test {
height: 1px;
transform: scaleY(0.5);
transform-origin: 50% 100%;
background: #000;
}
- 渐变属性
- Es6 常用哪些
- 箭头函数与普通函数的区别
- 普通函数怎么修改this 指向
- Call怎么用
- 改变箭头函数this 指向
- 原型链自己怎么用
- 对作用域有什么了解
- Promise 用过吗,有哪种状态
promise的基本用法以及实现原理 - Promise 已经resolved了怎么修改成rejected
- Promise 解决了哪些问题
- Async await 解决了什么问题
- await 的原理,怎么等待后面执行
- setTimeout跟promise有什么区别
- setTimeout和 promise 哪个先打印
promise先
- setTimeout模拟setInterval
- Ts any never什么区别
- Interface用过吗
- Ts type解释一下
- Webpack loader plugin 有什么区别
- 如果不使用任何loader,可以编译哪些文件
- 在vue 的哪个生命周期初始化data
- 为什么不在beforeCreated 里面初始化
- Watch computed 用在什么场景
- Vue怎么做数据劫持的
- Getter setter怎么做数据劫持的,object.defineProperty有什么缺点
- 用过$set吗
- Vue-router 有哪些模式,常用什么
- Hash, history模式底层实现使用js的什么
- 事件循环机制
- 数组去重,怎么自己实现
- 什么情况下会形成跨域
请求方式/协议/域名/端口 任一不相同
-
怎么解决跨域
-
Nginx 反向代理怎么实现的
-
Jsonp 怎么实现的,需要后端配合吗
-
了解axios 底层原理吗,了解原生的js 的请求吗?大概的步骤是什么样的
-
解释一下深拷贝和浅拷贝,怎么实现一个深拷贝,自己实现
-
怎么判断一个变量的具体类型
-
vue 双向绑定的count 更快,还是js的dom 直接修改html内容更快
-
变量提升理解吗,提升指的什么,先打印后声明,会打印出什么
-
循环完毕,会打印出什么,怎么避免
for(var i=0; i<10; i++) {
setTimeout(()=>{
console.log('var i=',i);
}, 0)
}
- 移动端适配问题怎么解决,了解h5适配吗
媒体查询和rem 适配
viewport 缩放,, rem 布局,js计算
vw适配方案(以后可能的方案)
- 了解token 吗,存在哪里,cookie 行吗,session storage 和cookie 哪个安全点
- Git 操作流程
- source tree 操作流程
- 做小程序遇到的问题
- History 和hash 模式底层原理
hash:window.location.hash 和 onhashchange() 来实现的;
history:window.location.pathname 、history.pushState() 和 onpopstate() 来实现的;
- 组件 子传父,父传子
- filter 用过吗?怎么用
- Vue生命周期,每个周期发生什么
- 之前项目几个人开发,自己搭过吗
- React写过项目吗,jsx 有什么好处
- 自己有使用过哪些ES6的语法
- 说一下你最熟悉的项目的业务逻辑
- HTTP状态码 500是什么
- 说一下js的闭包
- 说一下原型链
- js数组方法,concat是什么
- 字符串的方法
- 块级元素,行内元素有哪些
- 水平居中,垂直居中
- 前端的书看过哪些
- 继承的方式
- 对原型了解多少
- 原型方法里定义方法和构造函数的方法,实例化以后有什么区别
- 说一下this
- Call, apply, bind 的区别和联系及内部实现
- 防抖和节流的区别
1、防抖(debounce):触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间
举例:就好像在百度搜索时,每次输入之后都有联想词弹出,这个控制联想词的方法就不可能是输入框内容一改变就触发的,他一定是当你结束输入一段时间之后才会触发。
2、节流(thorttle):高频事件触发,但在 n 秒内只会执行一次,所以节流会稀释函数的执行频率
举例:预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。就好像你在淘宝抢购某一件限量热卖商品时,你不断点刷新点购买,可是总有一段时间你点上是没有效果,这里就用到了节流,就是怕点的太快导致系统出现bug。
区别:防抖动是将多次执行变为最后一次执行,节流是将多次执行变成每隔一段时间执行。
- Uniapp 路由跳转方法
- Js设计模式了解哪些
- Vue 双向绑定的原理
- TCP 3次握手和4次挥手
3次握手
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
4次挥手
1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
3)客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
6)服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。
- 请求断开是服务器先断开还是浏览器先断开
- 计算属性用过哪些
- Computed, watch区别
- 从输入url 到页面加载完成经历了哪些过程
1、浏览器的地址栏输入URL并按下回车。
2、浏览器查找当前URL的DNS缓存记录。
3、DNS解析URL对应的IP。
4、根据IP建立TCP连接(三次握手)。
5、HTTP发起请求。
6、服务器处理请求,浏览器接收HTTP响应。
7、渲染页面,构建DOM树。
8、关闭TCP连接(四次挥手)。
- 计算属性用过传参吗
- 用过vuex的哪些方法,详细介绍下
- vue router钩子函数有哪些
- 说一下promise的状态
- promise 状态可以改变吗
- 如果同时需要调5个请求,怎么用promise 实现
- Echarts 用过哪些图表
- 调用百度地图api用来做了什么
- 回调地狱难题是什么
- 调接口用什么调的
- async/await是什么
- React class 的生命周期
- 拖拽效果
- reduce
- 性能优化(比如滚动屏幕时会卡顿)
- seo
- 流水线部署
- linux 环境
- 新手指引
- 防抖节流
- windows shell 和linux bash 啥区别
- ts 有什么好处
- 数组排序去重重
- promise.all
- 发过npm包吗
- webpack 打包css
- 使用npm run build打包很慢,怎么优化
- 如果产品已经交付给用户,怎么实现错误监控(前端错误监控)