拼多多前端 一二三面 已意向
拼多多一二面会写很多代码,常见的手写代码一定要好好掌握呀!面试官都很NICE,卡壳了会引导你作答。已约HR面。
一面:
- 自我介绍
- 依赖反转是啥
- 设计模式说一说
- 耦合和内聚
- 说一个项目,难点
- hooks的存在意义
- React.memo与useMemo的区别
- setState与useState的区别
- 实习的时候,一个项目从开发到上线的流程
- 如何统计app发生错误(埋点?)
- 代码:
- 判断是否是数组
- 拉平数组
- Promise.all
- 深拷贝
- 数组最长严格上升子序列
二面:
-
自我介绍
-
实验室的项目和实习的收获
-
CI/CD你有自己写过吗
-
你是怎么做优化,优化指标以及工具
-
Hooks的产生原因
-
虚拟DOM的作用
-
渲染列表一般需要设置key值,它的作用是啥,如果我直接用他在数组中的index值,会有啥问题
-
Promise的产生原因
-
实现一个sleep函数:
async function main() { await fetch(); await sleep(time); await fetch(); } async function sleep(time) { // your code }
-
根据平铺数据生成树或者森林:
interface Item { parent: number; value: string; id: number; } interface TreeItem { value: string; id: number; children?: TreeItem[] } function generateTree(list: Item[]): TreeItem[] { // your code }
-
深拷贝,处理循环引用
三面:
三面的面试官本身不是前端,因此问的问题大多是网络和操作系统,基本上都是八股文,因此没有记录。
算法:两个递增的有序数组合并成一个递减的数组。