review1

英语流利说

一面

  1. 微前端描述下

      将前端应用分解成一些更小、更简单的能够独立开发、测试、部署的小块,而在用户看来仍然是内聚的单个产品。
      简单来讲就是将庞大的整体拆成可控的小块,并明确它们之间的依赖关系,关键优势在于:
      a.代码块更小,更内聚,可维护性更高。
      b.松耦合,自治的团队可扩展性更好。
      c.渐进的升级、更新甚至重写部分前端功能成为了可能。

  • 怎么协同开发

      围绕业务功能纵向组建团队,而不是基于技术职能划分。最简单的可以根据最终用户看到的内容来划分,比如将应用中的每个页面作为一个微前端,并交付给一个团队全权负责。这种方式能够提升团队工作的凝聚力。
      实施渐进式重构,先让新旧代码和谐共存,再逐步转化旧代码,直到整个重构完成,这种增量升级的能力,可以降低产品局部替换的风险,包括升级依赖项、更替架构、UI改版等。另一方面也带来了技术选型上的灵活性,有助于新技术、新交互模式的实验性试错。

  • 注意事项

      独立构建意味着公共资源的冗余,继而增加用户的流量负担。
      团队自治程度的增加,可能会破坏协作。
      微前端将产生一堆小的东西,因此需要考虑是否具备采用这种方法所需的技术和组织成熟度。
        a.现有的前端开发、测试、发布流程如何扩展支持很多个应用
        b.分散的,控制弱化的工具体系及开发实践是否可靠
        c.针对各式各样的前端代码库,如何建立质量标准

  1. 场景问题
  • 两个请求并行发送,如果其中一个请求出错,就用默认值代替,怎么实现
  • 页面有两个相同的请求怎么复用
  1. react 生命周期
  2. react通信
  3. 跨域通信有哪些
  4. http缓存
  5. 懒加载
  6. commonjs 和 es module区别
  7. tree sharking原理
  8. loader 会 plugins区别
  9. 防抖和节流区别,大概实现
  10. 了解哪些新技术

二面

  1. 介绍一下项目亮点
  2. 介绍一下微前端
  3. 说一下npm包管理机制
  • A插件依赖D插件版本是1.0.1,B插件依赖D插件版本是1.0.2,C插件依赖D插件1.1.0,那么npm i 之后,下载了几个版本的D插件
    HTTP常见的状态码 ,401 403分别是什么, 常见的请求头响应头有哪些
  1. 说一下webpack配置,常用的loader、plugin
  • 场景题目
    1
    2
    3
    4
    5
    if(a == 1) {
    console.log(a);
    }
    // 控制台会报错么
    // 如果报错是什么类型的错误

三面

  1. 介绍项目
  2. 你充当的角色
  3. 你平时是如何学习的
  4. 对自己的规划
  5. 别人怎么评价你的

携程

一面

  1. 介绍微前端
  2. 乾坤框架怎么实现的沙盒机制
  3. 手写一个单例模式
  4. 手写一个发布订阅模式
  5. 手写一个redux的compose函数
  6. 手写一个组合继承
  7. 垃圾回收机制了解么,介绍一下
  8. 自定义hooks和函数有什么区别

二面

  1. 事件循环输出顺序问题
  2. 实现函数异步请求成功后就返回,失败后重试max次
  3. 前端怎么埋点监控
  4. hooks为什么不能写在if 语句里面
  5. useCallback的实现原理
  6. 怎么画1px像素线,逻辑像素,物理像素的概念
  7. 自己写的mock服务是怎么实现的,为什么不在webpack里用相关插件

三面

  1. 公司是做什么的,介绍下公司产品
  2. 你现在充当的团队角色
  3. 你现在是一个管理者了,为什么离职了
  4. 将来的规划
  5. 携程面的是一个新的业务线,需要一段时间的996,但是携程本身不是996公司了,加班有加班费,并且携程面试完之后会有一个行测评测和英语口语评测,必须要过。

    携程面试完之后会有一个行测评测和英语口语评测,必须要过。

比心APP

一面

  1. 介绍下项目
  2. 说一下微前端实现
  3. 写一个Promise.all函数
  4. 写一个发布订阅模式
  5. 一道setTimeout事件循环的题目
  6. 手写题实现电话号码隔位显示(3 4 4)
  7. 算法题[0, 2, 3, 0, 5, 0, 0]将0全部移动到后面去

