有干货的面试题 (持续更新)

Posted msi-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有干货的面试题 (持续更新)相关的知识,希望对你有一定的参考价值。

(持续更新到找到工作...)

单点登录系统(SSO)(采用JWT + RSA)

  阐述:用户只需要登录一次就可以访问所有相互信任的应用系统,实现无状态登录

  流程:

    我们首先利用RSA生成公钥和私钥,私钥保存在授权中心,公钥保存到 Zuul网关 和 各个服务

    用户请求登录,服务端验证,将查询到的用户部分信息存入 JWT

    使用私钥对 JWT进行签名加密 返回 JWT 给客户端

    用户访问服务( 携带JWT ) 网关验证通过放行

    到达微服务,微服务直接使用公钥解析 JWT 获取其中的用户信息

  如何判断是否登录:

    从 cookie 中获取对应的 token,取不到视为未登录,重定向到登录页面(网关的拦截器干的事情)

实现购物车商品数据同步(localStorage + redis)

  阐述: 用户可以在登录和未登录下实现购物的添加

  流程:

    如果用户尚未登录,放入localStorage (html 5web本地储存,前端完成)

    如果用户已经登录,让入redis ( 购物车读写频率高 )

    查询购物车:

      尚未登录: 查询 localStorage

      已经登录:查询 localStorage是否有数据,有的话上传到 redis 合并,没有的话直接访问 redis

  redis 中数据的储存形式: 购物车结构为一个双层Map  :Map<String,Map<String,String>>

      第一层Map: key为用户id

      第二层Map key 为购物车中商品 id  ,value为购物车数据(手动序列化存入)

什么是负载均衡

  当服务器遇到高并发时,为了不让服务器崩溃,建立服务器集群来共同抵御高并发,实现服务的高可用

  负载均衡的底层是反向代理实现的

RabbotMQ消息队列 

  作用:  通过异步的方式实现系统解耦完成系统间的通信(postman?)

  原理:  有五种消息模型,但大致的原理为:消息生产者向 交换机/队列 推送信息,消息消费者从队列中拉取消息并完成相应逻辑

  如何避免消息丢失:

    1: 消费者的ACK消息确认机制;(如果忘记确认,会导致内存泄漏,最后宕机)

    2: 消息的持久化 (需要将队列 ,交换机都持久化 )

    

    

    

以上是关于有干货的面试题 (持续更新)的主要内容,如果未能解决你的问题,请参考以下文章

2020年腾讯C++面试题和答案持续更新中-内附视频

2020年腾讯C++面试题和答案持续更新中-内附视频讲解

2020年腾讯C++面试题和答案持续更新中-内附视频讲解

2020今日头条面试真题及答案整理&最新最全&持续更新中~~~~

2020今日头条面试真题及答案整理&最新最全&持续更新中~~~~

游戏客户端与服务器面试题-- 2022年最新游戏客户端与服务器面试(lua篇持续更新)