字节跳动商业化广告前端社招面经
硕2,从投递到oc流程在1个月左右
一面
自我介绍 + 最近一年比较有深度的项目
用过vue吗?
Promise的回调函数,Promise.all和Promise.allSettled有什么区别?会用在什么场景?
设计一个全局捕捉JS运行错误的方案
Errorboundary能捕获到异步错误吗?为什么?如果要做的话有什么方案?
说说原型继承
any unknown never的区别
keyof和typeof的区别
useEffect和useLayoutEffect的区别?
事件循环是什么?为什么有事件循环?
题目:**** EventEmitter 二选一
二面
项目
业务中关注的业务指标和技术指标
常用的http header
简单请求 复杂请求
强缓存 协商缓存
说运行结果
var a = function () { this.b = 3 } var b = 7; a.prototype.b = 1; const c = new a(); console.log(b) // 浏览器端 3, node 7 console.log(c.b) // 3
var a = function () { this.cc = 3 } var b = 7; a.prototype.b = 1; const c = new a(); console.log(b) // 3 console.log(c.b) // 1
var a = function () { this.cc = 3 } var b = 7; a.prototype = { b: 3 } const c = new a(); console.log(b) // 3 console.log(c.b) // undefined 引用赋值的原因
三面
深挖项目
给定一个数n如23121,给定一组数字a如[2 4 9],求由a中元素组成的小于n的最大数如22999
四面
LRU + 超过x s也需要清除没有get/set的缓存:思路是get时清除,保障行为上的正确
HR面
认为自己的优点,在技术上的缺点
介绍一个自己认为做得不错的项目
未来1-2年的规划
预期薪酬