前端面试题目、初稿

初稿

JS 基础

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

TS

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

CSS

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

React

1. `setState``useState` 是同步还是异步的?

``` js
const [t, setT] = useState(0);
const onPress = () => {
setT(t => t + 1);
console.log('T1: ', t);
setTimeout(() => {
console.log('T2: ', t);
}, 0);
};
这个代码执行完的结果,`T1`和`T2`是?
  1. useState,我set完了,接着使用,会有什么问题,怎么拿到最新的值?(useRef)
  2. 官方自带了哪些hooks
  3. 如何封装hooks
  4. 父组件如何调用子组件的方法?(useImperativeHandle)
  5. 状态管理,Redux设计原理?如何实现一个middlewarethunklogger)?
  6. React Query了解多少?引申问一下,React QueryuseQueryuseMutation的应用场景?

### Vue

```js
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. 分页竞态锁,假设`FlatList`请求两页数据,第一页返回`2s`,但是第二页返回`1s`,如何保证最后的`datas`里面数据的顺序?
5. 如何防止用户重复提交?

算法

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

Git

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

陈桥驿站

发布于

2025-10-21

更新于

2025-11-13

许可协议

评论