帆软2面

  1. 1-100,取99个,怎么发现剩余的那一个?
  2. 取98个,怎么确定剩余的两个?
  3. 单例模式是什么?
  4. 怎么保证高并发下的单例模式线程安全?
  5. 双检锁是什么?(没有答出来)
  6. 看过哪些书籍?
  7. hashcode和equals方法为什么要重写?
  8. 如果只重写equals,不重写hashcode会怎么样
    • 在存储散列集合时(如Set类),如果原对象.equals(新对象),但没有对hashCode重写,即两个对象拥有不同的hashcode,则在集合中将会存储两个值相同的对象,从而导致混淆。因此在重写equals方法时,必须重写hashcode方法。
    • if (p.hash == hash &&
                      ((k = p.key) == key || (key != null && key.equals(k))))
                      e = p;

      在两个对象值相同的前提下,不重写hashcode方法,会导致hash值不同,那么就会被当做不同的值存入;只有重写了,使其hash值一样,然后判断地址值或者内容是否相同,进行一个覆盖。

  9. 页面的登录是怎么做的?
  10. 数据库密码没有加密?
posted @ 2020-08-20 10:29  -忘情冷雨夜-  阅读(151)  评论(0)    收藏  举报