sis最新ip地址2020_2020 前端面试 | 第一波面试题总结

文章转载,下面用第一人称:


内蒙古呼和浩特某大学毕业,专科,计算机多媒体专业毕业 16年出来工作,工作经验四年,之前主要做平面相关,自己喜欢瞎折腾,从17年开始研究前端,然后公司内部转岗到开发部门工作,算下来前端经验也快三年之久。


年底由于种种原因想换一份工作,但由于太忙,没认真搞简历,也没怎么复习基础,导致很多本来会的都没敢往简历上写。于是写了一个简版的简历挂在Boss直聘上,准备年过完再认真筹备这件事情。 令我意外的是,近一个月收到多家公司的面试邀请。


因此总结一波2020年最新面试题,希望对大家有所帮助!后面的答案为自行整理,如有疏漏,欢迎指正!
2020 前端面试 | 第二波面试题总结
面试总结

以下面试均为电话面试
一面

构造函数是一种特殊的方法,主要用来在创建对象时初始化对象。每个构造函数都有prototype(原型)(箭头函数以及()没有)属性,
这个prototype(原型)属性是一个指针,指向一个对象,这个对象的用途是包含特定类型的所有实例共享的
属性和方法,即这个原型对象是用来给实例对象共享属性和方法的。每个实例对象的__proto__都指向这个
构造函数/类的prototype属性。

面向对象的三大特性:继承/多态/封装

关于new操作符:

1. new执行的函数, 函数内部默认生成了一个对象

2. 函数内部的this默认指向了这个new生成的对象

3. new执行函数生成的这个对象, 是函数的默认返回值

ES5例子:
function Person(obj) {
	 = obj.name
	this.age= obj.age
}
// 原型方法
.say = function() {
  ('你好,',  )
}
// p为实例化对象,new Person()这个操作称为构造函数的实例化
let p = new Person({name: '番茄', age: '27'})
(p.name, p.age)
()

ES6例子:
class Person{
	constructor(obj) {
  	 = obj.name
		this.age= obj.age
  }
  say() {
  	()
  }
}

let p = new Person({name: 'ES6-番茄', age: '27'})
(p.name, p.age)
()

关于原型的继承我们借助寄生组合继承

function Person(obj) {
     = obj.name
    this.age = obj.age
}
.add = function(value){
    (value)
}
var p1 = new Person({name:"番茄", age: 18})

function Person1(obj) {
    (this, obj)
    this.sex = obj.sex
}
// 这一步是继承的关键
Person1.prototype = Object.create()
Person1.prototype.play = function(value){
    (value)
}
var p2 = new Person1({name:"鸡蛋", age: 118, sex: "男"})

闭包

首先说明什么是闭包,闭包简单来说就是函数嵌套函数,内部函数引用来外部函数的变量,从而导致垃圾回收
机制没有把当前变量回收掉,这样的操作带来了内存泄漏的影响,当内存泄漏到一定程度会影响你的项目运行
变得卡顿等等问题。因此在项目中我们要尽量避免内存泄漏。

原型链

原型链实际上在上面原型的问题中就有涉及到,在原型的继承中,我们继承来多个原型,这里再提一下实现完美
继承的方案,通过借助寄生组合继承,PersonB.prototype = Object.create()
这是当我们实例化PersonB得到实例化对象,访问实例化对象的属性时会触发get方法,它会先在自身属性上查
找,如果没有这个属性,就会去__proto__中查找,一层层向上直到查找到顶层对象Object,这个查找的过程
就是原型链来。

vuex

vuex是一个专为应用程序开发的状态管理器,它采用集中式存储管理应用的所有组件的状态,并且以相
应的规则保证状态以一种可以预测的方式发生变化。

state: vuex使用单一状态树,用一个对象就包含来全部的应用层级状态

mutation: 更改vuex中state的状态的唯一方法就是提交mutation

action: action提交的是mutation,而不是直接变更状态,action可以包含任意异步操作

getter: 相当于vue中的computed计算属性
vue-router是官方的路由管理器,它和的核心深度集成,让构建但页面应用变得易如反掌

<router-link> 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址

<router-view> 组件是一个 functional 组件,渲染路径匹配到的视图组件。

<keep-alive> 组件是一个用来缓存组件





to: Route: 即将要进入的目标 路由对象

from: Route: 当前导航正要离开的路由

next: Function: 一定要调用该方法来 r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在上述代码中,我们使用了SIS、ISIS和QCSIS方法进行变量筛选,并从中选择最优的方法。 - `sis_variables` 是使用 SIS (Sure Independence Screening) 方法筛选得到的变量。SIS 是一种无正则化的方法,它通过计算每个变量与响应变量之间的相关性来进行筛选。在代码中,我们使用 `SIS` 函数,其中 `x` 是自变量矩阵,`y` 是因变量向量,`family = 'gaussian'` 表示使用高斯分布,`iter = FALSE` 表示不进行迭代。 - `isis_variables` 是使用 ISIS (Iterative Sure Independence Screening) 方法筛选得到的变量。ISIS 是一种带有正则化的方法,它通过迭代的方式筛选变量,并在每次迭代中更新变量的权重。在代码中,我们使用 `SIS` 函数,设置了 `tune = 'bic'` 来进行模型选择,其中 `bic` 是一种模型选择准则。 - `aggr_variables` 是使用 QCSIS (QCSIS with aggregation) 方法筛选得到的变量。QCSIS 是一种带有聚合方法的方法,它通过聚合多个 ISIS 结果来提高稳定性和可靠性。在代码中,我们使用 `SIS` 函数,设置了 `tune = 'bic'` 来进行模型选择,并将 `varISIS = 'aggr'` 设置为 `'aggr'`,表示使用聚合方法进行变量筛选。 综上所述,`sis_variables` 是使用 SIS 方法筛选得到的变量,`isis_variables` 是使用 ISIS 方法筛选得到的变量,`aggr_variables` 是使用 QCSIS 方法筛选得到的变量。这些变量是根据不同的方法和策略进行的变量筛选结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值