2023react面试题

react diff原理
比较:先把树形结构按层级分解,给列表结构的每个单元添加key,只比较同级元素;
合并:调用component的setState时,React将其标记为dirty,当每个事件循环结束,React检查所有标记为dirty的component重新渲染。

** react class组件和function组件的区别**
function定义的组件没有this指向的问题;
class定义的组件有自己的局部状态(this.state)和自己的生命周期函数,function定义的组件是无状态组件,但是在16.8之后可以用hooks(useEffect)来模拟组件的局部状态和生命周期;

React Vue区别
react:React 的思路是 HTML in JavaScript 也可以说是 All in JavaScript,通过 JavaScript 来生成 HTML,所以设计了 JSX 语法,还有通过 JS 来操作 CSS,社区的styled-component、JSS等
vue:Vue 是把 HTML,CSS,JavaScript 组合到一起,用各自的处理方式,Vue 有单文件组件,可以把 HTML、CSS、JS 写到一个文件中,HTML 提供了模板引擎来处理。React 整体是函数式的思想,在 React 中是单向数据流,推崇结合 immutable 来实现数据不可变。而 Vue 的思想是响应式的,也就是基于是数据可变的,通过对每一个属性建立 Watcher 来监听,当属性变化的时候,响应式的更新对应的虚拟 DOM。

Redux中间件原理
*useState setState 同步还是异步
Fiber 深入了解Fiber
react事件机制
DOM事件和react事件
reselect是什么

react 长列表解决方案
长列表解决方案

单点登录

普通登录认证机制:我们在浏览器(Browser)中访问一个应用时,这个应用需要登录,我们填写完用户名和密码后,完成登录认证。此时,我们在这个用户的seesion中标记登录状态为yes(已登录),同时,在浏览器(Browser)中写入cookie,这个cookies是用户的唯一标识。下次我们再访问这个应用的时候,请求中会带上这个Cookie,服务端会根据这个Cookie找到对应的session,通过session来判断这个用户是否登录。如果不做特殊配置,这个Cookie的名字叫做jsessionid,值在服务端(server)是唯一的。

–SSO 同域名下单点登录
问题:cookie不能跨域 不同域名cookie对应的session不一样
解决:将cookie设置为顶域,这样所有子域的系统都可以访问到顶域的Cookie;把子系统的session共享。

–CAS 不同域名下单点登录
简单来说就是 发现没有登录跳到登录页然后登录 将seesion登录状态标记到浏览器再将cookie写入,跳到触发登录到页面携带一个ST(Service Ticket),原来页面拿到ST之后请求后台验证ST是否有效,验证通过后将登录状态写入session并设置Cookie。

更多详细参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值