【面试问题-前后端】

实习经历,项目难点?
会用到多线程或者多进程么?如果线程池线程全部用过了,怎么发现?怎么去定位?
调整参数以后又使用光了,怎么办?怎么解决?
Java有什么工具可以看到线程卡在哪个地方?具体怎么看?怎么样才能生存dump文件?
怎么限制一个java程序使用内存的大小?
项目是在什么操作系统上面开发的?(Linux,mac,Windows)
你对Linux熟悉么?
你大学课程什么学的比较好?
Java类加载的过程?
Java程序已经部署起来的,用户抱怨性能太差了?你会怎么定位这个问题?
用什么工具检查Cpu占用高?
在Linux下使用什么指令可以把一个进程所有的线程Cpu利用率展现出来?
不是Cpu瓶颈,还有什么问题有可能会导致性能查?(频繁GC,磁盘IO,网络IO)
使用什么命令去查看并且解决?
有没听说过docker和k8s? 你认为docker是什么东西?Docker实现原理?
你对什么领域比较感兴趣?
你有没听说过内存池?如果有实现一个内存池?(没有听说过)
自己实现一个栈?

### Spring Boot 中前后端分离跨域问题的解决方案及其原理 #### 一、Spring Boot 的跨域支持机制 在 Spring Boot 应用中,可以通过配置来解决跨域资源共享(CORS, Cross-Origin Resource Sharing)的问题。具体来说,有两种主要方式可以实现这一目标[^1]。 一种方法是在控制器类或者特定的方法上使用 `@CrossOrigin` 注解。这种方式适合于细粒度控制某些接口的跨域行为。例如: ```java @RestController @RequestMapping("/api") public class MyController { @CrossOrigin(origins = "http://example.com") // 允许来自 example.com 的请求 @GetMapping("/data") public String getData() { return "Data from backend"; } } ``` 另一种更全局化的方式是通过定义一个 Web 配置类并扩展 `WebMvcConfigurer` 接口。这种方法适用于整个应用程序级别的跨域设置。以下是示例代码: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") // 对所有的路径生效 .allowedOrigins("http://example.com", "http://anotherdomain.com") // 允许的域名 .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的 HTTP 方法 .allowedHeaders("*"); // 允许的头部字段 } } ``` 这两种方式都可以有效解决跨域问题,并且可以根据实际需求灵活选择适用范围更大的全局配置还是针对单个 API 的局部配置。 #### 二、跨域问题产生的原因及工作原理 当浏览器尝试向不同于当前页面所在域发起 AJAX 请求时,默认情况下会受到同源策略 (Same-Origin Policy) 的限制。为了绕过这种限制,现代浏览器引入了 CORS 协议作为标准解决方案之一。服务器端需要显式声明哪些外部站点被授权能够访问其资源;而客户端则依据接收到的服务端响应头判断是否继续执行后续操作[^3]。 对于基于 Spring Cloud 构建的企业级微服务架构而言,除了基本功能外还可能涉及更多复杂场景下的安全性考量以及性能优化等问题[^2]。因此,在设计初期就应该充分考虑到这些因素以便更好地满足业务需求的同时保障系统的稳定性和可靠性。 #### 三、面试常见关注点分析 关于 Spring Boot 实现前后端分离过程中遇到的跨域难题及相关知识点,在参加技术岗位招聘考试时常会被问到以下几个方面: - **核心概念理解**:清楚什么是同源策略?为什么会出现跨域现象? - **常用解决办法对比**:分别阐述注解形式与全局配置各自的优劣势是什么? - **实践中的注意事项**:比如生产环境中如何平衡开放程度和数据保护之间的关系? 综上所述,掌握好上述理论基础加上适当的实际案例演练可以帮助求职者更加从容应对此类题目挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值