有一些是必看的,我用!標註,有一些進階型的我用%標註,有一些須要瞭解的,我用?標註。java
%一、隊列、棧、鏈表、樹、堆、圖
!二、棧和隊列的相同和不一樣之處
?三、棧一般採用的兩種存儲結構
!四、ArrayList
,Vector
,LinkedList
的存儲性能和特性
%五、各類樹(平衡樹
,排序樹
,B樹
,B+樹
,R樹
,多路樹
,紅黑樹
)git
?一、實現鏈表排序的一種算法。說明爲何你會選擇用這樣的方法?
!二、排序
都有哪幾種方法?請列舉。
!三、各類排序算法的時間複雜度
和穩定性
%四、字符串(單鏈表)逆序
!五、深度優先搜索
和廣度優先搜索
%六、使用棧實現鏈表/使用鏈表實現棧
%七、全排列、貪心算法、KMP算法、hash算法、海量數據處理web
?一、虛擬內存管理
?二、換頁算法
?三、進程間通訊正則表達式
%一、Linux 一些基本命令,如看load,查看文件內容
%二、列出幾個比較常見的命令,並解釋下命令的用法算法
!一、tcp,udp區別
!二、HTTP請求和響應的全過程
!三、osi
七層模型以及tcp/ip
四層模型(每一層主要功能,傳輸的內容,主要協議,主要應用)
!四、三次握手,四次關閉,丟包,粘包,容量控制,擁塞控制
?五、子網劃分spring
!一、
範式
?二、rownum
和rowid
的區別與使用sql
%一、
Transaction
有哪幾種隔離級別?(Isolation Level)
?二、Global transaction
的原理是什麼?
!三、事務
是什麼?數據庫
%一、
樂觀鎖
,悲觀鎖
編程
!一、
分頁
如何實現(Oracle
,MySql
)
!二、Mysql引擎設計模式
%一、數據庫操做的性能瓶頸一般在哪裏, 1000萬級別訪問,在數據庫和java程序上考慮哪些來進行性能優化
%二、性能方面。多數結合多線程、同步來問,以提取一張大表數據來做爲例子 解決性能的方法
!三、表關聯時,內鏈接
,左鏈接
,右鏈接
怎麼理解?
!四、Statement
和PreparedStatement
之間的區別
!五、用JDBC怎樣從數據庫中查詢一條記錄
%六、索引
以及索引的實現
(B+樹介紹、和B樹、R樹區別
!一、
interface
和abstrat class
的區別
!二、是否能夠繼承多個接口,是否能夠繼承多個抽象類
%三、Static Nested Class
和Inner Class
的不一樣
!四、Overload
和Override
的區別。Overloaded
的方法是否能夠改變返回值的類型?
!五、abstract
的method是否可同時是static
,是否可同時是native
,是否可同時是synchronized
!六、是否能夠繼承String
類
!七、構造器Constructor
是否可被override
?
!八、做用域public
,protected
,private
,以及不寫
時的區別?
!一、列舉幾個
Java Collection
類庫中的經常使用類
!二、List
、Set
、Map
是否都繼承自Collection
接口?
!三、HashMap
和Hashtable
的區別
%四、HashMap
中是否任何對象均可以作爲key,用戶自定義對象作爲key有沒有什麼要求?
!五、Collection
和Collections
的區別
%六、其餘的集合類:concurrenthashmap
,treemap
,treeset
,linkedhashmap
等。
!一、
Error
、Exception
和RuntimeException
的區別,做用又是什麼?列舉3個以上的RuntimeException
!二、Java中的異常處理機制的簡單原理和應用
!三、內存溢出和內存泄露
!一、
String
和StringBuffer
、StringBuilder
的區別
!二、String s = 「123」;這個語句有幾個對象產生
!三、reader
和inputstream
區別
!四、==
和equals
的區別
%五、hashCode
的做用
%六、hashCode
和equals
方法的關係
?七、Object類中有哪些方法,列舉3個以上(能夠引導)
!八、char
型變量中能不能存貯一箇中文漢字?爲何?
%九、瞭解過哪些JDK8的新特性,舉例描述下相應的特性?
!十、Input/OutputStream
和Reader/Writer
有何區別?何爲字符,何爲字節?
!十一、如何在字符流和字節流之間轉換?
!十二、啓動一個線程是用run()
仍是start()
?
%1三、海量數據查詢、存儲
!1四、switch
可使用那些數據類型
!1五、多線程與死鎖
%1六、Java的四種引用
!1七、序列化與反序列化
!1八、自動裝箱與拆箱
!1九、正則表達式
IDE、maven、svn/git、Linux、Firebug
!一、多線程的實現方式,有什麼區別
%二、同步
和併發
是如何解決的
三、什麼叫守護線程
,用什麼方法實現守護線程(Thread.setDeamon()
的含義)
%四、如何中止一個線程?
!五、解釋是一下什麼是線程安全
?舉例說明一個線程不安全的例子。解釋Synchronized
關鍵字的做用。
!六、當一個線程進入一個對象的一個synchronized
方法後,其它線程是否可進入此對象的其它方法?
!一、
gc
的概念,若是A和B對象循環引用,是否能夠被GC?
%二、Java
中的內存溢出是如何形成的
%三、jvm gc如何判斷對象是否須要回收,有哪幾種方式?
?四、Java中的內存溢出
和C++中的內存溢出
,是一個概念嗎?
!五、引用計數,對象引用遍歷;jvm有哪幾種垃圾回收機制
?講講分代回收機制
!一、
ClassLoader
的功能和工做模式
?一、
IO
和NIO
本質不一樣在實際項目使用場景及如何使用
?一、
hashcode
有哪些算法
%二、反射
,是否能夠調用私有方法,在框架中的運用
?三、知道範型
的實現機制嗎?
?四、Socket編程
一般出現的異常有哪些,什麼狀況下會出現
?五、瞭解JVM啓動參數嗎?-verbose -Xms -Xmx
的意思是什麼?
%六、StringBuffer
的實現方式,容量如何擴充
%七、代理機制
的實現
!一、
Servelt
的概念。常問http request
能得到的參數
%二、servlet中,如何定製session
的過時時間?
!三、Servlet中的session
工做原理 (禁用cookie如何使用session
)
!四、servlet中,filter
的應用場景有哪些?
!五、描述JSP和Servlet的區別、共同點(JSP的工做原理)。
?六、JSP的動態include
和靜態include
!七、Servlet的生命週期
!一、
Struts
中請求的實現過程
!二、MVC
概念
%三、談一下本身最熟悉的web框架?而後就瞭解的web框架再深刻下去
%四、Spring mvc
與Struts mvc
的區別 (什麼是Mvc框架)
?五、Service
嵌套事務處理,如何回滾
!一、
session
和cookie
的區別
!二、HTTP請求中Session
實現原理?
%三、若是客戶端禁止Cookie能實現Session嗎?
!四、httpget
和post
區別
!五、在web開發中,用redirect
與forward
作跳轉有什麼區別?web應用服務器對用戶請求一般返回一些狀態碼,請描述下分別以4和5開頭的狀態碼
?一、
Hibernate
/Ibatis
二者的區別
?二、OR Mapping
的概念
%三、hibernate
一級和二級緩存是否知道
?四、使用hibernate
實現集羣部署,須要注意些什麼
!五、Spring如何實現AOP
和IOC
的?
!六、Spring的核心理念是什麼?是否瞭解IOC和AOP
!七、Spring的事務管理
,Spring bean注入
的幾種方式
!八、SpringAOP
解決了什麼問題
?一、
Tomcat
和weblogic
的最根本的區別
?二、Jboss
端口在哪一個配置文件中修改
%一、
SQL注入
SQL安全
?一、
AJAX
感覺,有什麼缺點?
%二、你使用的是Ajax
的那種框架?
?三、Ajax
如何解決跨域問題
?一、簡述
WebService
是怎麼實現的
?一、
JMS
的模式兩種模式
?一、
Js:confirm()
方法
?二、Iframe
的優缺點
%三、咱們在web應用開發過程當中常常遇到輸出某種編碼的字符,如iso8859-1
等,如何輸出一個某種編碼的字符串?(主要是考量有沒有碰到過編碼問題,問題是如何解決的)
?四、怎麼獲取到客戶端的真實IP?
?五、名詞解釋:jndi,rmi,jms,事務
,若是有了解的話能夠深刻
?六、WEB層如何實現Cluster
?一、在項目中是否採用分層的結構,是怎樣劃分的,各層之間採用了哪些相關技術? 對哪些設計模式比較熟悉?
%二、什麼是低耦合
和高聚合
?封裝原則
又是什麼意思?
%三、類A依賴類B,會產生什麼問題?怎樣解除這種耦合
?
%一、談一下本身瞭解或者熟悉的
設計模式
!二、Singleton
的幾種實現方式
?三、工廠模式
和抽象工廠模式
之間的區別
!四、簡述M-V-C
模式解決了什麼問題?
%一、說說你所知道的
UML
圖,在項目中是如何運用的
參考問題
你知道設計模式嗎?你用過哪些設計模式?在什麼場合下用的? 你怎樣保證你的代碼能夠處理各類錯誤事件? 判斷依據是必定要有本身的思考和分析以及總結
簡述一個你最有成就的項目(包括團隊,本身在團隊中的角色) 有沒有比較棘手的問題 如何發現的問題(是否找問題的根源) 問題是否已經解決,是如何解決的 若是已解決,是不是你本身經過努力解決的,作了什麼樣的努力 若是未解決,緣由是什麼,你以爲怎麼樣能夠比較好的解決掉這個問題 描述完畢之後針對未描述點詢問,是否考慮的性能問題,是否考慮部署結構,有沒有比較得意的設計之處 項目過程當中的文檔狀況,你以爲那些還有那些文檔沒有創建,是有必要創建的。 做爲負責人如何保證項目的質量,有了那些措施
估計一下杭州有多少軟件工程師,若是容許,你還須要那些調研工做?並給出你的推導過程。 估算下淘寶的商品數,給出推導過程 若是讓你作一個網站,如何估算網站的最大併發數