四川宏美富元科技(0-20,已发offer)
1.什么是方法重载和方法重写?
答案:
- 方法重载:在同一个类中,允许存在多个同名方法,只要它们的参数列表不同即可。编译器根据你调用时传递的参数个数、类型、顺序,来决定调用哪个方法。与返回类型、访问修饰符无关。仅仅返回类型不同,但形参列表相同,这不叫重载,执行时编译器会报错。
- 方法重写:在子类中,重新定义从父类继承来的方法,以提供自己特有的实现。方法签名(方法名+参数列表)必须与父类完全一致。是实现运行时多态的基础,例如父类引用指向子类对象时,调用的是子类重写后的方法。可以使用
@Override注解来显式标记,编译器会帮你检查是否正确重写。
2.讲解一下SpringMVC?
答案:SpringMVC是Spring框架中的一个Web模块,基于前端控制器模式。核心是DispatcherServlet,它接管所有请求,通过处理器映射找到对应的Controller,再由处理器适配器调用业务方法,返回ModelAndView后,视图解析器渲染响应。它把请求、数据、视图分离,配置灵活,与Spring IoC无缝集成。
3.智能协同云图库后端权限管理是怎么架构的?
答案:该系统采用 RBAC 权限控制模型进行架构,该模型包括三个核心概念:用户、角色和权限,一个用户可以有多个角色,一个角色可以有多个权限。一般来说标准的 RBAC 实现需要五张表:用户表、角色表、权限表、用户角色关联表、角色权限关联表,但是该系统中不需要很多角色,故而可以简化 RBAC 的实现方式、将角色和权限直接定义到 JSON 配置文件中,在项目启动时读取配置文件到 Java 对象中,然后基于 Sa-token 权限框架实现具体的校验逻辑。
4.一个角色对应多个权限,有哪些权限?
答案:图片编辑权限、图片浏览权限、图片管理权限、用户管理权限、空间管理权限、空间浏览权限和空间编辑权限
5.智能协同云图库的数据库是怎么设计的?
答案:用户表、空间表、图片表、空间角色表
6.前后端跨域问题,你怎么处理的?
答案:出现跨域问题是因为前后端的IP地址或者端口号不是同一个,导致服务器认为这是不安全的操作,进而不允许这种跨域行为。前端的话是在 nginx 服务器的配置文件中配置代理服务器,将前端发送的请求代理成后端服务器的IP地址和端口号,后端的话是在配置文件中允许前端的IP地址和请求类型或者在控制层添加对应的注解
此文章版权归霜屿清所有,如有转载,请注明来自原作者
