我已經有很長一段時間沒有更新博客了,難道是博主我變懶惰了嗎?哎,這樣可不行啊,我還有好多知識要學習,要和你們分享。之後我須要更加努力,改掉本身的惰性。本人文采不怎麼樣,只能是把本身所想的說出來,想和你們一塊兒分享知識,互相學習,豐富本身,因此在文采方面,你們多多體諒體諒。我儘量的去寫好每一篇博客,讓你們方便閱讀和了解。html
最近我去面試了幾家公司,是關於JAVA開發工程師的職位。今天我就寫一寫關於在面試過程當中的一些問題,若是您看到了這篇博客,可能會對您面試的時候有一些幫助。mysql
1.自我介紹面試
關於自我介紹這方面的內容,每個人都有本身的介紹方式。我講述自我介紹方式不必定適合全部人,這個只是表明我我的的見解。自我介紹就是把您給面試官的簡歷上面的內容的簡介版,包含學歷、以往公司、項目經歷、證書,同時您也能夠把我的興趣愛好、性格也介紹一下,讓面試官更加了解您本人,我也提醒一下在介紹本身性格的時候,你要考慮到你如今的面試職位是否與性格符合,面試官可能會抓住你的性格問題詳細詢問你引起出來的問題,若是你不能很好的回答這些問題的話,我建議你不要在自我介紹的時候說出本身的性格。sql
2.技術問題數組
關於技術問題的話,那就須要你有很好的技術知識和能力,這部分面試的時候是注重之重,由於這部分決定了公司是否聘你和入職後的薪資問題,下面我把面試個人一些技術問題列舉出來,以供你們參考。安全
(1)StringBuffer類初始容量及擴容是多少?數據結構
(a)StringBuffer()的初始容量能夠容納16個字符,當該對象的實體存放的字符的長度大於16時,實體容量就自動增長。StringBuffer對象能夠經過length()方法獲取實體中存放的字符序列長度,經過capacity()方法來獲取當前實體的實際容量。學習
(b)StringBuffer(int size)能夠指定分配給該對象的實體的初始容量參數爲參數size指定的字符個數。當該對象的實體存放的字符序列的長度大於size個字符時,實體的容量就自動的增長。以便存放所增長的字符。ui
(c)StringBuffer(String s)能夠指定給對象的實體的初始容量爲參數字符串s的長度額外再加16個字符。當該對象的實體存放的字符序列長度大於size個字符時,實體的容量自動的增長,以便存放所增長的字符。spa
(2)String和StringBuffer有什麼區別?
(a)在這方面運行速度快慢爲:StringBuilder > StringBuffer > String,
String最慢的緣由:
String爲字符串常量,而StringBuilder和StringBuffer均爲字符串變量,即String對象一旦建立以後該對象是不可更改的,但後二者的對象是變量,是能夠更改的。
(b)在線程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的
(3)collection集合?
Collection集合(單點集合)包含:
(a)List特色:元素有序;元素能夠重複;元素都有索引(角標)
Vector:內部是數組數據結構,是同步的(線程安全的)。增刪查詢都很慢。
ArrayList:內部是數組數據結構,是不一樣步的(線程不安全的)。替代了Vector。查詢速度快,增刪比較慢。
LinkedList:內部是鏈表數據結構,是不一樣步的(線程不安全的)。增刪元素速度快。
(b)Set 特色:元素無序;元素不能夠重複;
HashSet、TreeSet
注意:set不能夠重複是由於值是取得Map的key,key是不能重複的。
與Collection相對應的是Map集合(鍵值對):
HashMap、TreeMap
(3)Spring MVC處理請求流程(詳情介紹見這篇文章:http://www.javashuo.com/article/p-cqnlqjoa-bu.html)
(4)HashMap是鍵值對的形式存儲值得,若是用對象做爲key,怎麼比較key是否同樣?
HashMap的key是個對象的話,你們都是知道判斷對象是否相等,直接使用「==」操做符是不能夠的,這樣比較的值是它們各自的地址,而不是對象屬性的值,其實String類型也是一個對象,比較兩個字符串是否相等,咱們使用的是對象中的equals方法。當HashMap的使用自定義對象做爲key的時候,咱們須要重寫對象的equals方法,能夠經過重寫對象中的toString()方法把屬性轉化成字符串的形式,而後在比較字符串是否相等,同時咱們也須要重寫hashCode方法。String類型的底層已經重寫了hashCode和equals方法。有一篇博客詳細介紹了:http://www.javashuo.com/article/p-wmfkfqqi-bs.html.(後期補充:HashMap 的key和value均可以容許爲空,key的去重是HashMap 是使用 hashCode 和 equals 實現去重的, 若是key是對象類型的話,須要在帶對象中重寫hashCode 和 equals 方法,不須要使用toString()方法讓對象轉化爲字符串進行比較。使用toString()這個方法比較是我一次面試的時候考官說的,當時面試的時候我說重寫hashCode 方法,他卻不覺得然,就告訴了我toString()方法,那個時候的本覺得是這個方法是最好的,如今我才明白麪試官考你的時候,也不必定知道,有時候也要相信本身。另外再說一個課外話:TreeMap 依靠 Comparable 或Comparator 來實現 Key 的去重 ,因此key是須要重寫這個方法。)
(5)mysql中的分頁查詢語句中limit兩個參數分別表明什麼意思?
select * from table [offset,] rows | rows OFFSET offset
LIMIT 子句能夠被用於強制 SELECT 語句返回指定的記錄數。LIMIT 接受一個或兩個數字參數。參數必須是一個整數常量。若是給定兩個參數,第一個參數指定第一個返回記錄行的偏移量
,第二個參數指定返回記錄行的最大數目。初始記錄行的偏移量是 0(而不是 1)
:
(6)Mybatis中#{}和${}的區別?
點擊看這篇博客:http://www.javashuo.com/article/p-vpgkafib-u.html
3.最後會從我的寫的項目引起出一些問題進行提問。