面试 Java 基础八股文第五期

面试 Java 基础八股文第五期

作者:程序员小白条,编程日记

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

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

1)常见的 Exception 有哪些?

常见的 Exception 包括:

NullPointerException:当引用类型变量为 null 时,调用其方法或访问其属性会抛出该异常。 ArrayIndexOutOfBoundsException:当访问数组越界时抛出该异常。 ClassCastException:当尝试将一个对象强制转换为不兼容的类型时抛出该异常。 ArithmeticException:当发生数学运算异常,如除以零时抛出该异常。 IOException:当发生输入输出异常时抛出该异常。 FileNotFoundException:当尝试访问不存在的文件时抛出该异常。

2)Error 和 Exception 的区别?

Error 和 Exception 都是 Java 中的异常类,但它们有以下区别:

Error 是指由于 JVM 内部错误或系统错误导致的异常,一般无法通过代码处理,比如 OutOfMemoryError、StackOverflowError,它们表示程序无法继续执行。 Exception 是指由于程序错误或异常情况导致的异常,可以通过代码进行处理,比如 NullPointerException、ArrayIndexOutOfBoundsException。

3)运行时异常和非运行时异常介绍一下

运行时异常(RuntimeException):是指在程序运行期间可能出现的异常,不需要显式地捕获或声明,编译器不会强制要求进行处理。常见的运行时异常包括 NullPointerException、ArrayIndexOutOfBoundsException、ArithmeticException。 非运行时异常(非RuntimeException):是指在程序运行期间可能出现的异常,必须显式地捕获或声明,编译器会强制要求进行处理。常见的非运行时异常包括 IOException、ClassNotFoundException、SQLException。

4)throw 和 throws 的区别?

throw 关键字用于抛出一个异常对象,可以在方法内部使用。 throws 关键字用于声明一个方法可能抛出的异常,用于告知调用者需要处理该异常,可以在方法声明处使用。

5)守护线程是什么?

守护线程(Daemon Thread)是一种在后台运行的线程,它的任务是为其他线程提供服务。当所有的非守护线程结束时,守护线程会自动结束。守护线程通常用于执行一些后台任务,如垃圾回收、自动保存等。可以通过设置线程的 setDaemon(true) 方法将线程设置为守护线程。

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

学习路线规划、简历辅导、求职指南请私信,感谢对八股文传道之路的持续支持!

#春招##八股文#
八股传道之路 文章被收录于专栏

八股传道之路,定期发发文章,免费!

全部评论

相关推荐

03-11 20:19
已编辑
门头沟学院 Java
太压力了,面了2个多小时,本菜比已经被拷打的瑟瑟发抖面完两个小时后通知过了1.算法题三道(1)leetcode124&nbsp;二叉树中最大路径和hard题&nbsp;因为不久前才刷过撕出来了,又来了一道(2)leetcode&nbsp;300&nbsp;最长递增子序列变种除了递增之外还加了一个权重因素,但是思路没变,dp就行(3)寻找词汇库里符合固定长度前缀的匹配单词应该是他们自己题库的题。给了一串单词列表,然后又给了一个单词,一个下标,根据这个下标的前缀去单词列表里面找到所有匹配的单词再返回思路是创建一个单词前缀树,然后根据树找,但是可能是构件树数有问题没撕出来2.全方位项目拷打基本没有问八股,全部都是项目企业场景题,哎哟我操,完全不会。我就纯八股战士,结果没想到一道八股都没问反正尽可能把企业场景往八股上引吧。。1.&nbsp;微服务多点部署其中一个宕机了怎么办2.&nbsp;要是mq占据大量CPU该怎么排查?MySQL占据大量CPU该怎么排查?3.&nbsp;假如说让你实现视频点赞功能,你打算怎么设计?讲讲思路(我知道多级缓存,但是碰巧没背……寄)4.&nbsp;Redis延迟双删是什么,分布式锁,哨兵模式5.&nbsp;MySQL到es同步的延迟该怎么优化6.&nbsp;Rabbit&nbsp;mq的队列是怎么实现的?(这个完全没整明白,可能是队列的底层结构?&nbsp;反正我硬扯的讲了一下rabbit&nbsp;mq的架构)还扯了很多,但是往后完全就慌了),记住的是这些
不知道怎么取名字_:2小时确实有压力,持续性的脑力劳动啊
查看9道真题和解析
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务