Java進階面試含架構師

來源:互聯網
上載者:User
Java進階面試含架構師 標籤: 架構 2016-11-25 16:04  3090人閱讀  評論(0)  收藏  舉報

目錄(?)[+] JDK1.5新增的功能   ==>>> 字元流和位元組流的區別,使用情境,相關類   ==>>> 安全執行緒的概念,實現安全執行緒的幾種方法   ==>>> 抽象類別和介面的區別,使用情境   ==>>> hash演算法的實現原理,hashcode的實現原理   ==>>> error和exception的區別,RuntimeException和非RuntimeException的區別   ==>>> 繼承與組合的區別,使用情境   ==>>> 使用靜態Factory 方法的好處和壞處   ==>>> 排序演算法,他們是時間複雜度是多少   ==>>> 資料庫設計原則、範式   ==>>> 資料庫常用的編碼方式有哪幾種 如果有10萬條學產生績資訊,怎麼擷取成績最高的那一條資料,怎麼擷取成績第三的那一條資料,列舉你認為效能最好的方式   ==>>> 序列化的作用,應用情境,除了網路傳輸   ==>>> spring的IOC、AOP的使用情境   ==>>> ajax是否能跨域請求,解決的辦法   ==>>> 解析xml的幾種方法,他們的原理   ==>>> 怎麼樣實現高效能的代碼  ==>>> 如果有和其他系統有介面調用,但其他系統還沒開發完成,怎麼進行單元測試   ==>>> 防止重複提交有哪幾種方式 (這個網上很多,可以google下) 怎麼樣運用樣式設計一個DIV浮出層 資料庫連接池的實現原理,請求怎麼樣去擷取串連,,關閉串連時,串連池是銷毀串連還是回收串連   ==>>> tomcat、weblogic、jboss的區別,容器的作用   ==>>> apache是容器麼,它的作用是什麼   ==>>> 內部跳轉和外部跳轉的區別,底層實現原理   ==>>> http和https的區別   ==>>> 宕機的原因有哪幾種,怎麼樣分析宕機的原因,如:資料庫的長串連。。。   ==>>> 在velocity頁面,為什麼不推薦不推薦使用宏定義   ==>>> webx的核心原理,webx架構和velocity的優缺點   ==>>> 頁面上如果有一個screen和兩個control,那麼他們有幾個context   ==>>> 一個含有layout、screen和control的頁面,他們的載入順序是什麼,是等所有的載入完一起顯示,還是其他。。。   ==>>> #if($!a==’true’)會出問題麼,為什麼   ==>>> 支付寶怎麼樣保證他的安全,他的調用異常分哪幾種   ==>>> 項目中你覺得做得最好的是什麼   ==>>> 35.java除了8種基本類型外,在虛擬機器裡還有哪一種,有什麼作用?  36.除了使用new關鍵字建立對象意外,試列舉另外三種以上建立執行個體的方式?  37.classloader中,JDK的API、Classpath中的同web-inf中的class載入方式有什麼區別。  38.列舉三種以上記憶體回收演算法,並比較其優缺點。  39.編寫代碼實現一個線程池  40.描述一下JVM載入class檔案的原理機制?  JVM中類的裝在是由ClassLoader和它的子類來實現的,java ClassLoader是一個重要的java運行時組件。它負責在運行時載入和裝入類檔案的類。  41.試舉例說明一個典型的記憶體回收演算法。  42.請用java寫二叉樹演算法,實現添加資料形成二叉樹功能,並以先序的方式列印出來.  43.請寫一個java程式實現線程串連池功能。  44.給定一個C語言函數,要求實現在java類中進行調用。  45.如何獲得數組的長度。  46.存取修飾詞“public/private/protected/預設的修飾符”的使用  47.用關鍵字final修飾一個類或者方法時,有何意義。  48.掌握類和對象的概念,掌握物件導向編程的本質  49.靜態變數和靜態方法的意義,如何引用一個類的靜態變數或者靜態方法。  50.JAVA語言如何進行異常處理,關鍵字:thorws,throw,try,catch,finally  51.Object類(或者其子類)的finalize()方法在什麼情況下被調用。  52.一個“.java”原檔案中是否可以包括多個類(不是內部類)。  53.掌握內部類和介面的概念  54.StringTokenizer類的使用  55.資料結構,如何遍曆List中的元素。     如果要按照索引值儲存或者訪問資料,使用什麼資料結構。     要掌握Collection相關的介面和類的使用  56.使用StringBuffer類與String類進行字串串連時有何區別。  57.調用Thread類的destroy()方法有什麼後果。  58.多線程,用什麼關鍵字修飾同步方法。stop()和suspend()方法為何不推薦使用。  59.使用socket建立用戶端與伺服器的通訊的過程  60.JAVA語言國際化應用,Locale類,Unicode  61.描述反射機制的作用  62.如何讀寫一個檔案。  關於Hashcode方法和equals。

雜湊表這個資料結構想必大多數人都不陌生,而且在很多地方都會利用到hash表來提高尋找效率。在Java的Object類中有一個方法:

1 public  native  int  hashCode();

  根據這個方法的聲明可知,該方法返回一個int類型的數值,並且是本地方法,因此在Object類中並沒有給出具體的實現。

  為何Object類需要這樣一個方法。它有什麼作用呢。今天我們就來具體探討一下hashCode方法。 一.hashCode方法的作用

  對於包含容器類型的程式設計語言來說,基本上都會涉及到hashCode。在Java中也一樣,hashCode方法的主要作用是為了配合基於散列的集合一起正常運行,這樣的散列集合包括HashSet、HashMap以及HashTable。

  為什麼這麼說呢。考慮一種情況,當向集合中插入對象時,如何判別在集合中是否已經存在該對象了。(注意:集合中不允許重複的元素存在)

  也許大多數人都會想到調用equals方法來逐個進行比較,這個方法確實可行。但是如果集合中已經存在一萬條資料或者更多的資料,如果採用equals方法去逐一比較,效率必然是一個問題。此時hashCode方法的作用就體現出來了,當集合要添加新的對象時,先調用這個對象的hashCode方法,得到對應的hashcode值,實際上在HashMap的具體實現中會用一個table儲存已經存進去的對象的hashcode值,如果table中沒有該hashcode值,它就可以直接存進去,不用再進行任何比較了;如果存在該hashcode值, 就調用它的equals方法與新元素進行比較,相同的話就不存了,不相同就散列其它的地址,所以這裡存在一個衝突解決的問題,這樣一來實際調用equals方法的次數就大大降低了,說通俗一點:Java中的hashCode方法就是根據一定的規則將與對象相關的資訊(比如對象的儲存地址,對象的欄位等)映射成一個數值,這個數值稱作為散列值。下面這段代碼是java.util.HashMap的中put方法的具體實現:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.