第一天业务题

1-1 请说一下你项目中是如何进行项目管理和发布的

        我们项目主要是用到GOGS进行项目代码的管理,jenkins进行项目的部署和编译.

        首先GOGS部署在我们公司的服务器上,可以保证代码的安全,在日常的工作中,首先我会将代码拉取到本地,然后功能开发完毕后PUSH到远端,然后GOGS会向JenKins发送一个post请求,这个请求的具体内容可以在GOGS里设置,请求体会包含Jenkins要调用的微服务的名称,JenKins接收到请求后,会去GOGS里拉去代码,将代码做成镜像,然后将镜像运行成容器,重新执行就可以发布.

1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码

        首先,按F12打开浏览器的开发者模式,发送请求查看请求的地址,如果请求中不存在端口号,那就是默认的Http的80端口,会转发到Ngnix,然后去查看Nginx.conf文件,把请求转发到哪个微服务,转发的过程中会被网关拦截,就去网关的配置文件中找对应的微服务名称,然后到Nacos中找到对应的微服务名称后返回地址,拼接请求,根据请求的方式和请求路径定位出具体的Controller中的方法,在打断点一步步调试,最后发现问题解决问题.

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

        当用户点击登陆按钮时,我们会先去数据库查询此用户是否存在,如果不存在,提示用户注册或者让他直接用手机号验证码进行登录,然后把该用户保存到我们的数据库中,如果用户用账号密码登录,验证用户名和密码是否匹配,如果匹配,返回token,并将token缓存到redis,token作为key,用户信息作为value,并设置一个过期时间,如果用户用手机验证码登录,先调用验证码接口,把验证码缓存到redis,用户提交后,核对用户输入的验证码和redis中的验证码是否一致,若一致,返回token,并将token缓存到redis。当用户登陆成功后,访问程序的其他接口,都会携带token,当用户向服务器发送请求时,拦截器会先拦截请求校验token,如果解析成功,放行请求,解析失败,就会提示用户未登录,以上就是登录和检验的流程。

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

        首先,文章创作者点击发布请求后,先把文章内容保存到数据库,并将文章的状态修改为审核中,然后解析文章内容,分成文本,图片,视频等类型的内容,将文本存到数据库,将图片视频存到MinIO,然后调用第三方的内容审核工具,进行审核,若全部审核通过,会将文章直接发布,并将文章保存到ES,并制作前端静态化页面,如果审核不通过,先获取到不通过的原因,存到数据库并返回给文章创作者,如果需要人工二次审核,会由平台管理员判断是否通过,若不通过,同样返回不通过的原因,以上就是文章发布的流程。

你可能感兴趣的:(业务题,java)