当前位置: 首页 > article >正文

黑马Java面试教程_P11_技术场景

系列博客目录


文章目录

  • 系列博客目录
  • 前言
  • 1.单点登录这块怎么实现/SSO怎么实现的?
    • 面试文稿中回答要点
  • 2.权限认证是如何实现的
    • 面试文稿中回答要点
  • 3.上传数据的安全性你们怎么控制?
    • 面试文稿中回答要点
  • 4.你负责项目的时候遇到了哪些比较棘手的问题?怎么解决的
    • 面试文稿中回答要点
  • 5.你们项目中日志怎么采集的?
    • 面试文稿中回答要点
  • 6.查看日志的命令
    • 面试文稿中回答要点
  • 7.生产问题怎么排查
    • 面试文稿中回答要点
  • 8.怎么快速定位系统的瓶颈
    • 面试文稿中回答要点


前言

下面9个问题都是比较通用的,不管你做过什么项目,都会包含下面的技术场景。我们针对的是如何回答这些面试问题,只告诉回答问题的核心要点,和回答问题的思路,并不会再实现一边,如果要深入学习这些内容,要自己系统学习。
在这里插入图片描述

1.单点登录这块怎么实现/SSO怎么实现的?

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

单点登录解决方案如下:

  • JWT(常见)(针对前后端分离的项目,所以比较常见)
  • Oauth2
  • CAS

下面讲解一下,JWT解决单点登录,下面是四个微服务。
在这里插入图片描述
在这里插入图片描述

面试文稿中回答要点

  1. 先解释什么是单点登录
    单点登录的英文名叫做:Single SignOn(简称SSO)
  2. 介绍自己项目中涉及到的单点登录(即使没涉及过,也可以说实现的思路)
  3. 介绍单点登录的解决方案,以JWT为例
    • 用户访问其他系统,会在网关判断token是否有效
    • 如果token无效则会返回401(认证失败)前端跳转到登录页面
    • 用户发送登录请求,登陆成功后返回给浏览器一个token,浏览器把token保存到cookie
    • 再去访问其他服务的时候,都需要携带token,由网关统一验证后路由到目标服务

2.权限认证是如何实现的

后台的管理系统,更注重权限控制,最常见的就是RBAC模型来指导实现权限。RBAC(Role-Based Access Control)基于角色的访问控制。
在这里插入图片描述
例子:下图中,下面两个是中间表。
在这里插入图片描述
张三具有什么权限呢?流程:张三登录系统—>查询张三拥有的角色列表—>再根据角色查询拥有的权限
权限框架:Apache shiro 、Spring security(推荐)

面试文稿中回答要点

  • 后台管理系统的开发经验
  • 介绍RBAC权限模型5张表的关系(用户、角色、权限)
  • 权限框架:Spring security

3.上传数据的安全性你们怎么控制?

强调的是网络上传输数据如何保证安全性

