首页 > 图森未来前端一面
头像
RiseL
发布于 2021-08-25 20:50
+ 关注

图森未来前端一面 内部员工回复

框架和项目

VUE和REACT有什么不一样的地方

父组件的状态改变,子组件引用了这个状态, vue和react的表现一样吗?

如何理解VUE中的单向数据流

修改组件库的样式

假设使用了一个组件库,现在要修改它的一个样式,但是它没有提供一个自定义类名的api,如何修改它的样式?

答:通过控制台去看它目前的类名,然后在style标签里写这个类名的样式

问:那这样写到scoped外会导致全局污染,如何处理?

.........

提示:深度选择器

 <hmi-btn    class="btn"   />  <style scoped>  .hmi-btn{      color:black  }  <style />
关于vue中的watch

当一个组件中,很多数据的改变都要触发某个函数,怎么写?

如何监测一个对象,当这个对象修改属性,触发handler函数时,获取到的val值和oldval值一样吗

如何拿到它的旧值?

vue使用watch如何同时监听多个属性?

CSS选择器权重

类,伪类,属性选择器的权重

下面代码的div应该是什么颜色

    <style>          div[class = 'box']{              background-color: coral;          }          .box:hover{              background-color: cornflowerblue;          }      </style>      <div class="box">111 </div>
原型和原型链

说指向

 function fn(){  }  fn.__proto__   String.__proto__.constructor  

在fn内部实现,当使用new来调用fn时,输出1

this指向

说输出:

 function fn (){   console.log (this.name);  }  let obj1 = {      name:"obj1"  }  let obj2 = {      name:"obj2"  }  let fncopy = fn.bind(obj1).bind(obj2)  fncopy()

一道很有意思的题(你如果能直接说出正确答案那可太牛了)

 let length= 10  function fn() {      console.log(this.length)  }  var obj = {      length: 5,      method: function (fn) {          console.log(this)          fn()          arguments[0]()      }  }  obj.method(fn, 1)
promise
 要求三个任务之间有依赖关系,写出调用代码  getTodos -> getComments -->getAlbums  function getTodos() {        return new Promise((resolve, reject) => {          setTimeout(() => {            resolve(10)          }, 2000)        })      }        function getComments() {        return new Promise((resolve, reject) => {          setTimeout(() => {            resolve('aaa')          }, 500)        })      }        function getAlbums() {        return new Promise((resolve, reject) => {          resolve([1, 2, 3, 4])        })      }
git使用

常用的git方法

如何修改已经提交过的push名称

如何找回本地误删的分支(还未提交到远程)

实现一个累加器
 实现add函数  console.log(add(10)(20)()) //30  console.log(add(10)(20)(30)()) //60  console.log(add(10, 20, 30)(10)())  //70
promise编程
 // 假设本地机器无法做加减乘除运算,需要通过rpc远程请求让服务端来实现。    // 现有远程API的模拟实现如下:    const addRemote = async (a, b) => new Promise(resolve => {      setTimeout(() => resolve(a + b), 1000)   });      // 请实现本地的add方法,调用addRemote,能最优的实现输入数字的加法。    async function add(...inputs) {      // 你的实现   }  

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