2018-01-26面試題整理

1、Spring MVC工作原理


a.客戶端請求提交到前端控制器DispatcherServlet

b.由DispatcherServlet查詢HandlerMapping 通過HandlerMapping找到處理請求的二級控制器Controller

c.DispatcherServlet將請求提交到Controller

d.Controller調(diào)用業(yè)務(wù)邏輯處理后 返回ModelAndView

e.DispatcherServlet查詢ViewResoler視圖解析器 找到ModelAndView指定的視圖

f.視圖負(fù)責(zé)將結(jié)果顯示到客戶端


2、jQuery可以對表單進(jìn)行哪些操作


a.獲取值

文本框、密碼框、textarea

checkbox radio select

b.控制表單元素

text textarea 清空內(nèi)容 填充內(nèi)容

checkbox 設(shè)置打勾

radio 設(shè)置默認(rèn)選項

select 添加option 清空option

c.觸發(fā)事件

submit blur change


3、SQL分頁查詢


注意事項:

a.使用ROWNUM編號時 不要使用ROWNUM做>1以上的數(shù)字的判斷 否則該結(jié)果集將得不到記錄

b.在分頁中有排序需求時 先排序再編號 再根據(jù)編號取范圍

工資按照由高到低排序后取6-10名

排序 select name,sal,job,deptno from emp order by sal desc

編號 select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t

取范圍 select * from (select rownum rn,t.* from (select name,sal,job,deptno from emp order by sal desc) t) where rn between 6 and 10


4、SQL函數(shù)


字符串函數(shù):

CONCAT ||

LENGTH

UPPER LOWER INITCAP

TRIM LTRIM RTRIM

LPAD RPAD

SUBSTR

INSTR

數(shù)值函數(shù):

ROUND

TRUNC

MOD

CEIL FLOOR

日期轉(zhuǎn)換函數(shù):

TO_DATE

TO_CHAR

日期常用函數(shù):

LAST_DAY

ADD_MONTHS

MONTHS_BETWEEN

NEXT_DAY

LEAST GREATEST

EXTRACT

空值函數(shù):

NVL NVL2

聚合函數(shù):

MAX MIN

AVG SUM

COUNT

SQL左右外連接

左外連接以左表中的數(shù)據(jù)為基準(zhǔn) 若左表有數(shù)據(jù)右表沒有數(shù)據(jù) 則顯示左表中的數(shù)據(jù) 右表中的數(shù)據(jù)顯示為空 右外連接反之


5、JSP九大內(nèi)置對象


application

session

request

page

pageContext

config

response

out

exception


6、數(shù)據(jù)庫優(yōu)化:


a、建立有效的索引

b、sql語句優(yōu)化 where條件靠前 縮小子查詢的結(jié)果集 in exist

c、表結(jié)構(gòu)優(yōu)化,大表分割。


7、數(shù)據(jù)庫緩存


提高訪問性能,避免重復(fù)訪問,執(zhí)行同一個sql訪問的是緩存的數(shù)據(jù)


8、高并發(fā)優(yōu)化


a、數(shù)據(jù)庫優(yōu)化

b、代碼優(yōu)化 算法優(yōu)化

c、服務(wù)器優(yōu)化 分布式部署

d、jvm調(diào)優(yōu)

e、頁面優(yōu)化 簡潔 減少頁面尺寸


9、使用jquery獲取表格某行某列的值


.children().eq(3).children().eq(3).val()

get() eq()的區(qū)別 都是jquery提供的方法 get()返回DOM對象 eq()返回jquery對象


10、sleep wait的區(qū)別


sleep是Thread類的方法 wait是Object類中定義的方法

sleep()不釋放同步鎖 wait()釋放同步鎖 notify() synchronized


11、servlet生命周期


a.初始化階段 調(diào)用init()方法

b.響應(yīng)客戶請求階段 調(diào)用service()方法

c.終止階段 調(diào)用destroy()方法


12、數(shù)組排序 集合排序


Arrays.sort() Collections.sort()自定義排序規(guī)則 重寫Comparator接口 sort()方法里第二個參數(shù)new Comparator(){}


13、HashMap Hashtable區(qū)別


都實現(xiàn)Map接口 HashMap是線程不安全 性能更高

Map底層是散列表 即數(shù)組和鏈表的結(jié)合體

HashMap可以通過下面的語句進(jìn)行同步

Map m = Collections.synchronizeMap(hashMap);


14、List Set


都實現(xiàn)Collection接口

ArrayLIst??? 數(shù)組 隨機(jī)訪問 異步 線程不安全

LinkedList? 鏈表 插入刪除 異步 線程不安全

Vector? ????? 數(shù)組 ?? ? ? ??????? 同步 線程安全

Set 不可重復(fù)集


15、String常量池


final 修飾 String類型是不可變的 因而String類是線程安全的

每當(dāng)代碼創(chuàng)建字符串常量時 JVM會首先檢查字符串常量池 如果字符串已經(jīng)存在池中 就返回池中的實例引用 如果字符串不在池中 就會實例化一個字符串并放到池中

StringBuilder StringBuffer

StringBuilder線程不安全 性能高于StringBuffer 建議使用StringBuiler


16、解釋內(nèi)存中的棧(stack)、堆(heap)和靜態(tài)區(qū)(static area)的用法


棧:基本數(shù)據(jù)類型的變量 對象的引用 函數(shù)調(diào)用的現(xiàn)場保存

堆:對象

靜態(tài)區(qū):字面量 常量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容