Skip to content

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

最近在找工作,现在已经接近尾声了,面了携程,美团,京东,比心 APP,英语流利说,百度,携程,新核云,现在写一下面经,希望最近找工作的你们一路顺下去

英语流利说

一面

  • 微前端描述下

  • 怎么协同开发

  • 注意事项

  • 2:场景问题

  • 2.1:两个请求并行发送,如果其中一个请求出错,就用默认值代替,怎么实现

  • 2.2:页面有两个相同的请求怎么复用

  • 3:react 生命周期

  • 4:react 通信

  • 5:跨域通信有哪些

  • 6:http 缓存

  • 7:懒加载

  • 8:commonjs 和 es module 区别

  • 9:tree sharking 原理

  • 10: loader 会 plugins 区别

  • 11:防抖和节流区别,大概实现

  • 12: 了解哪些新技术

二面

  • 介绍一下项目亮点

  • 介绍一下微前端

  • 说一下 npm 包管理机制

  • A 插件依赖 D 插件版本是 1.0.1,B 插件依赖 D 插件版本是 1.0.2,C 插件依赖 D 插件 1.1.0,那么 npm i 之后,下载了几个版本的 D 插件

  • HTTP 常见的状态码 ,401 403 分别是什么, 常见的请求头响应头有哪些

  • 说一下 webpack 配置,常用的 loader、plugin

  • 场景题目

if(a == 1) {    console.log(a);}// 控制台会报错么// 如果报错是什么类型的错误

三面

我面的三面基本没有技术面

  • 介绍项目

  • 你充当的角色

  • 你平时是如何学习的

  • 对自己的规划

  • 别人怎么评价你的

其实流利说我觉得挺好的,就是我的工资要低了,具体多少不说哈,这几家公司都是 20K 以上,流利说的 hr 给我的印象很好,一面的小哥哥声音也挺好听的,如果没有百度的 offer 就去流利说了,真的还很抱歉

携程

一面

  • 介绍微前端

  • 乾坤框架怎么实现的沙盒机制

  • 手写一个单例模式

  • 手写一个发布订阅模式

  • 手写一个 redux 的 compose 函数

  • 手写一个组合继承

  • 垃圾回收机制了解么,介绍一下

  • 自定义 hooks 和函数有什么区别

二面

  • 事件循环输出顺序问题

  • 实现函数异步请求成功后就返回,失败后重试 max 次

  • 前端怎么埋点监控

  • hooks 为什么不能写在 if 语句里面

  • useCallback 的实现原理

  • 怎么画 1px 像素线,逻辑像素, 物理像素的概念

  • 自己写的 mock 服务是怎么实现的,为什么不在 webpack 里用相关插件

三面

三面也是没问技术

  • 公司是做什么的,介绍下公司产品

  • 你现在充当的团队角色

  • 你现在是一个管理者了,为什么离职了

  • 将来的规划

携程面的是一个新的业务线,需要一段时间的 996,但是携程本身不是 996 公司了,加班有加班费,并且携程面试完之后会有一个行测评测和英语口语评测,必须要过。

比心 APP

一面

  • 介绍下项目

  • 说一下微前端实现

  • 写一个 Promise.all 函数

  • 写一个发布订阅模式

  • 一道 setTimeout 事件循环的题目

  • 手写题实现电话号码隔位显示(3 4 4)

  • 算法题 [0, 2, 3, 0, 5, 0, 0] 将 0 全部移动到后面去

二面

  • 介绍下项目亮点

  • 说一下 redux 如何使用

  • redux 源码介绍下

  • 你说你 angular, vue, react 都使用过,说一下三者的区别

  • 了解缓存么 大概讲一下

  • 解释下 https

  • 介绍几个 git 常见的操作命令

三面

  • 介绍项目亮点

  • react 通信是怎么样的

  • react-redux 中 connect 怎么连接组件的

  • 为什么要离职

  • 你最擅长的是什么

比心 APP 我觉得也非常不错,都是 hr 很给力,一面是一个小姐姐人挺好的,二面是 leader 人也挺好,其实比心是先面的,hr 一直等到我百度面试完在和我谈工资,让我自己对比下,说实话非常抱歉

百度

一面

  • 介绍一下微前端

  • 乾坤框架源码看过么

  • 写一个自定义 hooks,useDiff

  • 数组去重方法越多越好

  • 写一个匹配邮箱的正则

  • 实现函数

    function repeat(s, count) {}repeat('s', 3) // 输出 ‘sss’
  • 函数实现

