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

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

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

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

全部评论

相关推荐

脉脉二面:&nbsp;压力暴大,对你的每个点都刨根问底,问底层,实习组织架构,日常工作划分,使用到的技术的各项底层原理,30分钟实习,八股很少,如下:1.用户从点击到你的web服务经过什么(计网加网关加springmvc全背)2.mysql与redis应用场景3.进程,线程,协程4.分别什么时候用5.只接触过多线程吗?写了道题,字母异位词分组,我以为结束了,结果继续问,输入的strs有1亿个字段,把世界上所有的单词都输进去了,应该是用分治,但是没想出来,说了没思路还在一直追问,总共一小时,昨天晚上面,感觉应该是挂了。美团一面:总共一个小时,完全无八股,畅聊实习与ai,难度不高,面试官对ai的兴趣很高1.function&nbsp;call,mcp,skills的区别2.平常开发用过skills嘛3.对龙虾怎么看4.平常ai&nbsp;coding做的多嘛,怎么做5.会不会用ai排查问题6.说说你对ai的看法吧总体难度不高,但是问的实习也蛮有水平的,面试官很和蔼,一直有在善意的笑,给到夯,最后写了道算法,数组中第k大的数,说了快排跟最小堆,但是不知道快速选择,面试官说是变种,让下去再看一下,业务是crm到餐,介绍业务很细致,也讲了他们组里对于ai的应用,感觉对ai很重视。总体很平和应该能过。最近暑期没怎么开,也没怎么投,原本今天面字节,但是昨天突然给我说没hc了,给我取消面试了,也许上天指引我留在手子吧哈哈哈。百度一面已过,今晚二面!
查看13道真题和解析
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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