Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【05-07】😮 Y公司 #25

Open
buuing opened this issue May 28, 2021 · 0 comments
Open

【05-07】😮 Y公司 #25

buuing opened this issue May 28, 2021 · 0 comments

Comments

@buuing
Copy link
Owner

buuing commented May 28, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant