字节Ads Infra 前端实习一面

面了整整两个小时,面试官小姐姐很好,基本都会但是可能我太紧张了没答好,最后还是挂了qwq

自我介绍

项目1:性能优化怎么做,单帧渲染时间和内存是如何计算的,直接看性能指标的

项目2:权限模型是怎么设计的,前端如何限制,其他还有什么鉴权方式,cookie session

jwt的优缺点

flex:0 1 auto 分别代表什么

浏览器是如何渲染一个html文件的

浏览器的存储方式有哪些,有什么差异,session和sessionStorage,用过indexDB吗

css加载会阻塞dom树的解析吗,会阻塞渲染吗

讲一下浏览器的事件循环,如果在执行微任务的时候又产生了微任务,这个是在什么时候执行的

列举你知道的微任务和宏任务有哪些,process.nextTick是什么时候执行的

node事件循环,6个阶段

题1:事件循环输出顺序

为什么需要有微任务这个概念,可以从执行时机方面考虑

网络请求xhr是什么任务

promise.all和promise.once,如何处理报错

promise.race是什么

promise.all如何实现所有的执行完再返回(可以直接catch,或promise.allSettled)

new的过程中做了什么,和构造函数有什么关联

讲一下原型和原型链

用过ts吗,讲一下泛型

题2:实现泛型

const getValue: FN = (obj, key) => {
    return obj[key]
}
getValue({a: 1}, 'a')
getValue({a: 1}, 'b') // error
getValue('1', 'b') // error

type FN<T, K extends keyof T> = (obj: T, key: K) => T[K];

为什么用vue可以直接用this.xxx来赋值,而react不行(vue响应式

为什么react要使用setState显式的设置值

hooks为什么不能在循环或条件语句中执行

express和koa有什么区别,中间件执行方面

题3:大数相加

题4:实现一个eventBus(发布订阅)

class eventBus {
    on() {}
    off() {}
    once() {}
    emit() {}
}

const event = new eventBus()

// 事件绑定
event.on('message', console.log.bind(null, 1))
event.on('message', console.log.bind(null, 2))
// 事件触发
event.emit('message')

// 输出 1 2

题5:封装hooks

// https://xxx.com?status=1&keyword=test
// request.get(url, {})

function useSearch() {
    //your code
    return {
        data
    }
}

反问

岗位职责

后续流程

有什么不足的

#我的实习求职记录#
全部评论
这是不是有点难?
1 回复 分享
发布于 2023-10-06 12:11 浙江
佬 promise.once()是啥
1 回复 分享
发布于 2023-10-10 18:54 陕西
点赞 回复 分享
发布于 2023-10-06 07:59 广东
途虎养车欢迎投递呀,https://www.nowcoder.com/feed/main/detail/7e534118d1974d9a82483b460c190077?sourceSSR=users
点赞 回复 分享
发布于 2023-10-06 12:05 上海
点赞 回复 分享
发布于 2023-10-07 19:28 广东
大佬
点赞 回复 分享
发布于 2023-10-08 18:30 安徽
好难
点赞 回复 分享
发布于 2023-10-10 08:11 江西
真难啊。。。。
点赞 回复 分享
发布于 2023-10-11 19:07 浙江

相关推荐

评论
15
56
分享
牛客网
牛客企业服务