JAVA面试笔试常常遇到的题目

1.hashmap hashtable之间区别?vector ,arraylist,linkedlist之间的区别?

   hashmap非线程安全,hashtable线程安全,所有方法都用sychronized修饰。

   arraylist非线程安全,vector 线程安全,所有方法都用sychronized修饰。

   arrylist和linkedlist区别:一个是数组,一个是链表;数组查询效率高,增删效率低;链表增删效率高,遍历效率低。


2.软件设计模式几个主要原则?

   依赖倒置,通俗讲就是 依赖接口的编程。

   开闭原则:对内部代码修改关闭;对外部扩展开放

   里氏替换:软件里面,把父类都替换成它的子类,程序的行为没有变化。因此,建议继承抽象类,避免继承具体类。

   抽象类:

   接口隔离:使用多个专门的接口比使用一个单一的接口好,细化接口,避免接口功能臃肿。

   迪米特法则:最少知识法则,主要用途是减少类之间的相互依赖,降低类之间的耦合。



未完待续。。。

你可能感兴趣的:(JAVA面试笔试常常遇到的题目)