在这里插入图片描述
解决方案:使用非对称加密(或对称加密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据。

面试文稿中回答要点

使用非对称加密(或对称加密),给前端一个公钥让他把数据加密后传到后台,后台负责解密后处理数据。

  • 文件很大建议使用对称加密,不过不能保存敏感信息(密钥容易泄露)
  • 文件较小,要求安全性高,建议采用非对称加密(加解密速度慢,但是比对称加密安全)

4.你负责项目的时候遇到了哪些比较棘手的问题?怎么解决的

考察你是否有过开发经验,是不是核心开发人员。
下面提供四个方向,找一个好好准备即可。
在这里插入图片描述

面试文稿中回答要点

  1. 什么背景(技术问题)
  2. 过程(解决问题的过程)
  3. 最终落地方案

5.你们项目中日志怎么采集的?

  1. 为什么要采集日志?
    日志是定位系统问题的重要手段,可以根据日志信息快速定位系统中的问题。
  2. 采集日志的方式有哪些?
    ELK:即Elasticsearch、Logstash和Kibana三个软件的首字母。
    常规采集:按天保存到一个日志文件。
    一般使用ELK进行常规采集。

在这里插入图片描述

面试文稿中回答要点

我们搭建了ELK日志采集系统

介绍ELK的三个组件:

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

6.查看日志的命令

考察你是否在线调试过项目。
在这里插入图片描述

面试文稿中回答要点

上面图中的前几个比较重要。

7.生产问题怎么排查

已经上线的bug排查的思路:

  1. 先分析日志,通常在业务中都会有日志的记录,或者查看系统日志,或者查看日志文件,然后定位问题。
  2. 远程debug。(通常公司的正式环境(生产环境)是不允许远程debug的。一般远程debug都是公司的测试环
    境,方便调试代码)

远程Debug
前提条件:远程的代码和本地的代码要保持一致

  1. 远程代码需要配置启动参数,把项目打包放到服务器后启动项目的参数:
    java -jar -agentlib:jdwp=transport=dt socket,server=y,suspend=n,address=5005 project-1.0-SNAPSHOT.jar
  2. idea中设置远程debug,找到idea中的 Edit Configurations…

在这里插入图片描述

  1. idea中启动远程Debug
    在这里插入图片描述
    在远程服务器上出错的代码会被自动定位到本地代码上。

面试文稿中回答要点

已经上线的bug排查的思路有两种:

  • 第一种先分析日志,通常在业务中都会有日志的记录,或者查看系统日志,或者查看日志文件,然后定位问题

  • 第二种方案就是远程Debug,说一下远程debug的大体思路。

8.怎么快速定位系统的瓶颈

考察你是否有过线上调试系统的经验。一般压测是必须要做的。

  • 压测(性能测试),项目上线之前测评系统的压力
  • 监控工具、链路追踪工具,项目上线之后监控
  • 线上诊断工具Arthas(阿尔萨斯),项目上线之后监控、排查

具体内容如下:只有压测上线前的工作

  1. 压测(性能测试)

    • 压测目的:(项目上线前)给出系统当前的性能状况;定位系统性能瓶颈或潜在性能瓶颈
    • 指标:响应时间、 QPS、并发数、吞吐量、CPU利用率、内存使用率、磁盘10、错误率
    • 压测工具:LoadRunner、Apache Jmeter …
    • 后端工程师:根据压测的结果进行解决或调优(接口慢那就调接口呗、代码报错那就调代码呗、并发达不到要求.)
  2. 监控工具、链路追踪工具

    • 监控工具:Prometheus+Grafana
    • 链路追踪工具:skywalking、zipkin
  3. 线上诊断工具Arthas(阿尔萨斯)

    • 官网:https://arthas.aliyun.com/
    • 核心功能:

在这里插入图片描述
在这里插入图片描述
横向表示时间越长,所以越容易出现瓶颈。高度是栈的长度。

面试文稿中回答要点

上线前用压测,上线后可以用阿尔萨斯,比如可以通过火焰图来快速定位应用热点。


http://www.kler.cn/a/467567.html

相关文章:

  • 极客说|微软 Phi 系列小模型和多模态小模型
  • 《Opencv》基础操作详解(5)
  • Java 关键字【synchronized】
  • 外网访问本地部署的 VMware ESXi 服务
  • 如何恢复已删除的 Telegram 消息 [iOSamp;Android]
  • 声音是如何产生的
  • NAT网络技术
  • 基于Node.js + Koa2 + MySQL + TypeScript的应用示例
  • 现代光学基础-3
  • 第十四届蓝桥杯Scratch省赛中级组—智能计价器
  • Linux下shell命令之netstat详解及示例
  • 第六十四章 假脱机设备 - 使用 %SPOOL 打印
  • 深度解析与实践:HTTP 协议
  • 25/1/14 算法笔记<强化学习> 生成对抗模仿学习
  • Navicat 17 for Mac 数据库管理软件
  • JS (node) 的 ACM 模式 + debug方法 (01背包为例)
  • Centos7无法使用 yum命令 报错 Cannot find a valid baseurl for repo: base/7/x86_64
  • halcon三维点云数据处理(六)find_box_3d
  • 无刷直流电机(BLDC)六步换向法
  • ARM 汇编基础总结
  • 语义搜索、语义数据搜索
  • 折叠手机市场出现崩塌迹象,三星做了努力,将推低价折叠手机
  • GO语言学习(一:背景与代码初始)
  • Nginx:SSL/TLS 配置
  • HTML5 动画效果:淡入淡出(Fade In/Out)详解
  • AI 热潮背后的沉重:解读 DeepMind 天才科学家 Felix Hill 的心声