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

15 - Summary #15

Open
Linjiayu6 opened this issue Jul 28, 2020 · 5 comments
Open

15 - Summary #15

Linjiayu6 opened this issue Jul 28, 2020 · 5 comments

Comments

@Linjiayu6
Copy link
Owner

Linjiayu6 commented Jul 28, 2020

KS ✋

  • 强缓存协商缓存
  • css BFC 清除浮动? 高度坍塌? 怎么解决清除浮动? 什么条件生成BFC?
  • css 盒模型理解
  • 垂直居中布局
  • 隐藏元素方法
  • rem 理解 ? 如何变化? 设计稿给你的是640px, 如何切换。
  • this 绑定
  • 事件循环机制 (浏览器 和 Node端)
  • new都做了什么
  • React 生命周期 (React 16+ 为什么生命周期有变化?)
  • React setState
  • React fiber 理解
  • React hook / useState / useEffect
  • React diff
  • React/Vue 技术选型的依据

编程:

一面是技术leader, 问了很多项目细节 一小时
二面是工作2年的小朋友, 问的问题偏细节
三面是工作5年, 问题更偏还可以吧

// 一面
function Foo() { 
  console.log(1)  
  return this
}

function getName() {
  console.log(4)
}

Foo.getName = function() {
  console.log(2)
  return this
}
var getName = function() {
  console.log(3)
}
// 声明提升
// Foo.getName()  // 2
// getName() // 3
// Foo().getName() // 1, 3
// getName() // 3
// new Foo.getName() // 2 指向Foo内部
// Foo.getName().getName() // 2, 2

curry 问题

// 一面
const add = function(a,b) {
  return a + 1 + b
}
const adder = memorize(add)

adder(1, 2) // 2
adder(2, 3) // 3
adder(1, 3) // 2
@Linjiayu6
Copy link
Owner Author

Linjiayu6 commented Jul 28, 2020

YFD

  1. 如果没有在vue data上绑定数据, 但是使用了 data.name 这种赋值, 能成功吗?
  2. css 伪类和伪元素
  3. 实现 convert 方法, 把原始 list 转换成树形结构,要求尽可能降低时间复杂度

@Linjiayu6
Copy link
Owner Author

Linjiayu6 commented Jul 28, 2020

ZYB

[一]

  • 闭包
  • this
  • react / vue 区别 / 数据处理的区别
  • vue 如何做的数据拦截
  • webpack 打包
  • 编程: 写个深拷贝
  • 跑步 25个人分5组, 没有计时器的情况下, 最少次数选出前三面?

[二]

[三]

  • CDN跨域情况是怎么解决的? CORS?
  • 是如何做的增量更新? diff格式是什么?

@Linjiayu6
Copy link
Owner Author

Linjiayu6 commented Jul 28, 2020

宇宙 TT

[一] 1hr

  • 是否是数组的判断
  • 数组的原型链是? Array([1, 2, 3]).proto = Array.proto = Object
  • 原型链和原型理解?
  • 0.3-0.2===0.1? 对吗? 为什么? 0.1的二进制表示
  • IEEEE754 理解吗?
A, B输出都是什么?
<div id="example">{{message}}</div>
<script>
var vm = new Vue({
  el: '#example',
  data: {
    message: '123'
  }
})
vm.message = 'new message' // 更改数据
vm.$el.textContent === 'new message'  //A
Vue.nextTick(function () {
  vm.$el.textContent === 'new message'  //B
})
</script>

[二] 1hr30mins

[项目] 1hr

  • 项目难点 项目问题 项目方法 技术细节 (但是缓存方面没有更多询问 更多的是前端性能优化)。
  • 服务端 docker 容器 Node运维 反向代理问的都不多 可能我不是很懂。
  • 带人如何解决项目冲突等问题 / STAR 模型。
  • 从链路上一系列的问题 公司SRE是如何做北京用户到北京服务节点的?
  • 问题的问题其实也挺深的,但是我回答的其实挺一般的吧。
  • 其他都忘记了 ......

[代码] 30mins

  • 模拟模板字符串的实现?
const str = '${data.test1}asfdasd{}aas${data.test2.test21}${data.test3++}f'

const data = {
   test1:'1231',
   test2: { test21: 'asdfafsd'},
   test3: 1
}

【你自己的瓶颈】

  • 多站在产品维度看问题。
  • 不要仅关注说前端带来的收益。
  • 你对该产品有什么直接影响。
  • 你可产品提出了什么方面的建议。

[三] 1hr20mins

@Linjiayu6
Copy link
Owner Author

Linjiayu6 commented Jul 28, 2020

H常问问题

  • 遍历一颗二叉树,看看是否存在满足条件的路径
  • 寻找字符串中出现次数最多的字符
  • 双向数据绑定
  • react中常见的优化方式
  • koa中间件原理
  • cors的options请求是干嘛的么
  • 怎么获取页面性能数据呢

@Linjiayu6
Copy link
Owner Author

Linjiayu6 commented Jul 28, 2020

ALBB

[一]

1. 项目介绍

  1. 说一说 最满意的项目
  2. 最有挑战的事情

2. JS基础

  1. dom bom 冒泡 / document api / querySelector / 深度优先遍历吗?
  2. 数组相加值是多少? 为什么是数字加数字? valueOf?
    [1, '2'] + ['3', '4', '6'] ?
    10 + 15 ? 为什么就是数字类型
  3. 数组变成对象?Object.assign({}, [1, 2, 3]) 遍历数组 再 obj[key] = val 🔥🔥🔥🔥🔥
  4. 如何创建对象? proto / prototype? 把原型链说明白。对象说明白。
只有函数function 才有 prototype (存的是共享属性和方法)
只要是对象都有 __proto__  来表示 继承来的,能访问共享内容。
instanceof 判断 xx.__proto__.__proto__.__proto__....... = Class.prototype (xx.__proto__.__proto__.__proto__ 原型链)
  1. React 生命周期? shouldComponentUpdate? useState / useEffect?
    React fiber? 时间片概念? React 问的挺深?
  2. Promise.finally 代码实现 🔥🔥🔥🔥🔥
  3. generator / co 实现

3. 浏览器相关

  1. 高清的解决方案 rem / viewpoint / dpr 🔥🔥🔥🔥🔥
  2. http get / post
  3. 强缓存 / 协商缓存 last-modified / etag 流程
  4. 算法: 动态规划 / 冒泡 / 背包 ......

[二三]

  1. 聊项目
  2. 4年里,你对xx公司有什么贡献? 🔥🔥🔥🔥🔥
  3. 爸爸公司里的人 问的问题 好深 ..... 偏向个人思考更多
  4. 其他的忘记了

[HR]

  1. 聊最优成就感的项目
  2. 如何理解 各种技术 JS/JAVA/Python/React/Vue/Node 等 给HR将明白......
  3. 如何理解 App/Web 等应用?
  4. 如何理解 有些语言可跨端运行?
    ...... 其他忘了 一顿说

@Linjiayu6 Linjiayu6 changed the title 面经总结 Summary Aug 11, 2020
@Linjiayu6 Linjiayu6 changed the title Summary 15 - Summary Aug 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant