【Java面试丨企业场景】常见技术场景

一、单点登录怎么实现的

1. 介绍

  • 单点登录(Single Sign On,SSO):只需要登录一次,就可以访问所有信任的应用系统
    在这里插入图片描述

2. 解决方案

  • JWT解决单点登录问题
    在这里插入图片描述
  • 用户访问应用系统,会在网关判断Token是否有效
  • 如果Token无效,则会返回401(认证失败),前端跳转到登录界面
  • 用户发送登录请求,网关路由到登录服务,认证校验返回给浏览器一个Token,浏览器将Token保存到Cookie中
  • 随后,再去访问应用系统其他服务时,都需要携带Token,由网关统一验证后路由到目标服务

二、权限认证是如何实现的

1. 介绍

  • 后台的管理系统更加注重权限控制,最常见的是RBAC模型来实现
  • RBAC(Role-Based Access Control):基于角色的访问控制
  • 具体实现
    (1)5张表(用户表、角色表、权限表、用户-角色中间表、角色-权限中间表)
    在这里插入图片描述
    (2)7张表(用户表、角色表、权限表、菜单表、用户-角色中间表、角色-权限中间表、权限-菜单中间表)

2. 案例分析

在这里插入图片描述

三、上传数据的安全性怎么控制(网络传输数据安全性)

1. 介绍

在这里插入图片描述

  • 用户通过浏览器发送请求,请求数据通过网络传输的,如果是非常敏感的数据,如果有人恶意拦截,可能造成损失
  • 可以使用非对称加密(或者对称加密),给前端一个公钥让其把数据加密后传到后台,后台负责解密后处理数据

2. 解决方案

  • 对称加密:数据加密和解密使用相同的秘钥,即加密秘钥也可以用作解密秘钥
    在这里插入图片描述
    (1)优点:加密速度快,效率高
    (2)缺点:相对不太安全(不要保存敏感信息)
  • 非对称加密:有两个秘钥,公开秘钥负责加密,私有秘钥负责解密
    在这里插入图片描述
    (1)优点:与对称加密相比,安全性更高
    (2)缺点:加密和解密速度慢,建议少量数据加密

3. 总结

  • 文件很大建议使用对称加密,不过不能保存敏感信息
  • 文件较小,要求安全性高,建议采用非对称加密

四、负责的项目模块遇到哪些棘手问题,如何解决

1. 介绍

  • 什么背景(技术问题)
  • 解决问题过程
  • 最终落地方案

2. 案例分享

在这里插入图片描述

五、怎么做压测(性能测试)的

六、项目中日志如何采集的

1, 介绍

  • 日志是定位系统问题的重要手段,根据日志信息快速单位系统中的问题
  • 采集日志的方式
    (1)常规采集:按天保存到一个日志文件
    (2)ELK:Elasticsearch、Logstash、Kibana

2. ELK案例分享

在这里插入图片描述

  • Elasticsearch:全文搜索分析引擎,可以对数据存储、搜索、分析
  • Logstash:数据收集引擎,可以动态收集数据,对数据进行过滤、分析,将数据存储到指定的位置
  • Kibana:数据分析和可视化平台,配合Elasticsearch对数据进行搜索、分析、图表化展示

七、查看日志的命令

  • 目前采集日志的方式:按天保存到一个日志文件中
  • Linux中查看日志
    (1)实时监控日志的变化
    (2)按照行号查询
    (3)按照关键字查找日志信息
    (4)按照日期查询
    (5)日志太多,处理方式
    在这里插入图片描述

八、怎么快速定位系统的瓶颈

  • 压测(性能测试):项目上线之前测评系统的压力
  • 监控工具、链路追踪工具:项目上线之后监控
  • 线上诊断工具Arthas:项目上线之后监控、排查
    在这里插入图片描述

九、生产问题怎么排查

1. 介绍

  • 已经上线的bug排查思路
    (1)先分析日志,通常在业务中都会有日志的记录,或者查看系统日志,或者查看日志文件,然后定位问题
    (2)远程debug:debug公司的测试环境,调试代码

2. 远程debug案例分析

在这里插入图片描述在这里插入图片描述

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

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

相关文章

Git的安装以及本地仓库的创建和配置

文章目录 1.Git简介2.安装Git2.1在Centos上安装git2.2 在ubuntu上安装git 3.创建本地仓库4.配置本地仓库 1.Git简介 Git是一个分布式版本控制系统,用于跟踪和管理文件的更改。它可以记录和存储代码的所有历史版本,并可以方便地进行分支管理、合并代码和协…

leetcode 1372. 二叉树中的最长交错路径

给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下: 选择二叉树中 任意 节点和一个方向(左或者右)。 如果前进方向为右,那么移动到当前节点的的右子节点,否则移动到它的左子节点。 改变前进方向&a…

Pytorch气温预测实战

数据集 数据有8个特征,一个标签值 自变量因变量yearactual:当天的真实最高温度monthdayweek:星期几temp_1:昨天的最高温度temp_2:前天的最高温度值average:在历史中,每年这一天的平均最高温度friend:朋友猜测的温度 year,month,day,week,temp_2,temp_…

WPF基础知识

WPF布局基础原则 1.一个窗口中只能包含一个元素 2. 不应该显示设置元素尺寸 3. 不应使用坐标设置元素的位置 4.可以嵌套布局容器WPF布局容器 StackPanel:水平或垂直排列元素,Orientation属性分别为:Horizontal/VerticalWrapPanel:水平或垂直排列元素、…

安科瑞能源物联网以能源供应、能源管理、设备管理、能耗分析的能源流向为主线-安科瑞黄安南

摘要:随着科学技术的发展,我国的物联网技术有了很大进展。为了提升电力抄表服务的稳定性,保障电力抄表数据的可靠性,本文提出并实现了基于物联网的智能电力抄表服务平台,结合云计算、大数据等技术,提供电力…

Codeforces Round 888 (Div. 3)(视频讲解全部题目)

[TOC](Codeforces Round 888 (Div. 3)&#xff08;视频讲解全部题目&#xff09;) Codeforces Round 888 (Div. 3)&#xff08;A–G&#xff09;全部题目详解 A Escalator Conversations #include<bits/stdc.h> #define endl \n #define INF 0x3f3f3f3f using namesp…

mars3d绘制区域范围(面+边框)

1、图例&#xff08;绿色面区域白色边框&#xff09; 2、代码 1&#xff09;、绘制区域ts文件 import { mapLayerCollection } from /hooks/cesium-map-init /*** 安全防護目標* param map*/ export const addSafetyProtection async (map) > {const coverDatas await m…

6个ChatGPT4的最佳用途

文章目录 ChatGPT 4’s Current Limitations ChatGPT 4 的当前限制1. Crafting Complex Prompts 制作复杂的提示2. Logic Problems 逻辑问题3. Verifying GPT 3.5 Text 验证 GPT 3.5 文本4. Complex Coding 复杂编码5.Nuanced Text Transformation 细微的文本转换6. Complex Kn…

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错`DateException`

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错DateException 问题背景 在实现登录功能时&#xff0c;我先将用户信息存入Redis中&#xff0c;然后再获取用户信息的时候&#xff0c;又取出来。我存入Redis的用户信息是Hash格式的&#xff0c;所以取出来的时候&#xff…

Ansible的脚本 --- playbook 剧本

文章目录 一、playbook剧本的组成创建剧本运行playbook二、定义、引用变量三、指定远程主机sudo切换用户四、when条件判断五、迭代Templates 模块tags 模块 一、playbook剧本的组成 playbooks 本身由以下各部分组成 &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0…

kubernetes 证书更新

参考&#xff1a; https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/https://kubernetes.io/zh-cn/docs/tasks/tls/certificate-rotation/ 查看证书 查看 kubelet是否支持证书自动轮换&#xff0c;默认轮换的证书位于目录 /var/lib/kubele…

vscode 打开文件时如何在资源管理器中展开文件所在的整个目录树(包含node_modules)

如题。去 首选项 --> 设置 中 搜索 “Auto Reveal”&#xff0c;然后选true&#xff0c;注意把下面的Auto Reveal Exclude排除项中的node_modules去掉&#xff0c;这样才能定位到node_modules中的文件。 **/node_modules

Leetcode刷题---C语言实现初阶数据结构---单链表

1 删除链表中等于给定值 val 的所有节点 删除链表中等于给定值 val 的所有节点 给你一个链表的头节点head和一个整数val&#xff0c;请你删除链表中所有满足Node.valval的节点&#xff0c;并返回新的头节点 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[…

基于 ThinkPHP 5.1(稳定版本) 开发wms 进销存系统源码

基于ThinkPHP 5.1&#xff08;LTS版本&#xff09;开发的WMS进销存系统源码 管理员账号密码&#xff1a;admin 一、项目简介 这个系统是一个基于ThinkPHP框架的WMS进销存系统。 二、实现功能 控制台 – 权限管理&#xff08;用户管理、角色管理、节点管理&#xff09; – 订…

Docker 入门终极指南[详细]

前言 富 Web 时代&#xff0c;应用变得越来越强大&#xff0c;与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可&#xff0c;而容器化则成为中间的必要桥梁。 本节我们就来探索一下 Docker 的神秘世界&#xff0c;从零到一掌握 Docker 的基本原理与实…

忽略nan值,沿指定轴计算标准(偏)差numpy.nanstd()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 沿指定轴方向 计算标准(偏)差 numpy.nanstd() [太阳]选择题 import numpy as np a np.array([[1,2],[np.nan,3]]) print("【显示】a ") print(a) print("【执行】np.std(a)&qu…

链表OJ题目1 (移除链表元素)

力扣&#xff08;链接放这里喽&#xff09; 先贴代码再做讲解&#xff1a; struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head;struct ListNode* tail NULL;while(cur){if(cur->val val){if(cur head){head head->next…

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址&#xff1a; Training language models to follow instructions with human feedbackchatGPT地址&#xff1a;openAI个人整理的PPT&#xff08;可编辑&#xff09;&#xff0c;下载地址&#xff1a;chatGPT学习分享PPT

java排序算法之插入排序

文章目录 &#x1f4cb;插入排序概念&#x1f4d6;实现步骤&#x1f516;代码示例 &#x1f4c8;总结 &#x1f4cb;插入排序概念 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它将数组划分为已排序和未排序两个部分&#xff0c;每次从未排序部分…