面试 Java 基础八股文五问五答第六期

面试 Java 基础八股文五问五答第六期

作者:程序员小白条

相信看了本文后,对你的面试是有一定帮助的!

⭐点赞⭐收藏⭐不迷路!⭐

1)什么是跨域?

跨域问题是指在浏览器中,由于同源策略的限制,不同域名、不同端口或不同协议之间的页面无法直接进行数据交互。换句话说,当一个页面的脚本试图访问另一个域的资源时,就会出现跨域问题。

2)跨域问题怎么解决?

1)JSONP(JSON with Padding):利用<script>标签的src属性不受同源策略限制的特性,通过动态创建<script>标签,将要获取的数据作为参数传递给服务器,服务器将数据包装在回调函数中返回给客户端。

2)CORS(Cross-Origin Resource Sharing):通过在服务器端设置响应头,允许指定的域名访问资源。服务器可以在响应头中添加Access-Control-Allow-Origin字段,指定允许访问的域名。

3)代理服务器:在同源策略下,服务器端没有跨域限制,可以通过在服务器端设置代理,将客户端的请求转发到目标域名上,然后将响应返回给客户端。

3)设计接口要注意什么?

1)接口的设计要符合RESTful风格,合理命名和划分资源,使用HTTP动词表示对资源的操作。

2)接口的参数要合理设计,遵循最小化原则,只传递必要的参数,避免冗余和不必要的数据传输。

3)接口的返回结果要统一规范,使用合适的HTTP状态码表示请求的结果,返回的数据格式要统一,建议使用JSON格式。

4)过滤器和拦截器的区别?

过滤器和拦截器是Web开发中常用的两种组件,它们的作用是在请求到达控制器之前或之后进行处理。

过滤器是在Servlet容器中定义的组件,可以对请求进行预处理和后处理。过滤器可以对请求进行拦截,修改请求或响应的内容,以实现一些通用的功能,如身份验证、日志记录、编码转换等。

拦截器是在Spring框架中定义的组件,它基于AOP(面向切面编程)的思想,可以对请求进行拦截和处理。拦截器可以更加灵活地定义拦截的范围和逻辑,并可以通过注解、注入等方式方便地与其他组件进行集成。

5)对接第三方接口要考虑什么?

1)了解第三方接口的文档和要求,包括接口的URL、请求方法、参数、返回结果等。

2)根据第三方接口的要求,进行接口的鉴权和认证,包括生成签名、获取访问令牌等。

3)处理第三方接口的异常情况,如网络超时、请求失败等,需要进行适当的重试和错误处理。

4)对第三方接口的请求和响应进行合理的日志记录,方便排查问题和追踪数据。

5)考虑第三方接口的并发性和性能,合理设置超时时间和连接池等参数,避免请求阻塞和资源浪费。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/586848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源】基于Vue+SpringBoot的二手车交易系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 二手车档案管理模块2.3 车辆预约管理模块2.4 车辆预定管理模块2.5 车辆留言板管理模块2.6 车辆资讯管理模块 三、系统设计3.1 E-R图设计3.2 可行性分析3.2.1 技术可行性分析3.2.2 操作可行性3.2.3 经济…

结构体:子网掩码

#include<iostream> using namespace std; union IP //创建共用体 {unsigned char a[4];unsigned int ip; }; IP getIP() //获取ip函数 {int a, b, c, d;scanf_s("%d.%d.%d.%d", &a, &b, &c, &d);IP address;address.a[3] a; address.a[2] …

Linux lpq命令教程:如何有效地查看打印队列状态(附实例教程和注意事项)

Linux lpq命令介绍 lpq命令是Linux系统中的内置命令&#xff0c;用于列出所有可用打印机的状态。如果在命令行上没有指定打印机或类&#xff0c;则会显示默认目标上排队的作业。interval选项允许你在队列为空之前连续报告队列中的作业&#xff1b;每隔interval秒显示一次作业列…

阿里后端实习二面

阿里后端实习二面 记录面试题目&#xff0c;希望可以帮助到大家 类加载的流程&#xff1f; 类加载分为三个部分&#xff1a;加载、连接、初始化 加载 类的加载主要的职责为将.class文件的二进制字节流读入内存(JDK1.7及之前为JVM内存&#xff0c;JDK1.8及之后为本地内存)&…

计算机网络【EPOLL 源码详解】

IO多路复用 在以前&#xff0c;传统的网络编程是多线程模型&#xff0c;一个线程单独处理一个请求。 然而&#xff0c;线程是很昂贵的资源&#xff1a; 线程的创建和销毁成本很高&#xff0c;linux的线程实际上是特殊的进程&#xff1b;因此通常会使用线程池来减少线程创建和…

5. 数据结构

