一、面试的问题
1.自我介绍
我是谁,在哪上学,最近做了个什么项目
2.简单介绍项目
a).项目是一个什么类型项目? 应学项目 "社交类 学习类 APP项目" "社交类项目用户可以发布视频观看别人发布视频这样APP项目 类似"
b).项目整体架构:vue+springcloud;前台+后台;整体采用前后端分离架构;主要负责后端开发
c).项目中有哪些微服务功能模块:用户模块 视频模块 等 主要负责什么: 后端管理系统相关接口开发 以及前端app端视频接口的开发和调试
3.详细项目架构
后端架构: maven 聚合形式进行开发 拆分服务: 短信 搜索 用户服务 视频 公共模块(业务工具类) 通信方式: http+restful json 前端架构: 后台管理系统基于vue进行开发的, 前端APP开发 前端人员
接口文档生成工具: YAPI 接口描述工具
4.Spring Cloud版本
SpringCloud: H版本 SR6 SpringBoot: 2.2.5.RELEASE SpringCloud Alibaba: 2.2.1.RELEASE SpringCloud 最新版本多少? 2020版本
5.Spring Cloud常见组件
服务注册中心 & 统一配置中心: nacos 服务间通信组件 : Openfeign 底层默认集成Ribbon组件 实现负载均衡 2.RestTemplate(Spring)+ribbon(负载均衡客户端组件) 服务网关组件 : gateway 服务熔断 限流 : sentinel 流量防卫兵
6.项目的亮点
a).使用redis完成整个系统 喜欢 不喜欢 浏览数 点赞数 存储登录信息? 1.redis存储 2.set结构 3.二次组织 hash 结构
b).视频的存储使用的是阿里云oss存储服务,并且使用了其提供的截取视频中的某一帧作为截图。前台app使用的是阿里云的验证码服务发送的信息。
c).还可以讲讲项目的部署,部署到华为云,过程中需要开放端口。
d).网关过滤中增加权限验证(待学习),现阶段是使用在每次请求都判断一下是否登录了,登录更新redis中token的过期时间,否则就抛异常。
e).新增了一个注解:@RequiredToken
7.做项目过程中遇到了哪些问题
a).redisTemplate的序列化问题,默认的key和value都是按照对象序列化的,如果key需要存储字符串类型的话,会出现乱码,需要设置序列化方式。
redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setHashKeySerializer(stringKeySerializer);
b).cookie、session、token的技术选型问题。
标签:视频,存储,架构,项目,在线视频,笔记,组件,服务 From: https://www.cnblogs.com/worthmove/p/17023328.html