字节跳动 头条 商业平台 前端面试 半年经验

205 阅读1分钟

字节前端一面

  1. 自我介绍

  2. 跳台阶,大数乘法

  3. 斐波那契有什么优化的方案

    a. 有听说过尾递归优化吗

  4. 前端遇到一个很大的数组循环,怎么优化性能

  5. 由上问题引申到前端性能优化的方法

    a. 防抖和节流

    b. 重构和重绘

    c. 如果要渲染很多图片怎么办

    d. 懒加载

    e. service worker

    f. 还有什么方法

  6. webpack熟悉吗

    a. 打包很慢有什么解决方案

    b. 发现有依赖被多次打包了怎么办

    c. 依赖有版本冲突怎么办比如项目依赖A1.0和B1.0,B1.0依赖A0.9,这种时候怎么处理

    d. webpack是怎么追踪依赖的呢

  7. 用过node做过什么事情呢

    a. nodejs里面的cluster是什么

    b. 你如何杀掉一个进程的同时不杀掉服务,其实是问如何安全地重启一个服务吧

    c. 怎么监控你的服务呢,要注意哪些指标

    d. cluster里面不同worker之间是如何通信,说说例子,我用了electron的render线程和main主线程来举例

    e. 如果我的服务器是一个4核的cpu,他的cluster会有多少个worker

  8. css的bfc是什么

  9. 有什么web攻击的方式

    a. XSS会导致用户隐私信息的泄漏吗

  10. 说一下宏任务和微任务

    a. 说一下刚刚提到的event loop

    b. 以下例子的事件循环是怎样的:

setTimeout(() => {
    process.nextTick(() => {
        process.nextTick(() => {
            setTimeout(() => {
            })
        })
    })
})