面试题1

来源:互联网 发布:2017java最火框架 编辑:程序博客网 时间:2024/05/12 22:36
  1. HashMap和HashTable的区别(http://www.importnew.com/7010.html)
    1. HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。
    2. HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。
    3. 另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。
  2. 面向对象编程(OOP)的三大特性
    1. 封装,隐藏了实现细节,将实现和接口分开
    2. 继承,抽象了类的共性,实现代码的重用
    3. 多态,在类的重用的同时,强化了个性差异
  3. Java对象生成过程
    1. 根据类型,给对象分配内存
    2. 将对象的实例变量自动初始化为对应变量类型的默认值
    3. 初始化对象,给实例变量赋予正确的初始值
  4. 接口的成员具有什么属性
    1. 自动被加上public,static,final关键字
  5. 排序算法比较
    1. 摘自wiki
      名稱數據對象穩定性時間複雜度空間複雜度描述平均最壞氣泡排序數組是O(n^2)O(1)(無序區,有序區)。從無序區透過交換找出最大元素放到有序區前端。選擇排序數組否O(n^2)O(1)(有序區,無序區)。在無序區里找一個最小的元素跟在有序區的後面。對數組:比較得多,換得少。鍊表是插入排序數組、鍊表是O(n^2)O(1)(有序區,無序區)。把無序區的第一個元素插入到有序區的合適的位置。對數組:比較得少,換得多。堆排序數組否 O(nlogn)O(1)(最大堆,有序區)。從堆頂把根卸出來放在有序區之前,再恢復堆。歸併排序數組、鍊表是 O(nlogn)O(n) +O(logn) ,如果不是從下到上把數據分為兩段,從兩段中逐個選最小的元素移入新數據段的末尾。可從上到下或從下到上進行。快速排序數組否O(nlogn) O(n^2)O(logn) ,O(n)(小數,樞紐元,大數)。希爾排序數組否O(nlog^2n) O(n^2)O(logn) ,O(n)每一輪按照事先決定的間隔進行插入排序,間隔會依次縮小,最後一次一定要是1。  計數排序數組、鍊表是O(n)O(n+m)統計小於等於該元素值的元素的個數i,於是該元素就放在目標數組的索引i位(i≥0)。桶排序數組、鍊表是O(n)O(m)將值為i的元素放入i號桶,最後依次把桶里的元素倒出來。基數排序數組、鍊表是O(k*n)O(n^2) 一種多關鍵字的排序算法,可用桶排序實現。
  6. 网络层级
    1. 摘自:http://book.51cto.com/art/200906/127291.htm

      OSI七层网络模型

      Linux TCP/IP四层概念模型

      对应网络协议

      应用层(Application)

      应用层

      TFTP, FTP, NFS, WAIS

      表示层(Presentation)

      Telnet, Rlogin, SNMP, Gopher

      会话层(Session)

      SMTP, DNS

      传输层(Transport)

      传输层

      TCP, UDP

      网络层(Network)

      网际层

      IP, ICMP, ARP, RARP, AKP, UUCP

      数据链路层(Data Link)

      网络接口

      FDDI, Ethernet, Arpanet, PDN, SLIP, PPP

      物理层(Physical)

      IEEE 802.1A, IEEE 802.2到IEEE 802.11


    2. TCP/IP四层模型中各层的功能:
      • 网络接口:负责实际数据的传输
      • 网际层:负责网络间的寻址
      • 传输层:负责提供可靠的传输服务
      • 应用层:负责实现一切与应用程序相关的功能
  7. JAVA三大框架原理
0 0
原创粉丝点击