面试集锦

第一次写博客,不知道写些什么,不如就记录记录自己平时的一些编程琐事,这样自己以后翻起来的时候,也能够方便许多。
今天进行了一次面试,面试中考官提出了以下几个问题,在这里整理一下,方便以后查阅。

1. 当数据量较大的时候,怎么利用集合去重,并且快速查询?
List中的数据放入hashSet中,重写equals和hashCode()方法。
List中的数据放入treeSet中,重写compareable()方法。
2. 数据库中的聚合函数有哪些?
五种:求和,求平均,求总数,求最大,求最小
3. 什么是数据库的一级与二级缓存?在什么情况下数据库的索引失效?
一级缓存:session级别的,默认开启,不可卸除,一般都会用到
二级缓存:sessionfactory(创建session,hibernate的初始化)级别的,适合
1、很少被修改的数据,
  2、不是很重要的数据,允许出现偶尔并发的数据
  3、参考数据
4. 超类Object中都有哪些方法?
clone()
创建并返回此对象的一个副本。
equals(Object obj)
指示其他某个对象是否与此对象“相等”。
finalize()
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
getClass()
返回此 Object 的运行时类。
int hashCode()
返回该对象的哈希码值。
void notify()
唤醒在此对象监视器上等待的单个线程。
void notifyAll()
唤醒在此对象监视器上等待的所有线程。
String toString()
返回该对象的字符串表示。
void wait()
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
void wait(long timeout)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout, int nanos)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

猜你喜欢

转载自blog.csdn.net/qq_39492786/article/details/81808700