2020年面试小记

87 阅读3分钟

小牛互娱

数据类型有哪些

深浅拷贝

盒子模型

margin塌陷

flex有用过哪些

css3新特性知道哪些

闭包了解过吗

说下原型和原型链,如果找不到会去window找吗

答:不会,另外使用let/const的定义的变量,不会绑定到window对象中,不能使用window.xx的形式使用,使用var可以找到

this指向改变的方法

promise原理

答:Promise原理其实是一个发布订阅,里面的操作执行完的回调会放到resolve里面,失败则会放到reject里面,通过发布订阅,如果resolve里面增加了新的回调,则会触发,将回调结果返回给then等。

js执行机制

如何把伪数组转为数组

答:[].slice.call(伪数组),扩展运算符 ...

vue生命周期

vue路由钩子有哪些?

答:全局钩子,beforeEach,afterEach,beforeResolve,路由钩子,beforeEnter,组件钩子:beforeRouteEnter,beforeRouteUpdate (2.2 新增),beforeRouteLeave

vue created拿不到dom,如何拿到

vuex有哪些属性

vuex刷新页面数据丢失怎么办

浏览器缓存有哪几种

浏览器输入地址发生了什么

答:

  • 1.根据域名到DNS中找到IP
  • 2.根据IP建立TCP连接(三次握手)
  • 3.连接建立成功发起http请求
  • 4.服务器响应http请求
  • 5.浏览器解析HTML代码并请求html中的静态资源(js,css)
  • 6.关闭TCP连接(四次挥手)
  • 7.浏览器渲染页面

vue优化做了哪些

vue写个组件库从哪些方面可以优化,比如拓展性或者其他的

vue原理

vue对象修改更新视图怎么做

vue push为什么能出发视图更新

vue父组件还是子组件的mounted先执行

有没有自己写过上传图片压缩

做移动端有没有做过优化

移动端兼容上,每次都可能遇到你怎么办

h5唤醒app有哪些方式,有没有用过一些交互库?

问卷网

什么是闭包,有什么缺点

js事件循环eventloop

dom渲染属于微任务还是宏任务

什么是简单请求 复杂请求

答:HEAD GET POST,HTTP的头信息不超过几种字段,其他都是复杂请求

bind、call、apply区别是什么

柯里化是什么,怎么实现

答:将多参数的函数转化为一个参数的多个函数,柯里化的实现其实就是构造函数里return一个匿名函数,再在里面写公共使用的部分。

// 柯里化通用式 ES5
function currying(func, args) {
    // 形参个数
    var arity = func.length;
    // 上一次传入的参数
    var args = args || [];

    return function () {
        // 将参数转化为数组
        var _args = [].slice.call(arguments);

        // 将上次的参数与当前参数进行组合并修正传参顺序
        Array.prototype.unshift.apply(_args, args);

        // 如果参数不够,返回闭包函数继续收集参数
        if(_args.length < arity) {
            return currying.call(null, func, _args);
        }

        // 参数够了则直接执行被转化的函数
        return func.apply(null, _args);
    }
}
// 柯里化通用式 ES6
function currying(func, args = []) {
    let arity = func.length;

    return function (..._args) {
        _args.unshift(...args);

        if(_args.length < arity) {
            return currying(func, _args);
        }

        return func(..._args);
    }
}

什么是https

咻云智能

普通函数和箭头函数的区别

答:

  • 箭头函数是匿名函数,不能作为构造函数,不能使用new
  • 箭头函数没有原型属性
  • 箭头函数不绑定arguments,取而代之用rest参数...解决
  • 箭头函数的 this 永远指向其上下文的 this,普通函数的this指向调用它的那个对象
  • 箭头函数任何方法都改变不了其指向,如 call、bind、apply

微盟

盒子模型

定位有哪些

1像素问题,3倍屏怎么做

1像素圆角,怎么处理?用scale有什么弊端

过渡和动画有什么区别

fixed如何相对于某个指定元素

答: 通过translatez

说说浏览器渲染的具体过程

答: www.cnblogs.com/zhaoxinmei-…

事件循环

promise和async await 区别

requestAnimateFrame它是解决什么问题的?属于微任务还是宏任务?

js原型的理解

call apply bind 是做什么用的,怎么用

es5如何做继承,详细步骤

class的super是做什么用的,继承不写可以吗

基本类型怎么判断,typeof instanceof原理是什么

性能检测怎么做,线上的性能检测怎么做

怎样会形成跨域,跨域怎么解决

https为什么可以防止篡改信息?如何做身份认证的?如何做信息保护的?

vue生命周期

vue挂载是在哪个周期?

keepalive怎么实现

vue双向绑定原理,vue2和3实现上有什么区别

实际有用过proxy吗

taro和uniapp的区别

答:taro运行时就打包,所以开发的时候就比较卡,uniapp结束的时候才打包

团队怎么做风格约束,语法约束,类型约束

webpack如何解决打包过大?时间过长呢?

答:首先分析问题,用分析工具分析出哪个包包比较大然后,解决问题,用拆分,或者替换,比如dll cdn 。而时间过长的问题,一般都是利用缓存,能开缓存就开

浦发信用卡中心

vue白屏是怎么处理的?

服务端渲染原理了解吗?

js兼容怎么处理?

移动端兼容有哪些方案?

vue有哪些比较困难的点吗?

微前端有了解过吗

数组有哪些方法?

腾来雾去

js的隐式转换,1+[1]

如何实现浅拷贝,如何实现深拷贝

深拷贝正则类型,symbol类型怎么处理

判断类型有哪些方式

typeof instanceof区别有哪些

typeof缺点

谈谈对闭包的理解

谈谈promise的理解

哪些情况下会出现跨域

jsonp原理

'abc'=>['a','b','c']实现有几种方式

答: split substr配合循环 解构操作符,还有什么

abc abde abxyz 如何正则匹配ab后面的东西,排除ab

答:(?=>ab) [a-z]+

请求方法的类型有哪些?

哪种类型是判断资源类型的?

vue生命周期有哪些,有12种

beforecreate到created中间发生了什么

mixins怎么使用,出现页面中有同名函数哪个会生效?

虚拟dom是什么,做什么用的

display有哪些属性?

布局有哪些?分别相对的是什么元素

松鼠ai

数组查找算法,一个数组,查找里面值是否有符合 a + b = c,abc均是数组值