Interview icon indicating copy to clipboard operation
Interview copied to clipboard

【05-07】😮 Y公司

Open buuing opened this issue 3 years ago • 0 comments

! 10-10-5 工作制

笔试题 30分钟

  1. 问输出什么, 我说的14857263发现不对, 控制台显示236
console.log(1)
setTimeout(() => {
  console.log(2)
  Promise.resolve().then(() => console.log(3))
})
new Promise(resolve => {
  resolve()
  console.log(4)
}).then(() => {
  console.log(5)
  setTimeout(() => console.log(6))
}).then(() => {
  console.log(7)
})
console.log(8)
  1. 问输出什么
console.log(a, b, c)
var a = function () {
  console.log('1')
}
function b () {
  console.log('2')
}
var c = '3'
var a, b, c
console.log(a, b, c)
  1. ~问输出什么~
var name = '1'
function Person (name) {
  this.name = name
  this.sayHi = function () {
    console.log(this.name)
    setTimeout(function () {
      console.log(this.name)
    }, 1000)
  }
}
var obj = {
  name: '2',
  sayHi: () => {
    console.log(this.name)
  }
}
var p = new (Person.bind(obj, '3'))()
p.sayHi()
  1. 问输出什么
let obj = { a: 0 }
function fn (obj) {
  obj.a = 1
  obj = { a: 2 }
  obj.b = 2
}
fn(obj)
console.log(obj)
  1. 实现一个流程控制函数, 太复杂了不写了

  2. ~二叉树求最近的公共祖先节点~

  3. 实现Foo函数 (我以为是魔改promise底层, 面试官说利用事件循环)

Foo('jack')
// 输出: my name is jack

Foo('jack').sleep(10).eat('food')
// 输出: my name is jack
// 等待10秒
// 输出: eat food

Foo('jack').eat('food').eat('food')
// 输出: my name is jack
// 输出: eat food
// 输出: eat food

Foo('jack').sleepFirst(5).eat('food')
// 等待5秒
// 输出: after 5
// 输出: my name is jack
// 输出: eat food

一面 [远程] 40分钟

?> 先是聊笔试题讲解为什么

  1. ~什么是BFC~
  2. 什么是层叠上下文
  3. ~什么是闭包, 为什么会产生闭包~
  4. ~改变this指向有哪些方式~
  5. ~让你实现一个call你有思路吗~
  6. ~vue和react你熟悉哪个~
  7. ~nextTick是用来做什么的~
  8. ~vue2和vue3区别~
  9. ~vue3的diff算法你了解吗~
  10. ~说一下浏览器缓存~

二面 [远程] 45分钟

  1. ~你觉得vue2里面的defineProperty有什么问题~
  2. ~在vue3里面是如何解决这个问题的~
  3. ~vue里面for循环为什么要写key~
  4. ~diff算法在vue3里面的优化~
  5. 除此之外的话, vue3还有哪些其他的更新/优化吗
  6. ~在vue2中为什么子组件内不能修改父组件传递的props~
  7. vue里面父子组件嵌套的生命周期是什么
  8. ~在平时你会用到mixins混入吗~, 替代方案?
  9. 在vue中我怎么去捕获错误
  10. ~你是怎么对登录进行持久化, 以及登录的判断~
  11. ~接口你们是怎么封装的~
  12. 你们是如何对后端接口返回的数据, 做错误处理的
  13. 如果我想在已有的系统上做埋点/错误上报, 该如何去实现
  14. ~项目中的权限控制你是如何处理的~
  15. ~如果我想实现一个element-ui$message该如何实现~
  16. ~介绍一下你的开源项目~
  17. ~介绍一下项目中的难点/亮点~

三面 [远程] 25分钟

  1. ~如果是面对大量的页面需求, 有什么可以提升效率的方案吗~
  2. ~如何对生成的页面进行响应式布局~
  3. ~如何取识别ui的设计图, 来快速的生成一个页面~
  4. ~如何提高ui图片识别的一个准确率~
  5. ~如何去处理一些特殊或者未知的元素的渲染~
  6. ~像是一些无法识别的, 错误的元素怎么办~
  7. ~如果是想要适配更多主流的css组件库怎么办~

hr面 [远程]

给的(n+5)k*14薪的offer, +800餐补, +1500房补, 各种福利待遇不少, HR诚意满满, 极力的想要我过去

buuing avatar May 28 '21 16:05 buuing