单例模式

  1. 静态方法是不是只能是public的?
  2. 懒汉式多线程不安全问题———->二次判空、还有一个什么首次二次(首次同时)???一个比较专业的术语
  3. 在java中,双重锁定检查是有bug的?什么bug?
  4. final修饰时,加static与不加static修饰的区别?
  5. enum类型中可以有别的业务变量吗
  6. enum本身就是public static final的?
  7. 最后说的:没事谁反序列化你的对象然后再弄成单例啊—->别人搞破坏,不在考虑范围内
  8. 重写readResource方法可以防止反序列化?
  9. 枚举单例有因为是类加载而不是懒加载的问题吗?不是吗

策略模式

  1. 接口中的default方法?写lambda表达式—->为了与以前的接口兼容,1.8以后可以有方法实现了。1.8以后接口中必须有方法实现,因为要支持lambda表达式???所以主要看接口中的abstarct方法,实现接口必须要实现的方法
  2. 排序(基数、冒泡、选择……)一共10种
  3. java中-1、0、1不能表示boolean类型所表示的含义
  4. idea的快捷键ctrl+o;alt+enter;alt+insert哪个是生成set、get的,哪个是重写基类方法的
  5. 使用泛型时,假如没有具体指定是哪个类型,则默认是Object类型!!!所以最好具体指定类型来使用
  6. 没有泛型数组,只有泛型引用???(同学说的)
  7. 泛型不能用在static方法中吗??
  8. 实现接口和继承父类的强制类型转换是不是一样的?
  9. 比较器中,返回正负和0与对象比较的顺序及大于号小于号之间的具体关系是什么?(这里面还要看排序算法的比较时的交换规则)
  10. 为什么1.8要加default方法?深一点的内容,必须向前兼容;用了lambda表达式之后再接口中加了很多方法,要实现所有的方法时,就都要改太麻烦了;在实现接口时,不实现default方法是可以的,只要实现abstarct方法即可
  11. 参数和成员变量哪个好?不一定,参数需要new,成员变量不用每次new
  12. 一般情况下,在没有必要的情况下,不会往类的属性中添加东西,加的越多越复杂。一般来讲能用传参数就用传参数,传参数要避免new,可以使用单例模式代替

工厂模式

  1. maven怎么解决依赖冲突的(就近原则、向下兼容)?
  2. gradle怎么用的?

调停者模式与门面模式

  1. 调停者模式的最佳实践是消息中间件mq,那注册中心是他的应用吗(zookeeper观察者模式、eureka……)

责任链模式

  1. 过滤器和拦截器的区别
  2. 脚本语言python和服务器语言go的区别
  3. 直播平台:
    1. 客户端obsstudio
    2. 服务器nginx+rtmp
  4. bilibili的源代码公布出来了
  5. go语言天然支持高并发
  6. c++客户端 网易的游戏 游戏脚本 服务器可能是java 网游js
  7. 大数据流式处理
  8. 运维python
  9. 鉴权(不是每个人都可以调用你的接口)(银行鉴权比较多)

观察者模式

  1. 门闩是什么?是juc包中的一个类,用来控制多线程条件
  2. java中awt的事件监听原理

组合模式

  1. BranchNode和Node是一对多的关系, 这个多可不可以包含0(uml类图中有0)

享元模式

  1. uuid:网络上的一个独一无二的id号

代理模式

  1. 要想用asm就必须知道字节码文件.class的结构是什么
  2. 代理对象和被代理对象的类加载器不能是平行的,但是代理对象的类加载器可以是被代理对象的类加载器的子加载器?双亲委派机制
  3. jdk动态代理的原理
  4. cglib是基于继承的并且原理是asm,asm可以代理final,那cglib可不可以代理final?jdk动态代理必须有接口


迭代器模式

  1. 外部类能不能使用内部类的private属性

访问者模式

  1. 在博客中如何合适的展示项目的目录结构?
    1. 博客中展示项目目录结构的插件
  2. asm
  3. int k = 0; k = k++; 为什么结果为0?--->看字节码

原型模式

  1. String是不可变类,还是什么????Serializable可序列化的?这之间有什么关系
  2. BeanUtil的什么方法的底层是通过反射实现的属性浅(前?)拷贝,在复制大量对象的场景应该有限选择克隆模式???Prototype原型模式2结尾

模板方法模式

  1. 私有方法可以被继承吗?
    1. java中父类的私有方法可以被子类继承,但无法访问。
      子类对象确实拥有父类对象中所有的属性和方法,但是父类对象中的私有属性和方法,子类是无法访问到的,只是拥有,但不能使用。就像有些东西你可能拥有,但是你并不能使用。所以子类对象是绝对大于父类对象的,所谓的子类对象只能继承父类非私有的属性及方法的说法是错误的。可以继承,只是无法访问到而已。
  2. 私有方法可以被重写吗?
    1. 可以重载,不能重写
    2. 因为私有方法不能被子类访问

状态模式

  1. 线程被挂起时进入Ready状态? 对 挂起suspend与恢复resume