小伙伴新鲜出炉面试题目总结(含中大厂,已拿offer)
最近在找工作,现在已经接近尾声了,面了携程,美团,京东,比心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.js
module.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:美团一面过了,因为又需要请假,并且晚上有百度面试,就推掉了