面試查漏補缺——阿里

阿里電話面試

面試時間:2015-03-16html

Java StringBuffer和StringBuilder的區別的問題。

String,StringBuffer與StringBuilder的區別??程序員

StringBuilder and StringBuffer面試

簡單來講:StringBuilder的效率更高;StringBuffer是線程安全的,而StringBuilder不是線程安全的。安全

快排性能

  • 平均時間:O(nlogn)
  • 最差狀況:O(n ^ 2)
  • 穩定度:不穩定
  • 額外空間:O(logn)或者O(n)

解釋爲何最壞狀況是O(n ^ 2):考慮相似5 4 3 2 1的輸入,那麼每一個數都會被選爲基準,所以每一個數都會和其餘數進行比較,因此比較的次數就是n ^ 2。服務器

查看Linux負載狀況

top命令性能

Thread vs Runnable

Thread和Runnable的區別ui

Thread是類,Runnable是接口。在實際使用中,更多地使用Runnable,由於接口的性質,值得實現接口能夠給類提供更多的靈活性。.net

TCP vs UDP

  • TCP:傳輸控制協議,面向連接,可靠,提供了超時重發、丟棄重複數據、檢驗數據、流量控制等,保證數據從一端傳到另外一端。
  • UDP:用戶數據報協議,面向數據包,不可靠,只管發送,不保證送達,也沒有超時重傳機制,故而速度很快。

建立索引

create index index_name on table_name線程

2015-03-18 Upatecode

阿里視頻面試

堆和棧的區別

堆和棧的區別(轉過無數次的文章)

簡單來說,形如int a = 1的基本類型,都分配在棧上,且棧上的對象能夠共享;形如Object obj = new Object()的對象,都分配在堆上,不可共享。

棧的速度要比堆快,在C++中,分配在棧上的空間由系統回收,分配在堆上的空間由程序員回收,也就是del。可是因爲Java有JVM的存在,因此基本不用本身回收任何資源。

TCP/IP協議斷開時須要幾回

圖解TCP-IP協議

TCP\IP三次握手鍊接,四次握手斷開分析

簡單形容的話,創建鏈接時的三次握手:

  1. 客戶端 —> 服務器,客戶端請求鏈接
  2. 服務器 —> 客戶端,服務器確認鏈接信息
  3. 客戶端 —> 服務器,客戶端確認鏈接信息,開始鏈接

斷開鏈接時的四次握手:

  1. A —> B,A請求斷開鏈接
  2. B —> A,B確認請求並準備斷開鏈接
  3. B —> A,B關閉鏈接並通知A
  4. A —> B,A確認關閉
相關文章
相關標籤/搜索