面试题06

Posted SmallCuteMonkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题06相关的知识,希望对你有一定的参考价值。

1.数组怎么初始化的?

静态初始化:

  1. 直接赋值进行相关的初始化,数组元素有多少,就有多长。
    String[] str1={‘name’,‘hou’,‘zhi’};
    动态初始化:
  2. 通过进行数组的长度的固定
    String[] str2=new String[6];

2.方法重载和重写的区别?

重载:

  1. 方法名称 必须相同
  2. 仅仅返回类型不同不可以构成重载
  3. 参数类型,参数个数,参数的排列顺序不同
  4. 方法的重载发生在编译时;根据参数类型的个数进行识别是否重载。

重写
5. 发生在父类和子类当中
6. 参数类型和参数个数,返回值也需要一样
7. 子类方法的访问权限不可以低于父类方法的访问权限

3.类中的初始化的先后顺序?

静态属性初始化---》静态方法初始化
-----》普通属性初始化-----》普通方法初始化。

4. SpringBoot中的properties文件和yml文件的优先级?

properties>yml文件,会先执行properties文件

5.SpringBoot中的@SpringBootApplication注解怎么看待的?(SpringBoot的约定大于配置)

它是一个复合的注解:
包括**@ComponentScan @SpringApplication @EnableConfiguration**

6.SpringBoot用的json转换的工具是?

fastjson jackson都可以用来处理json转换,从速度上面来看JackSon处理果json数据的速度会更快一些,但是fastJson会比jackson数据容易上手一些。

7.SpringBoot中的获取前端的值的方法?

  1. 直接从url进行?追加参数获取
  2. HttpServletRequest进行相关的获取
  3. 直接和前端的参数name一致可以获取,比如(String username,String password)
  4. Bean获取就是直接通过一个对象(User user)获取
  5. @RequestParam进行获取
  6. @PathVariable进行相关的获取(适用于Get请求)
  7. @ModelAttribute(“user” User user)获取
  8. @RequestBody绑定请求方法到参数进行获取

8.什么是缓存穿透?

缓存查询一个没有的 key,同时数据库也没有,如果黑客大量的使用这种方式,那么就会导致 DB 宕机。

我们可以使用一个默认值来防止,在缓存里放一个占位符,下次来的时候,检查这个占位符,如果发生时占位符,就不去数据库查询了,防止 DB 宕机。

以上是关于面试题06的主要内容,如果未能解决你的问题,请参考以下文章

Java进阶之光!2021必看-Java高级面试题总结

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

Leetcode程序员面试金典面试题04.06.后继者

程序员面试金典面试题 02.06. 回文链表

06.线程面试题-02

面试题 01.06. 字符串压缩