首页 > 其他分享 >WEB前端开发-蚂蚁金服电话面试-React

WEB前端开发-蚂蚁金服电话面试-React

时间:2023-03-15 15:23:35浏览次数:29  
标签:WEB 面试官 react React 面试 组件 金服 传值

       记录一下自己面试的感触,上周投了杭州的蚂蚁金服,然后第二天早上的时候,就收到了面试的邀请,晚上7点到9点等待面试,自己心里面还是慌慌的,当时自己在上班,下午一下班就立马往家里赶,回到家后发现面试官给自己打电话,自己却没接到,真的伤心了,只能约到第二天的晚上了。(大家真的要提前准备好时间)

      聊一点关于面试的事情吧,首先是聊了一些大概个人情况,做了一下自我介绍,然后聊了一下工作经历,以及薪资期望。

     自己的模块结束之后,因为我面的是React技术栈,面试官直接开始问我关于React写过几个项目,项目中有什么亮点,除啦React还会什么其他的框架,React熟练程度如何?这些问题我都按照自身的情况一一回答了。

   然后面试官就开始了面试题环节:

(1)问我项目中有没有用过redux如何理解这个redux?

我是这样回答的React-redux只有react可以用,降低了react和redux的耦合度,简化组件内使用数据的复杂度,集中管理应用程序的状态,react组件间通信

redux的核心是store应用的状态管理中心,用来保存应用的state,收到更新的提示的时候,触发组件进行更新。container是视觉组件的容器,负责把传入的状态变量渲染成视觉组件,在浏览器显示。reducer是action的处理中心,负责处理各种动作并产生新的是tate,返回给store

使用redux的话我会先使用函数creaateStore创建store数据点,然后创建reducer,获取state和action,生成新的state,用subscribe进行监听,最后用dispatch执行

(2)React如何进行传值

我说有正向传值,逆向传值,同胞传值,跨组件传值。

正向传值的话用这个props类似于vue中的slot,如果是类组件的话用this.props.children,在父组件中可以使用refs引用子组件

逆向传值,父组件在子组件身上通过自定义属性将函数传递给子组件,子组件回调该函数并传值

同胞传值的话我会实例化一个events对象,然后一个组件进行监听,另外一个组件触发并传值

跨组件传值的话借助context,外层组件用provider传值给内层组件,内层组件用context接收

(3)高阶组件使用过吗?自己是怎么理解高阶组件的,说几个你用过的HOOKs,性能优化的话怎么办?

高阶组件就是函数,参数是组件,返回值也是组件

可以运用在函数防抖,函数节流,函数柯里化里面

useState,useEffect,useContext,useReducer,useMemo,useRef,useCallback

(4)了解fiber吗?解决什么问题?具体原理是什么?

我理解的fiber就是把一个耗时长的任务分成很多小片,总时间不变,但是每个小片的运行时间很短,这样项目在运行的时候就不会占用很多的主线程,给用户带来的体验也会很好,

(5)react组件如何做性能优化说一说pureComponent?

(6)调用state之后发生了什么?

react给当前节点创建一个updatequeue的更新队列

触发reconciliation过程,然后使用fiber算法,生成新的树

react Scheduler根据优先级高低,先执行优先级高的节点,执行dowork方法

在dowork方法中react会执行一遍updatequeue方法,获取新的节点,然后进行对比新旧节点

dowork完成后,会执行performunitofwork获取新节点,然后再重复上面的过程

当所有节点dowork完成后,触发commitroot方法,react进入commit阶段

在commit中,react更新整个dom元素

(7)什么是CSRF攻击?如何预防?

这个问题给我问住了,不知道该咋说,然后冷场了,面试官还是挺好的,然后面试官就说好了,面试题就问到这里了,然后问我还有什么要咨询的吗?我问了一些关于这次面试,面试官对我的看法,我感觉面试官说的还是很委婉的,确实自己说的也不够好,估计也是面试官怕打击我,就没说很难听的话,只说了面试还行,一些基础的答的还是不够好,讲解的不够仔细,可能你用的比较少吧。

  总结一下这次面试,蚂蚁金服还是很看重基础,面试了差不多小四十分钟,基本上都问的是基础问题,也没有很偏,关键自己答的太差了,也许是自己答的太差了,面试官就不想问了 ,噗哈哈哈哈哈哈哈,还是得多逛论坛多看大佬写的东西,自己多敲代码咯

                                                                                                       追风赶月莫停留,平芜尽处是春山

 

标签:WEB,面试官,react,React,面试,组件,金服,传值
From: https://www.cnblogs.com/niuhaoran/p/17217273.html

相关文章

  • WEB攻击模式库之反序列化学习总结
    1.1.序列化反序列化是什么(what) 序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络......
  • LoadRunner——web网页诊断图(菜单:Graphs)(十五)
    7.1、组成:Web页面诊断图页面组件细化图页面组件细化图(随时间)页面下载时间细化图页面下载时间细化图(随时间)第一次缓冲时间细化图第一次缓冲时间细化图(随时间)【web......
  • 你需要知道的webpack高频面试题
    谈谈你对webpack的看法webpack是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML,CSS,JavaScr......
  • 一文彻底读懂webpack常用配置
    开发环境constwebpack=require("webpack");constpath=require('path')module.exports={//entry:{//a:'./src/0706/a.js',//c:'./......
  • TinyWebServer
    1.一文读懂社长的TinyWebServer为提高效率,我们将在这部分通过线程池来实现并发(多线程并发),为每个就绪的文件描述符分配一个逻辑单元(线程)来处理。Linux下有三种IO复用方式:e......
  • web测试 bug定位(待补充)
    1、前置条件1.1、需要的知识熟透系统业务、团队成员情况熟悉使用F12或抓包工具了解HTTP/HTTPS协议了解系统的架构,数据走向1.2、定位前的操作(1)保存bug产生的记录(2)排......
  • 前端react面试题合集
    React的工作原理React会创建一个虚拟DOM(virtualDOM)。当一个组件中的状态改变时,React首先会通过"diffing"算法来标记虚拟DOM中的改变,第二步是调节(reconciliati......
  • 详解React的Transition工作原理原理
    Transition使用姿势Transition是react18引入的新概念,用来区分紧急和非紧急的更新。紧急的更新,指的是一些直接的用户交互,如输入、点击等;非紧急的更新,指的是UI界面......
  • 前端常见react面试题合集
    React高阶组件、Renderprops、hooks有什么区别,为什么要不断迭代这三者是目前react解决代码复用的主要方式:高阶组件(HOC)是React中用于复用组件逻辑的一种高级技巧。H......
  • 这可能是你需要的React实战技巧
    一、父组件通过Ref调用子组件中的方法这里同时演示使用函数组件和类组件的父子组件如何编写子组件React.forwardRefReact.useImperativeHandlepublic、private、pr......