蚂蚁金服社招前端工程师面经分享

一面

1、讲讲在上一家公司都干了哪些事情

2、接着聊聊有什么技术上的沉淀

3、除了redux mbox dva 还用过其他的状态管理吗?

4、hooks 原理

1)单向链表通过nexthooks串联起来

2memoizedState存在fiber node上,组件之间不会相互影响

3useStateuseReducer中通过dispatchAction调度更新任务


5、看过 hooks 相关的草案吗

6、vue3 的 类似 hooks 的原理是怎么样的

7、你对蚂蚁有什么期望,或者说技术的规划,想做的东西


二面

1、聊项目,项目的难点,以及自己做了哪些事情

2、为什么项目里会引入 TS

3、dva redux 的区别

1dva

①定位:dva 首先是一个基于 redux redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router fetch,所以也可以理解为一个轻量级的应用框架。dva = React-Router + Redux + Redux-saga

②核心:

State:一个对象,保存整个应用状态;

ViewReact 组件构成的视图层;

Action:一个对象,描述事件

connect 方法:一个函数,绑定 State View

dispatch 方法:一个函数,发送 Action State

modeldva 提供 app.model 这个对象,所有的应用逻辑都定义在它上面。

model内容:

namespacemodel的命名空间;整个应用的 State,由多个小的 Model State namespace key 合成;

state:该命名空间下的数据池;

effects:副作用处理函数;

reducers:等同于 redux 里的 reducer,接收 action,同步更新 state

subscriptions:订阅信息;


2redux

①定位:它是将flux和函数式编程思想结合在一起形成的架构;

②思想:视图与状态是一一对应的;所有的状态,都保存在一个对象里面;

API

store:就是一个数据池,一个应用只有一个;

state:一个 State 对应一个 View。只要 State 相同,View 就相同。

actionState 的变化,会导致 View 的变化。但是,用户接触不到 State,只能接触到 View。所以,State 的变化必须是 View 导致的。Action 就是 View 发出的通知,表示 State 应该要发生变化了。Action 是一个对象。其中的type属性是必须的,表示 Action 的名称。其他属性可以自由设置。

dispatch:它是view发出action的唯一方法;

reducerview发出action后,state要发生变化,reducer就是改变state的处理层,它接收actionstate,通过处理action来返回新的state

subscribe:监听。监听statestate变化view随之改变;


4、组件升级怎么让使用这个组件的人都知道。

5、如果让你设计项目自动设计组件升级,并且安全,你会怎么去设计

6、职业发展,今年的打算


三面

1、全程聊项目,项目的难点在哪里?怎么解决?项目有什么可以改进的地方吗?

2、接着主要聊业务相关的,看看我对业务的理解,以及一些想法。

3、业务方怎么拿到反馈的,就是做的这个东西具体有什么用?

#面经##社招##蚂蚁集团##前端工程师#
全部评论
楼主本科或是硕士毕业几年?
点赞 回复
分享
发布于 2020-12-28 11:17
没问算法吗?不可能吧。。。
点赞 回复
分享
发布于 2021-01-17 17:53
饿了么
校招火热招聘中
官网直投
没有考算法吗
点赞 回复
分享
发布于 2021-01-27 08:57
社招几年经验啊
点赞 回复
分享
发布于 2021-01-27 09:02

相关推荐

4 38 评论
分享
牛客网
牛客企业服务