腾讯一面校招面试题

1、自我介绍

2、自我介绍途中问实习都干啥了,用的什么技术栈?

  1. 了解过React吗?

了解过,在B站上有看过一些React的视频

  1. Vue的生命周期

beforeCreat

created

beforemount

mounted

beforeupdate

updated

beforedestroy

destroyed

如果是vue3,那最后两个生命钩子是

beforeunmount

unmounted

  1. Vue的数据是单向绑定还是双向绑定?什么是双向绑定?

双向绑定,双向绑定即MVVM,是采用数据劫持和发布订阅者的方式,用object.defineProperty()来劫持各个属性的setter,getter,在数据变化时发布给订阅者,触发相应的监听回调

双向绑定即MVVM,是采用数据劫持和发布订阅者的方式,用object.deineProperty()来劫持各个属性的settrt,getter。在数据变化是发布给订阅者,触发相应的监听回调。

  1. Object.defineProperty()具体是干嘛的?里面的set和get方法又是干嘛的?了解过set和get方法用js(setter、getter)实现吗?

具体干嘛?同上,set是设置属性的一种方法,get是获取属性的一种方法

var person={
    _name:"lisi",
    _age:18,
    //_name的只读。
    get name(){

        return this._name;
    },
//_age的读写。

    set age(Age){
        this._age=Age;
    },
    get age(){
        return this._age ;
    }
};

console.log(person._name+" "+person._age);//lisi 18
person.name='lily';
person.age=21;
console.log(person.name+" "+person.age);//lisi 21
console.log(person._name+" "+person._age);//lisi 21
//因为_name只读不写,所以name不会发生改变。
      
  1. JS的基本数据类型有哪些?

null,string、undefind、number、symbol、boolean

  1. 有了解过vue里的DOM操作吗?比如id、class这些怎么在vue里获取这些

首先js里面获取DOM的方法是docment.getElementByid("")

vue操作DOM用自带的ref属性---this.$refs.id名.属性名="属性值"

  1. 了解数组的map和foreach吗?知道他们的区别吗?

foreach和map都会遍历数组,foreach没有返回值,而map有返回值

  1. v-show和v-if有什么区别?

v-show是操作的css中display的切换

v-if是操作的dom节点的销毁和重建

当使用的时候,需求量大就可以使用v-show,需求小(开销)就用v-if。

  1. 知道display的其他属性吗?

display:none,display:black,display:inner-black,display:inner,display:flex,

display:box等等

  1. flex布局有用过吗?如何让一个元素在正方形中垂直水平居中?

display:flex height:100px width:100px justify-content: center; align-items: center;

  1. 接上题,如果用定位来做该怎么实现呢?

margin:0,padding:0,left:0,right:0,position: absolute,margin: auto; 这句是绝对定位的方式

position: absolute; width: 100px; height: 100px left: 50%; top:50%;transform: translate(-50%,-50%);

  1. 父元素本来是由子元素撑起来的,当子元素使用绝对定位后,父元素高度会受影响吗?为什么?

会受影响,因为会脱离文本流

  1. 还有没有其他方式让一个元素脱离文档流?

绝对定位,相对定位,float浮动

  1. 了解position的sticky属性吗?说说你的理解

粘性定位

在目标区域以内,它的行为就像 position:relative;在滑动过程中,某个元素距离其父元素的距离达到sticky粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置。

  1. 让一个页面元素隐藏的方法除了display:none之外还有其他的方法吗?他们有什么区别?

有,overflow:hidden

区别如下:display:none 隐藏对应的元素但不挤用该元素原来的空间

overflow:hidden 隐藏对应的元素并且挤用该元素原来的空间

  1. 说一下页面渲染的过程

  1. renderTree里包括js执行吗?

  1. 了解原型链吗?他们是怎么继承的?可以写一个例子吗?

了解,每个函数都有一个prototype属性,除了Function.prototype.bind(),该属性指向原型

每个对象都有__proto__属性,,指向了创建改对象的构造函数的原型,其实这个属性指向了[[prototype]],但是[[prototype]]内部我们并不能访问,所以使用__proto__来访问。

每个对象通过__proto__来寻找不属于该对象的属性,__proto__讲对象连接起来就组成了原型链

  1. 说一下call、apply和bind的区别

首先这三个都可以改变this指向

call:使用this的时候,传入一个或者多个参数来调用同一个函数

apply:应用于某个对象的一个方法,用另一个对象来替换当前对象

call和apply的区别:apply只能接收数组,而call可以接收连续的参数

bind:创建一个新的函数,与call和apply不同的是,bind想什么时候调用就什么时候调用

  1. ES6箭头函数里还会用到bind吗?为什么?箭头函数的this是怎么定义的?

会,因为在执行代码的时候,接受到的数据可能不止一个。另外再特定情况函数不需要立刻执行,而是在我需要数据的时候才执行。所以还需要使用bind

  1. 知道html语义化是啥不?html5都有哪些语义化标签?

头部标签<header> 导航标签<nav>页脚标签<footer>主要内容标签<mian>等等

  1. 了解闭包吗?说说你的理解

闭包形成的条件:函数嵌套外层函数、外部引用返回内部函数、内层使用外层变量

闭包的作用:形成不被销毁的执行空间,延长函数的生命周期,容易引起内存泄露

外部函数访问内部函数的变量,变量作用域扩展,内部函数访问外部函数

形成作用域私有变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值