Skip to content

【05-07】😮 Y公司 #25

@buuing

Description

@buuing
! 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诚意满满, 极力的想要我过去

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions