面试2024.1.20

简单介绍下你做的项目。

这个神领物流项目是一个前后端分离的项目,前段他有3个客户端(用户端为微信小程序、司机端和快递员端为app)一个管理端(pc),后端用的技术栈用的是SpringAlibabaCloud、数据库用的是MySQL、缓存型数据库用的是redis和MongoDB、数据库框架用的是mybatis-plus、我在这个项目中主要负责

  • 父工程、通用工程、统一消息代码、网关、基础微服务
  • (快递员web服务系统)、运费微服务、快递员微服务、订单微服务、轨迹微服务、
  • 调度微服务、支付微服务、路线微服务、物流信息微服务、运单微服务
  • (司机web服务系统)、司机微服务、服务范围微服务、短信微服务、
  • (后台web服务系统、用户web服务系统)、搜索微服务 用户微服务、

微服务项目团队如何协作?你们多少个小组开发?

团队如何协作:技术部门进行分工协作,不同的小组负责对应微服务的开发;
多少个开发小组:有5个小组协同进行开发,技术部人数为每个开发小组4-5人(前段开发、后端开发)有专门的测试人员进行测试,

项目中是如何进行持续集成的?提交git后如何自动进行构建?

持续集成:使用Jenkins进行持续集成
构建:使用Jenkins进行项目的构建(运维人员安装对应的测试、生成环境和对应的项目构建部署工具)

说说统一网关中是如何进行认证与鉴权工作的?在网关中如何自定义过滤器?

用户通过指定的url路径登录web系统:
1.NGINX将请求反向代理给Gateway服务
在这里插入图片描述
2.Gateway服务在yml文件的路由中配置拦截的路径 和 过滤器:
在这里插入图片描述
3.

  • 判断请求url在不在非鉴权白名单中不在则进行鉴权逻辑操作、
  • 从header中拿到token并校验、校验成功从中拿出用户级别信息类AuthUserInfoDTO
  • 在解析AuthUserInfoDTO中的信息拿到该用户对应的角色id
  • 鉴权(使用AuthUserInfoDTO中的信息拿到该用户对应的角色id和配置文件中的角色id进行判断)判断成功返回true鉴权成功则登录,返回false鉴权失败则报错提示在这里插入图片描述

网关中如何定义过滤器:
1.在路由配置文件bootstrap.yml的服务路由配置中,配置自定义的服务路由过滤器:
在这里插入图片描述2.自定义的服务路由过滤器继承抽象网关过滤器工厂类AbstractGatewayFilterFactory<Object>和实现自定义的鉴权过滤器接口AuthFilter,实现三个方法(传入应用参数方法、校验token方法、鉴权方法)
3.抽象网关过滤器工厂类AbstractGatewayFilterFactory<Object>的主要逻辑在通用过滤器TokenGatewayFilter中进行逻辑执行

项目中的用户权限是如何管理的?如何与权限管家对接?

用户权限使用的第三方权限服务:使用的是传智播客的开源项目(权限管家),我们在权限管家里面创建角色和给用户选择对应的角色。
Gateway网关服务与权限管家对接:引入权限管家依赖、yml文件配置权限管家服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/418103.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s源码阅读:Informer源码解析

写在之前 Kubernetes的Informer机制是一种用于监控资源对象变化的机制。它提供了一种简化开发者编写控制器的方式&#xff0c;允许控制器能够及时感知并响应 Kubernetes 集群中资源对象的变化。Informer通过与Kubernetes API服务器进行交互&#xff0c;通过监听API服务器上资源…

C++数的输入和输出 2023年12月c++一级 电子学会中小学生软件编程C++等级考试一级真题答案解析

目录 C数的输入和输出 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C数的输入和输出 2023年12月 C编程等级考试一级编程题 一、题目要求 1、编程实现 输入一个整数和双精度浮点数&#xff0c;先将浮…

地平线旭日 X3 开发板上手体验

最近嫖到一块旭日X3开发板&#xff0c;借此熟悉地平线 AI 芯片旭日 X3 模型部署流程&#xff0c;以及算法工具链。这里基本是跟着官方的用户手册进行操作&#xff0c;其中也遇到一些奇怪的问题。 1 烧写系统 1.1 系统选择 旭日X3派开发板支持Ubuntu 20.04 Desktop、Server两…

实验五 PLSQL编程

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

zabbix监控扩展

目录 一、zabbix自动发现与自动注册 &#xff08;一&#xff09;理论定义 1.自动发现 2.自动注册 &#xff08;二&#xff09;实操部署 1.自动发现 &#xff08;1&#xff09;新增一台客户端命名为zbx-agent02 ① 配置时间同步 ② 在服务端和客户端上配置 hosts 解析 …

2024Java高频面试题之MQ消息中间件,面试都问些什么?(附详细答案)

最近很多同学问我有没有java学习资料&#xff0c;我根据我从小白到架构师多年的学习经验整理出来了一份50W字面试解析文档、简历模板、学习路线图、java必看学习书籍 、 需要的小伙伴 可以关注我公众号&#xff1a;“ Tom聊架构 ”&#xff0c; 回复暗号&#xff1a;“ 578”即…

基于Spring+mybatis+vue的在线课后测试系统(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

React初探:从环境搭建到Hooks应用全解析

React初探&#xff1a;从环境搭建到Hooks应用全解析 一、React介绍 1、React是什么 React是由Facebook开发的一款用于构建用户界面的JavaScript库。它主要用于构建单页面应用中的UI组件&#xff0c;通过组件化的方式让开发者能够更轻松地构建可维护且高效的用户界面。 Reac…

【占用网络】FlashOcc:基于2D卷积的占用预测模型

前言 FlashOcc是一个它只需2D卷积就能实现“占用预测模型”&#xff0c;具有快速、节约内存、易部署的特点&#xff0c;偏工程方向的工作。 它首先采用2D卷积提取图形信息&#xff0c;生成BEV特征。然后通过通道到高度变换&#xff0c;将BEV特征提升到3D空间特征。 对于常规…

虹科分享 | 汽车技术的未来:Netropy如何测试和确保汽车以太网的性能

文章速览&#xff1a; 什么是汽车以太网&#xff1f;汽车以太网的用途是什么&#xff1f;汽车以太网的测试要求是什么&#xff1f;流量生成如何帮助测试汽车以太网&#xff1f; 如今汽车不再是单纯的代步工具&#xff0c;把人从A点带到B点&#xff0c;同时还配备了车载信息娱乐…

【Linux取经路】初探进程地址空间

文章目录 一、历史问题回顾二、语言层面的地址空间2.1 验证 三、虚拟地址的引入3.1 初步解释这种现象——引入地址空间的概念3.2 再来粗粒度理解上面的现象 四、细节解释4.1 地址空间究竟是什么&#xff1f;4.2为什么要有地址空间4.3 页表4.3.1 CR3寄存器4.3.2 页表是由页表项组…

Python自动化实战之接口请求的实现

在前文说过&#xff0c;如果想要更好的做接口测试&#xff0c;我们要利用自己的代码基础与代码优势&#xff0c;所以该章节不会再介绍商业化的、通用的接口测试工具&#xff0c;重点介绍如何通过 python 编码来实现我们的接口测试以及通过 Pycharm 的实际应用编写一个简单接口测…