本文由 简悦 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:美团一面过了,因为又需要请假,并且晚上有百度面试,就推掉了
最后
我是来自程序员交流指北的一阵风,一个把技术交流放在首位的前端交流群,群主是一个全栈萌妹子,有兴趣的可以私聊我进群
程序员成长指北