二面

  1. 介绍下项目亮点
  2. 说一下redux如何使用
  3. redux源码介绍下
  4. 你说你angular, vue, react都使用过,说一下三者的区别
  5. 了解缓存么 大概讲一下
  6. 解释下https
  7. 介绍几个git常见的操作命令

三面

  1. 介绍项目亮点
  2. react通信是怎么样的
  3. react-redux中connect怎么连接组件的
  4. 为什么要离职
  5. 你最擅长的是什么

百度

一面

  1. 介绍一下微前端
  2. 乾坤框架源码看过么
  3. 写一个自定义hooks,useDiff
  4. 数组去重方法越多越好
  5. 写一个匹配邮箱的正则
  6. 实现函数
    1
    2
    function repeat(s, count) {}
    repeat('s', 3) // 输出 ‘sss’
  7. 函数实现
    1
    2
    3
    4
    5
    6
    7
    8
    // 正则匹配标签名 输出div p span
    <div>
    <p>
    <span></span>
    </p>
    <span>
    </span>
    </div>
  8. 实现一个深拷贝
  9. 实现函数统计字符串里面出现次数最多的字符
  10. 有做过什么优化么

二面

  1. 介绍下微前端
  2. hooks常用的api有哪些
  3. useState,useEffect,useRef,useMemo在存储数据方面有什么区别
  4. hooks组件怎么向外传递方法
  5. 写一个三列等距布局,越多越好
  6. 写一个公共组件需要注意哪些
  7. 写一个表单生成组件
  • 生成一个完整的组件
  • 表单填入的值,可以返回出去
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    const config = [
    {
    type: 'input',
    name: 'name',
    key: 'name'
    },

    {
    type: 'select',
    name: 'work',
    key: 'work',
    options: []
    }
    ]
    <FormC config={config} />
  1. 你ts用的多么,说几个高级用法
  2. 介绍下interface和type的区别

三面

  1. 介绍下项目
  2. 为什么要重构项目
  3. 为什么要做微前端
  4. 详细说一下机器学习做的事情
  5. 你觉得AI智能给前端带来的变化

    百度好像react比较看重,其他的几个岗位基本也是招react

京东凹凸实验室

  1. 介绍下微前端实现方式,以及你们是怎么做的
  2. 乾坤框架源码看过没
  3. commonjs 和 es module区别
  4. 代码题1
    1
    2
    3
    4
    5
    6
    7
    8
    // a.js
    module.exports = {};

    exports = {
    name: 'json'
    };
    // b.js
    const a = require('./a.js'); // 输出什么
  5. 代码题2
    1
    2
    3
    4
    5
    // a.js
    module.exports = function a() {}

    // b.js
    // 在b中用es6 module语法怎么引入
  6. 介绍下浏览器缓存机制
  7. webpack打包原理是怎么样的
  8. webpack 插件写过没,介绍下原理
  9. webpack5介绍下
  10. 看你用过react介绍下fiber架构
  11. esbuild知道么介绍下
  12. 你用过vue,现在出了vue3.0介绍下
  13. vue现在出了一个打包工具vite,介绍下为什么会比其他的打包工具快

字节跳动

一面

  1. 介绍下项目,微前端实现
  2. 介绍下https加密过程
  3. redux原理
  4. 第三方登录,如果让你去设计,你会怎么考虑
  5. 介绍下浏览器和node的事件循环
  6. 做了一道原型链输出问题
  7. 做了一道setTimeout输出问题
  8. 做了一道this.setState输出问题(异步和合并)
  9. 实现一下promise.race
  10. 实现一下task().eat().sleep(2000).eat().sleep(2000)函数
  11. 判断链表有环但是空间复杂度是O(1)

二面

  1. 介绍下项目
  2. redux用的熟么,介绍一下源码
  3. connect怎么处理组件的
  4. context会有什么性能问题么
  5. 实现防抖节流
  6. 实现sum(1)(2, 3)(4)柯里化
  7. 实现一个非树状结构转树状结构函数
  8. 一个查找最长子字符串算法

三面

  1. 介绍下项目
  2. 微前端实现
  3. 乾坤框架如何做到隔离
  4. 实现一个String.prototype._trim函数
  5. 实现一个reduce
  6. 实现一个多个请求,并行和串行的函数

    tips: 想面试字节的同学,一定多刷函数实现,算法(连续做一个月),源码理解

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2024 HL's Blog All Rights Reserved.

UV : | PV :