前端面试题目、初稿

初稿

JS 基础

1. 说一下计时器为什么计时不准?
2. 说一下`Promise.all``Promise.race``Promise.allSettled`的区别?
3. 对象的深拷贝,`JSON.parse(JSON.stringify())`有什么弊端?
4. `ES6``reduce`的四个参数,如何扁平化数组?

TS

1. `interface``type`的区别?如何实现联合类型?

CSS

1. 如何实现伸缩布局,`abc`横着排,`ac`两边,`b`自适应,如果过长`...`flexShrink: 1
2. `CSS`如何放大点击区域?

React

1. `setState` 是同步还是异步的?
2. `useState`,我`set`完了,接着使用,会有什么问题,怎么拿到最新的值?(useRef)
3. 官方自带了哪些`hooks`
3. 如何封装`hooks`
4. 父组件如何调用子组件的方法?(useImperativeHandle)
5. 状态管理,`Redux`设计原理?如何实现一个`middleware``thunk``logger`)?
6. `React Query`了解多少?引申问一下,`React Query``useQuery``useMutation`的应用场景?

Vue

1. `computed``watch`有什么区别?
2. Vue3 中,`watch`监听不到、不生效的问题,你是怎么解决的?
({deep: true}、{immediate: true}、() => xxx)
watch(
[
pickTicketStore.ship,
userStore.user,
pickTicketStore.isOnlySupportManualPay,
],
([ship, user, isOnlySupportManualPay]) => {
pickTicketStore.isOnlySupportManualPay =
from.value == PickTicketShipFrom.Private &&
(user.riskAudit == 1 || ship?.riskAudit == 1 || isOnlySupportManualPay);
},
{ immediate: true }
);
3. `v-if``v-for`,如何自己实现一个`v-xxx`指令?
4. `keep-alive`了解多少?

React Native

1. `JS`如何调用`Native`的方法?
2. `Android``headless`怎么理解?
3. `react-native-config`用没用过,如何实现多渠道打包?
4. 如何实现一个轮播?

算法

1. 如何判断链表是否有环?
2. 给定一个`HTML`树,如何找到`a`标签和`input`标签的最近公共祖先?

Git

1. 已经推到远端的代码,如何撤回?
2. `cherry-pick` 用没用过?
作者

陈桥驿站

发布于

2025-10-21

更新于

2025-10-21

许可协议

评论