Java面试题day01

1-1 请说一下你项目中是如何进行项目管理和发布的
我们的项目中用到了gogs和jenkins来进行项目的管理和发布
1. 当我们编写完成代码时,首先进行push分支合并,合并完成后进行commit,然后代码进入了gogs
2. 当代码进入gogs后会调用钩子函数的方法自动通知jenkins也就是我们的持续集成工具
3. jenkins会自动拉取gogs里面的代码然后进行容器化:将每个微服务打包成容器(如Docker镜像),以便在不同环境中进行部署和运行。

1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码
1. 我们可以通过打开浏览器的开发者工具来找到请求接口看看url发往什么地方,否则就只能通过前端入口
2. 根据浏览器传过来的url理清请求链路,跟随链路找到对应的微服务,再根据请求找出出错的代码区
3. 我们可以通过注释来观察代码,然后通过debug打断点的方式,展开来阅读细节寻找问题所在


1-3 你得项目中进行用户的登录和检验的详细流程是怎样的

我们的项目分为前端用户登录和后端登录,前端登录一般是我们的客户登录,我们会对接微信,QQ,支付宝等第三方的服务登录,拿微信登录举例来说:
1. 微信登录的核心是通过微信小程序提供的临时凭证code换取永久凭证openid的过程
首先微信小程序会向微信官方申请一个临时登录code
然后,小程序带着code向后台服务发送请求
后台接收到code后,会调用微信官方接口验证code是否合法,如果合法,官方会返回一个openid;这个openid就是此用户在我们系统中的唯一标识,同时也代表用户身份合法
后台服务接收到来着微信的openid之后,会去数据库查询一下是否存在此账户;如果存在,代表这是一个老用户,如果不存在,则代表这是一个新用户首次使用我们的系统,我们需要将其信息保存到用户表中
登录成功之后,需要生成一个标识用户身份的token,返回给前端,前端会将token保存起来
用户后面访问系统的时候,需要携带着这个token,而我们后端需要编写一个拦截器,用于拦截请求,校验token
校验通过,则放行请求,正常访问;校验失败,则禁止通行,返回提示。
2. 我们的后端登录:登录的本质就是对员工表进行查询操作
首先要接收前端发送的账号和密码
然后根据账号在数据库员工表进行查询,如果没有查到,说明此账号不存在,可以直接给前端返回一个提示,如果查询到了说明这个账号存在
接下来就要进行前端传入密码和数据库查询到的密码比对,由于数据库的密码是加密保存的,所以在比对之前,还需要对前端传入的秘密进行加密;如果比对失败,说明用户提供的密码不对,可以直接给前端返回一个提示;如果比对没有问题,说明用户提供的账户和密码是正确的,此时登录成功
登录成功之后,需要生成一个标识用户身份的token,返回给前端,前端会将token保存起来
用户后面访问系统的时候,需要携带着这个token,而我们后端需要编写一个拦截器,用于拦截请求,校验token
校验通过,则放行请求,正常访问;校验失败,则禁止通行,返回提示。

1-4 说一下文章发布的流程

文章的发布主要是针对于用户对其所写的文章发表到网路大众可以即使阅读文章发布首先是涉及对数据库的新增或修改操作,也就是用户新创作或者是对原作品文章进行修改,我们可以根据根据用户是新增还是修改来采取对应的操作
1.用户新增时我们把对应的图片和视频保存到minio中,修改时先删除minio中原先的内容再对其进行添加,其他信息保存到MySQL数据库中.
2.用户填写好对应信息后,我们引入了阿里云的内容安全接口,使用到了图片和视频以及文本的审核的功能,这里的审核分为AI审核和人工审核,一般都是先有AI进行审核,对于AI无法审核通过的再由人工进行审核。如果最后都没什么问题则文章可以正常发布

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值