2018.3.13日下午3點(diǎn)面試,地點(diǎn):廣州市黃埔區(qū)納金城D座。這一天我?guī)е?dòng)與緊張的心情11點(diǎn)半從學(xué)校出發(fā),2點(diǎn)半到達(dá)了目的地點(diǎn)。一樓是售樓的,一進(jìn)門(mén)口一堆熱情的小哥哥就跑來(lái)問(wèn)我來(lái)干嘛的,我說(shuō)我來(lái)面試的那熱情瞬間就沒(méi)了,O(∩_∩)O哈哈~,上到五樓看到一大堆辦公桌子那一瞬間就覺(jué)得這是我要找的工作環(huán)境結(jié)果當(dāng)我找到了,公司就一小房間,5張桌子,其中4張辦公桌子,一張即是會(huì)議桌也是我的筆試桌。公司就4個(gè)人,一個(gè)便是在boss直聘網(wǎng)上找邀我去面試的經(jīng)理的助理(這里的老大),還有一個(gè)大約50多歲的中老年財(cái)務(wù),剩下的2個(gè)是開(kāi)發(fā)人員,一個(gè)應(yīng)該是組長(zhǎng)或以上級(jí)別的吧,面試題就是他給的。好了來(lái)說(shuō)說(shuō)面試題,總體上來(lái)說(shuō)考的都是比較偏向基礎(chǔ)的,總體考了4個(gè)方面:Java基礎(chǔ)和servlet方向,線程,ssm框架知識(shí),數(shù)據(jù)庫(kù)知識(shí)。15道題錯(cuò)了4道,還被改錯(cuò)了一道。
總而言之錯(cuò)的都是我失算造成的,根本就沒(méi)復(fù)習(xí)到框架這方面的知識(shí)錯(cuò)的也是這方面的題。本次面試還算有所收獲的,起碼知道下次該怎么復(fù)習(xí)了。
把不會(huì)的以及不太正確的題在這里做下筆記:
1.關(guān)于sleep和wait,以下描述錯(cuò)誤的是(D)(這道就是改錯(cuò)了的題)
A.sleep是線程類的方法,wait是object的方法
B.sleep不釋放對(duì)象鎖,wait放棄對(duì)象鎖
C.sleep暫停線程,但監(jiān)控狀態(tài)依然保持,結(jié)束后會(huì)自動(dòng)恢復(fù)
D.wait進(jìn)入等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)
解析:
首先,sleep()是Thread類中的方法,而wait()則是Object類中的方法。
sleep()方法導(dǎo)致了程序暫停,但是他的監(jiān)控狀態(tài)依然保持著,當(dāng)指定的時(shí)間到了又會(huì)自動(dòng)恢復(fù)運(yùn)行狀態(tài)。在調(diào)用sleep()方法的過(guò)程中,線程不會(huì)釋放對(duì)象鎖。
wait()方法會(huì)導(dǎo)致線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象調(diào)用notify()方法后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲取對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。注意是準(zhǔn)備獲取對(duì)象鎖進(jìn)入運(yùn)行狀態(tài),而不是立即獲得
深入了解:http://blog.csdn.net/u014561933/article/details/58639411
2.下列說(shuō)法錯(cuò)誤的有( CD)(我選了D)
A. 在類方法中可用this來(lái)調(diào)用本類的類方法
B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用
C. 在類方法中只能調(diào)用本類中的類方法
D. 在類方法中絕對(duì)不能調(diào)用實(shí)例方法
解析:
c是明顯的錯(cuò)誤,類方法可以調(diào)用外部其他類的方法。
至于D選項(xiàng)中,也是有問(wèn)題的,只要實(shí)力化對(duì)象,也是可以調(diào)用實(shí)例方法的。
所有這里要選CD。
3.什么是Spring的依賴注入?
答:所謂依賴注入,是指程序運(yùn)行過(guò)程中,如果需要調(diào)用另一個(gè)對(duì)象協(xié)助時(shí),無(wú)須在代碼中創(chuàng)建被調(diào)用者,而是依賴于外部的注入。Spring的依賴注入對(duì)調(diào)用者和被調(diào)用者幾乎沒(méi)有任何要求,完全支持對(duì)POJO之間依賴關(guān)系的管理。(POJO(Plain Ordinary Java Object)簡(jiǎn)單的Java對(duì)象,實(shí)際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡(jiǎn)稱。)
拓展:依賴注入通常有兩種:
設(shè)值注入(設(shè)值注入是指通過(guò)setter方法傳入被調(diào)用者的實(shí)例。)
構(gòu)造注入(所謂構(gòu)造注入,指通過(guò)構(gòu)造函數(shù)來(lái)完成依賴關(guān)系的設(shè)定,而不是通過(guò)setter方法。)
4.SpringMVC中的@RequestMapping和@ResponseBody的作用是什么?
答:
@RequestMapping作用:
@RequestMapping 是一個(gè)用來(lái)處理請(qǐng)求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應(yīng)請(qǐng)求的方法都是以該地址作為父路徑;用于方法上,表示在類的父路徑下追加方法上注解中的地址將會(huì)訪問(wèn)到該方法,此處需注意@RequestMapping用在類上可以沒(méi)用,但是用在方法上必須有。
@ResponseBody作用:
該注解用于將Controller的方法返回的對(duì)象,通過(guò)適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫(xiě)入到Response對(duì)象的body數(shù)據(jù)區(qū)。
拓展: @RequestBody作用:
(1) 該注解用于讀取Request請(qǐng)求的body部分?jǐn)?shù)據(jù),使用系統(tǒng)默認(rèn)配置的HttpMessageConverter進(jìn)行解析,然后把相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上;
(2)再把HttpMessageConverter返回的對(duì)象數(shù)據(jù)綁定到 controller中方法的參數(shù)上。
5.SSM(SpringMVC+Spring+Mybatis)整合框架中,三者的作用分別是什么?
答:
Spring MVC 擁有控制器,作用跟Struts類似,接收外部請(qǐng)求,解析參數(shù)傳給服務(wù)層
Spring 容器屬于協(xié)調(diào)上下文,管理對(duì)象間的依賴,提供事務(wù)機(jī)制
mybatis 屬于orm(Object Renational Mapping 對(duì)象/關(guān)系映射)持久層框架,將業(yè)務(wù)實(shí)體 與數(shù)據(jù)表聯(lián)合 起來(lái)。
6.什么是索引?
答:索引是一種數(shù)據(jù)結(jié)構(gòu) 。
在關(guān)系數(shù)據(jù)庫(kù)中,索引是一種單獨(dú)的、物理的對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種存儲(chǔ)結(jié)構(gòu),它是某個(gè)表中一列或若干列值的集合和相應(yīng)的指向表中物理標(biāo)識(shí)這些值的數(shù)據(jù)頁(yè)的邏輯指針清單。索引的作用相當(dāng)于圖書(shū)的目錄,可以根據(jù)目錄中的頁(yè)碼快速找到所需的內(nèi)容。
7.主鍵和索引的區(qū)別是什么?
答:
主鍵是一種約束,唯一索引是一種索引,兩者在本質(zhì)上是不同的。
主鍵創(chuàng)建后一定包含一個(gè)唯一性索引,唯一性索引并不一定就是主鍵。
唯一性索引列允許空值,而主鍵列不允許為空值。
主鍵列在創(chuàng)建時(shí),已經(jīng)默認(rèn)為空值 + 唯一索引了。
主鍵可以被其他表引用為外鍵,而唯一索引不能。
一個(gè)表最多只能創(chuàng)建一個(gè)主鍵,但可以創(chuàng)建多個(gè)唯一索引。
主鍵更適合那些不容易更改的唯一標(biāo)識(shí),如自動(dòng)遞增列、身份證號(hào)等。
在 RBO 模式下,主鍵的執(zhí)行計(jì)劃優(yōu)先級(jí)要高于唯一索引。 兩者可以提高查詢的速度。