5. 数据结构 本章详细讨论了你已经学过的一些知识&#xff0c;同样也添加了一些新内容。 5.1. 关于列表更多的内容 Python 的列表数据类型包含更多的方法。这里是所有的列表对象方法&#xff1a; list.append(x) 把一个元素添加到链表的结尾&#xff0c;相当于 a[len(a):]…

已加入git本地版本库的文件如何移除

针对已经加入本地版本库的文件&#xff08;文件颜色为绿色&#xff09;&#xff0c;gitignore是无法进线忽略的&#xff0c;需要先清理git缓存&#xff0c;释放已经加入版本控制的文件&#xff0c;方法如下&#xff1a; 进入文件所在目录&#xff0c;选择文件&#xff0c;右键…

迷宫问题的对比实验研究(代码注释详细、迷宫及路径可视化)

题目描述 对不同的迷宫进行算法问题&#xff0c;广度优先、深度优先、以及人工智能上介绍的一些算法&#xff1a;例如A*算法&#xff0c;蚁群算法等。 基本要求&#xff1a; &#xff08;1&#xff09;从文件读入9*9的迷宫&#xff0c;设置入口和出口&#xff0c;分别采用以上方…

关于WPF MVVM 的详细使用过程以及注意的问题

WPF MVVM 是一种常用的设计模式&#xff0c;在 WPF 应用程序中使用它可以更好地分离界面逻辑和业务逻辑&#xff0c;并且更容易进行单元测试和重构。下面是深入理解 WPF MVVM 的详细使用过程以及注意的问题。 一、MVVM 的基本概念 MVVM 是 Model-View-ViewModel 的缩写&#…

springboot(ssm校园组团平台 高校组团系统 Java系统

springboot(ssm校园组团平台 高校组团系统 Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; 数据库…

2023年终总结

前言&#xff1a; 嘻嘻&#xff0c;12月底广州降温了又到了写年终总结的时间&#xff0c;这也是我第二年写年终总结。今年的年终总结主要记录了我大三下学期和大四上学期这两个时间段的学习和收获&#xff0c;也是我尝试走出校园&#xff0c;接触社会的第一年&#xff08;感触…

MybatisPlus之常用插件的使用

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 MybatisPlus之常用插件的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、插件概…

SpringAMQP的使用方式

MQ介绍 MQ&#xff0c;中文是消息队列&#xff08;MessageQueue&#xff09;&#xff0c;字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。 比较常见的MQ实现&#xff1a; ActiveMQ RabbitMQ RocketMQ Kafka 几种常见MQ的对比&#xff1a; RabbitMQActiveM…

unity随笔- 2D动画制作animation

1.前提&#xff1a;将连续的动作图片制为图集。 2.在Hierarchy中选中含图集的sprites对象。 3.打开animator组件&#xff0c;点击create创建动画组件 4.添加property选择sprite 5.选择图集需要的部分加入animation。&#xff08;animation使用见animator&#xff09;

OSG绘制视锥体(升级版)

OSG绘制视锥体&#xff0c;这一篇增加设置相机参数接口&#xff0c;支持通过eye、center、up设置相机参数。 代码如下&#xff1a; #include "stdafx.h" #include <osgViewer/Viewer> #include <osg/ShapeDrawable> #include <osg/Geode> #includ…

产品经理学习-怎么写PRD文档

目录 瀑布流方法论介绍 产品需求文档&#xff08;PRD&#xff09;介绍 产品需求文档的基本要素 撰写产品需求文档 优先产品需求文档的特点 其他相关文档 瀑布流方法论介绍 瀑布流模型是一种项目的开发和管理的方法论&#xff0c;是敏捷的开发管理方式相对应的另一种方法…

JVM工作原理与实战(二):字节码编辑器jclasslib

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、字节码编辑器jclasslib介绍和安装 1.介绍 2.安装 3.IntelliJ IDEA 插件安装 二、字节码编辑器jclasslib的使用 1.使用jclasslib bytecode viewer打开字节码文件 2.使用Intell…

Python+OpenGL绘制3D模型(九)完善插件功能: 矩阵,材质,法线

系列文章 一、逆向工程 Sketchup 逆向工程&#xff08;一&#xff09;破解.skp文件数据结构 Sketchup 逆向工程&#xff08;二&#xff09;分析三维模型数据结构 Sketchup 逆向工程&#xff08;三&#xff09;软件逆向工程从何处入手 Sketchup 逆向工程&#xff08;四&#xf…

7.java——Obiect内部类 equals方法和toString方法

1.所有的java类都必须继承于object类 object中没有声明任何属性 object类提供一个空参的构造器 object类中声明的方法 面试题&#xff1a;final &#xff0c;finally&#xff0c;finalize区别 在Java中&#xff0c;final、finally和finalize是三个不同的概念。 1.final是一个…

自动驾驶学习笔记(二十三)——车辆控制模型

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo开放平台9.0专项技术公开课》免费报名—>传送门 文章目录 前言 运动学模型 动力学模型 总结…