德邦物流面试题
1、談?wù)勀阌玫竭^ssh哪些東西
? ? ? 回答:spring事物,strust2零配置,攔截器,hibernate.
2、為什么要用攔截器,如何配置的。舉例說明
? ? 回答:如攔截非登陸用戶訪問,web安全攔截關(guān)鍵字符。
? ? ? ? ? ? ? 配置:1、在web.xml配置實例 ?2、在struts.xml進行配置初始化加載。
3、談?wù)劸€程池的原理,為什么要用多線程
? 目的: ? 如果每到達一個請求,就創(chuàng)建一個新的線程,那么線程創(chuàng)建和銷毀的時間或者開銷可能遠大于處理請求的時間。線程池主要為了解決線程生命周期開銷和系統(tǒng)資源不足的 ?問題。
原理:一個簡單的線程池包括:線程池管理器:用來創(chuàng)建和銷毀線程池,并將線程放入線程池中。
? ? ? ? ? ? ? ?工作線程:一個可以循環(huán)工作的線程
? ? ? ? ? ? ? ? 任務(wù)隊列:緩沖機制,把沒有處理的任務(wù)放在隊列中
? ? ? ? ? ? ? ? ?任務(wù)接口等部分:每個任務(wù)必須實現(xiàn)的接口
? ?4、spring事物的隔離級別,spring事物的傳播屬性
? ? 一、PROPAGATION_SUPPORTS--支持當(dāng)前事務(wù),如果當(dāng)前沒有事務(wù),就以非事務(wù)方式執(zhí)行。
? ? PROPAGATION_MANDATORY--支持當(dāng)前事務(wù),如果當(dāng)前沒有事務(wù),就拋出異常。
? ? PROPAGATION_REQUIRES_NEW--新建事務(wù),如果當(dāng)前存在事務(wù),把當(dāng)前事務(wù)掛起。
? ? PROPAGATION_NOT_SUPPORTED--以非事務(wù)方式執(zhí)行操作,如果當(dāng)前存在事務(wù),就把當(dāng)前事務(wù)掛起。
? ? ?PROPAGATION_NEVER--以非事務(wù)方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。
隔離級別:
1、Serializable:最嚴(yán)格的級別,事務(wù)串行執(zhí)行,資源消耗最大;
2、REPEATABLE? READ:保證了一個事務(wù)不會修改已經(jīng)由另一個事務(wù)讀取但未提交(回滾)的數(shù)據(jù)。避免了“臟讀取”和“不可重復(fù)讀取”的情況,但是帶來了更多的性能損失。
3、READ? COMMITTED:大多數(shù)主流數(shù)據(jù)庫的默認(rèn)事務(wù)等級,保證了一個事務(wù)不會讀到另一個并行事務(wù)已修改但未提交的數(shù)據(jù),避免了“臟讀取”。該級別適用于大多數(shù)系統(tǒng)。
4、Read? Uncommitted:保證了讀取過程中不會讀取到非法數(shù)據(jù)。隔離級別在于處理多事務(wù)的并發(fā)問題。
5、談?wù)勀銓ql調(diào)優(yōu)的見解。
? 1、sql語句中不要用where作空值判斷 ?,如:?select id from t where num is null
? ?2、盡量避免在where子句中使用<>或!=
? 3、盡量避免在where子句中使用or
?4、in或not in 也要慎用,否則會導(dǎo)致全表掃描.對于連續(xù)的可以用between and 代替
5、where 子句中使用參數(shù)也會導(dǎo)致全表掃描
6、where子句中避免使用表達式或者函數(shù)。
? ??
總結(jié)
- 上一篇: 最新!又一批高校官宣:推迟开学!各地政策
- 下一篇: 淘宝双11大数据分析(Hive 分析篇-