1. 程式人生 > >2018.3.13-第一次面試經歷總結(Java)

2018.3.13-第一次面試經歷總結(Java)

2018.3.13日下午3點面試,地點:廣州市黃埔區納金城D座。這一天我帶著激動與緊張的心情11點半從學校出發,2點半到達了目的地點。一樓是售樓的,一進門口一堆熱情的小哥哥就跑來問我來幹嘛的,我說我來面試的那熱情瞬間就沒了,O(∩_∩)O哈哈~,上到五樓看到一大堆辦公桌子那一瞬間就覺得這是我要找的工作環境結果當我找到了,公司就一小房間,5張桌子,其中4張辦公桌子,一張即是會議桌也是我的筆試桌。公司就4個人,一個便是在boss直聘網上找邀我去面試的經理的助理(這裡的老大),還有一個大約50多歲的中老年財務,剩下的2個是開發人員,一個應該是組長或以上級別的吧,面試題就是他給的。好了來說說面試題,總體上來說考的都是比較偏向基礎的,總體考了4個方面:Java基礎和servlet方向,執行緒,ssm框架知識,資料庫知識。15道題錯了4道,還被改錯了一道。
總而言之錯的都是我失算造成的,根本就沒複習到框架這方面的知識錯的也是這方面的題。本次面試還算有所收穫的,起碼知道下次該怎麼複習了。

把不會的以及不太正確的題在這裡做下筆記:
1.關於sleep和wait,以下描述錯誤的是(D)(這道就是改錯了的題)
A.sleep是執行緒類的方法,wait是object的方法
B.sleep不釋放物件鎖,wait放棄物件鎖
C.sleep暫停執行緒,但監控狀態依然保持,結束後會自動恢復
D.wait進入等待鎖定池,只有針對此物件發出notify方法獲得物件鎖進入執行狀態
解析:
首先,sleep()是Thread類中的方法,而wait()則是Object類中的方法。
sleep()方法導致了程式暫停,但是他的監控狀態依然保持著,當指定的時間到了又會自動恢復執行狀態。在呼叫sleep()方法的過程中,執行緒不會釋放物件鎖。
wait()方法會導致執行緒放棄物件鎖,進入等待此物件的等待鎖定池,只有針對此物件呼叫notify()方法後本執行緒才進入物件鎖定池準備獲取物件鎖進入執行狀態。注意是準備獲取物件鎖進入執行狀態,而不是立即獲得


深入瞭解:http://blog.csdn.net/u014561933/article/details/58639411

2.下列說法錯誤的有( CD)(我選了D)
A. 在類方法中可用this來呼叫本類的類方法
B.在類方法中呼叫本類的類方法時可直接呼叫
C. 在類方法中只能呼叫本類中的類方法
D. 在類方法中絕對不能呼叫例項方法
解析:
c是明顯的錯誤,類方法可以呼叫外部其他類的方法。
至於D選項中,也是有問題的,只要實力化物件,也是可以呼叫例項方法的。
所有這裡要選CD。

3.什麼是Spring的依賴注入?
答:所謂依賴注入,是指程式執行過程中,如果需要呼叫另一個物件協助時,無須在程式碼中建立被呼叫者,而是依賴於外部的注入。Spring的依賴注入對呼叫者和被呼叫者幾乎沒有任何要求,完全支援對POJO之間依賴關係的管理。(POJO(Plain Ordinary Java Object)簡單的Java物件,實際就是普通JavaBeans,是為了避免和EJB混淆所創造的簡稱。)
拓展:

依賴注入通常有兩種:
設值注入(設值注入是指通過setter方法傳入被呼叫者的例項。)
構造注入(所謂構造注入,指通過建構函式來完成依賴關係的設定,而不是通過setter方法。)

4.SpringMVC中的@RequestMapping和@ResponseBody的作用是什麼?
答:
@RequestMapping作用:
@RequestMapping 是一個用來處理請求地址對映的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作為父路徑;用於方法上,表示在類的父路徑下追加方法上註解中的地址將會訪問到該方法,此處需注意@RequestMapping用在類上可以沒用,但是用在方法上必須有。

@ResponseBody作用:
該註解用於將Controller的方法返回的物件,通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response物件的body資料區。

拓展: @RequestBody作用:
(1) 該註解用於讀取Request請求的body部分資料,使用系統預設配置的HttpMessageConverter進行解析,然後把相應的資料繫結到要返回的物件上;
(2)再把HttpMessageConverter返回的物件資料繫結到 controller中方法的引數上。

5.SSM(SpringMVC+Spring+Mybatis)整合框架中,三者的作用分別是什麼?
答:
Spring MVC 擁有控制器,作用跟Struts類似,接收外部請求,解析引數傳給服務層
Spring 容器屬於協調上下文,管理物件間的依賴,提供事務機制
mybatis 屬於orm(Object Renational Mapping 物件/關係對映)持久層框架,將業務實體 與資料表聯合 起來。

6.什麼是索引?
答:索引是一種資料結構 。
在關係資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。

7.主鍵和索引的區別是什麼?
答:
主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。
主鍵建立後一定包含一個唯一性索引,唯一性索引並不一定就是主鍵。
唯一性索引列允許空值,而主鍵列不允許為空值。
主鍵列在建立時,已經預設為空值 + 唯一索引了。
主鍵可以被其他表引用為外來鍵,而唯一索引不能。
一個表最多隻能建立一個主鍵,但可以建立多個唯一索引。
主鍵更適合那些不容易更改的唯一標識,如自動遞增列、身份證號等。
在 RBO 模式下,主鍵的執行計劃優先順序要高於唯一索引。 兩者可以提高查詢的速度。