// 正则匹配标签名 输出div p span <div>     <p>       <span></span>        </p>     <span>     </span> </div>
  • 实现一个深拷贝

  • 实现函数统计字符串里面出现次数最多的字符

  • 有做过什么优化么

二面

  • 介绍下微前端

  • hooks 常用的 api 有哪些

  • useState,useEffect,useRef,useMemo 在存储数据方面有什么区别

  • hooks 组件怎么向外传递方法

  • 写一个三列等距布局,越多越好

  • 写一个公共组件需要注意哪些

  • 写一个表单生成组件

  • 生成一个完整的组件

  • 表单填入的值,可以返回出去

const config = [    {        type: 'input',        name: 'name',        key: 'name'    },    {        type: 'select',        name: 'work',        key: 'work',        options: []    }] <FormC config={config} />
  • 你 ts 用的多么,说几个高级用法

  • 介绍下 interface 和 type 的区别

三面

  • 介绍下项目

  • 为什么要重构项目

  • 为什么要做微前端

  • 详细说一下机器学习做的事情

  • 你觉得 AI 智能给前端带来的变化

百度二面是一位小姐姐,挺可爱的一位女生,百度的 hr 也是一位比较萌的小姐姐,对于平台和技术而言,最终选择的百度,百度好像 react 比较看重,其他的几个岗位基本也是招 react

京东凹凸实验室

  • 介绍下微前端实现方式,以及你们是怎么做的

  • 乾坤框架源码看过没

  • commonjs 和 es module 区别
    1:

    // a.js module.exports = {}; exports = {     name: 'json' }; // b.js const a = require('./a.js'); // 输出什么

    2:

    // a.jsmodule.exports = function a() {}// b.js // 在b中用es6 module语法怎么引入
  • 介绍下浏览器缓存机制

  • webpack 打包原理是怎么样的

  • webpack 插件写过没,介绍下原理

  • webpack5 介绍下

  • 看你用过 react 介绍下 fiber 架构

  • esbuild 知道么介绍下

  • 你用过 vue,现在出了 vue3.0 介绍下

  • vue 现在出了一个打包工具 vite,介绍下为什么会比其他的打包工具快

京东凹凸实验室这家给我感觉很好,我觉得这个部门基本就是搞研究的,一面完了之后一直没消息,问了之后就说还在评估,估计凉了,后面三个问题仅仅是群里面发了文章,但是只看了一遍没深入, 扫了个大概

字节跳动

一面

  • 介绍下项目,微前端实现

  • 介绍下 https 加密过程

  • redux 原理

  • 第三方登录,如果让你去设计,你会怎么考虑

  • 介绍下浏览器和 node 的事件循环

  • 做了一道原型链输出问题

  • 做了一道 setTimeout 输出问题

  • 做了一道 this.setState 输出问题(异步和合并)

  • 实现一下 promise.race

  • 实现一下 task().eat().sleep(2000).eat().sleep(2000) 函数

  • 判断链表有环但是空间复杂度是 O(1)

二面

  • 介绍下项目

  • redux 用的熟么,介绍一下源码

  • connect 怎么处理组件的

  • context 会有什么性能问题么

  • 实现防抖节流

  • 实现 sum(1)(2, 3)(4) 柯里化

  • 实现一个非树状结构转树状结构函数

  • 一个查找最长子字符串算法

三面

  • 介绍下项目

  • 微前端实现

  • 乾坤框架如何做到隔离

  • 实现一个 String.prototype._trim 函数

  • 实现一个 reduce

  • 实现一个多个请求,并行和串行的函数

字节三面面试官有点严肃,没发挥好,题目虽然都做出来了,但是花的时间太长了,面试官也没再问,最后问了我有什么规划,我以为过了没想到最后挂了,临门一脚有点遗憾,想面试字节的同学,一定多刷函数实现,算法 (连续做一个月),源码理解

PS:

1:还有一家初创公司叫新核云,感觉还不错,最后也是过了的,但是没有去

2:美团一面过了,因为又需要请假,并且晚上有百度面试,就推掉了

最后

我是来自程序员交流指北的一阵风,一个把技术交流放在首位的前端交流群,群主是一个全栈萌妹子,有兴趣的可以私聊我进群

程序员成长指北