高級Java研發工程師面試問題:
1)根據簡歷,哪個項目印象最深刻?
無分值,但是根據簡歷,確定後續的問題主要覆蓋面。評定相應的分值:1-5
2)這個項目架構設計是怎麼樣的?有哪些系統,哪些部署環境,整個的功能和數據流向是怎麼樣的?
能夠完整地說出系統的功能,部署的環境,數據的流向。評定相應的分值:1-5
3)這個項目用了哪些技術?為什麼要用這些技術?
清晰地說出所使用的技術、框架,知道這些技術的使用目的。評定相應的分值:1-5
4)實施時發現這些技術有哪些優缺點?優點是怎樣發揮利用的,缺點是如何克服的?
很明確這些技術本身的優缺點,清楚描述優點的發揮場景,以及對缺點的克服、繞過方案。評定相應的分值:1-5
5) 最後項目完成後,覺得當初的設計有哪些問題,應該做哪些改進?
有沒有反思架構的設計,有沒有想過某些技術的合理性並考慮重新選擇,並分析改進和替換的原因。
面試題:
1.描述一個系統,功能,設計,實現
2.團隊結構,工作職責
3.為什麼采用一個技術,為什麼不使用一個技術
4.應用中有使用到集群麼?多大規模?
5."cluster中應用中碰到的問題,session共享問題?"
7.如何實現集群?session復制?無狀態?集中session?
8.Collections和Collection的區別?
9.HashMap和HashTable的區別
10.Java中有那些集合的接口
11.Map與Collection的關系?
12.ClassLoader是如何查找類的?
13.equals與==的區別
14."Exception,checked,unchecked"
15.exception機制,層次
16.final關鍵詞的使用
17.hashCode()方法的作用
18.InputStream與Reader的區別
19.interface與abstract類的區別
20.Java非阻塞I/O?
21.Java的基本對象Object有哪些方法?
22."Java中反射的性能如何,你是怎麼看待的"?
23.Object的hashCode()的計算,肯定唯一的嗎?
24.典型的web應用的classloader結構
25."對象要實現排序,需要實現什麼接口"
26.請問你在什麼情況下會在你的JAVA代碼中使用可序列化?
27.如何保證一個類的非靜態方法在多個實例中是同步的?
28.如何將一個String轉化為int
29.如何序列化一個類的實例
30.怎麼樣克隆一個類
31.怎樣標識JavaBean對象裡面的一個屬性不需要被序列化?
32.Java中內存調優的參數?
33.垃圾收集是什麼,為什麼需要,怎麼工作
34.ajax
35.cookie&session
36.cookie的原理
37.http中的forward和redirect的區別
38.ear應用中classloader的結構
39.EJB有哪幾種事務屬性(TransactionPropagationAttributes)?請闡述它們之間的區別。
40.JMS的有哪幾種消息模型?
41.stateful session bean的生命周期,請詳細描述StatefulSessionBean的生命周期。
42."在一個EJB容器中,容器如何知道事務已經完成並且可以提交了?用戶如何控制事務回滾?"
43.AOP的含義與用途
44.Ioc的含義與用途,IoC有哪幾種類型?使用IoC有哪些好處?現在有哪些比較流行的IoC容器?
45.Spring用過那些功能
46.Structs中處理請求的流程
47.解釋springaop,transaction,FactoryBean&BeanFactory
48.平時會關注開源軟件的發展麼?
49.HttpServlet類中有那些方法
50.jsp執行過程,大量使用jsp有什麼問題?PermGen大小
51.servlet的生命周期
52.session的生命周期
53.如何在HttpSession過期的時候,清理你在HttpSession中保存的對象的資源占用?
54.notify()對應的方法是什麼?
55.daemon線程的含義,什麼是Daemon線程?它有什麼意義?
56.Thread的sleep方法和Object的wait方法有什麼區別?
57.解釋synchronized
58.解釋ThreadLocal
59.如何停止一個正在運行的線程?
60.什麼叫線程安全?servlet線程安全嗎?
61.怎麼樣寫一個線程?用線程時的注意點?
62.JDK如何做到XMLParser的實現和接口無關?JDK是如何找到XMLParser的實現的?如何覆蓋jdk1.4中的XMLParser實現?
63.xml解析模型描述?
64.性能測試,容量測試,有沒有?如何做?
65.有沒有針對伸縮性的設計?有沒有針對性能的設計?解釋scalability與extensibility
66.常見的排序算法有哪些?各有什麼優缺點?
67.設計模式列舉,解釋使用場景
68.PreparedStatement與Statement
69.數據庫事務有哪幾個隔離級別?請分別闡述
70.數據庫相關的性能優化?sql,數據庫本身,緩存?
71.項目中碰到的問題,如何解決?
72.java應用性能優化,從哪些方面入手?
73.native方法是什麼?transient變量有什麼特點?volatile關鍵字用途?
74.Integer[] i = { 1337, 424242 }和int[] i = { 1337, 424242 };分別生成幾個對象?那個性能更好,為什麼?float f=3.4 是否正確?
75.ThreadLocal 和InheritableThreadLocal 區別,分別在哪些場景下使用?
76.swtich 是否能作用在byte上(能),是否能作用在long上(不能),是否能作用在String上(不能)?
77.System.out.println(3 * 0.1 == 0.3);輸出內容是?
78.java如何實現多重繼承?寫一個線程安全的單例?
79.Java中Runnable和Callable有什麼不同?
80.FutureTask什麼場景下會使用?ReadWriteLock什麼場景下會使用?
81.描述一下ArrayList,LinkList,HashMap 內部存儲結構?