為了方便之后的面試復(fù)習(xí),我把各類面試題給匯總了一下,每道題都是經(jīng)過自己篩選后覺得需要掌握的,此次整理包括 Java、數(shù)據(jù)結(jié)構(gòu)與算法、計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫等。后面我會把這些問題的解答陸續(xù)放...
為了方便之后的面試復(fù)習(xí),我把各類面試題給匯總了一下,每道題都是經(jīng)過自己篩選后覺得需要掌握的,此次整理包括 Java、數(shù)據(jù)結(jié)構(gòu)與算法、計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫等。后面我會把這些問題的解答陸續(xù)放出來。
(1). Java基礎(chǔ)知識
java中==和equals和hashCode的區(qū)別
int與integer的區(qū)別
抽象類的意義
接口和抽象類的區(qū)別
能否創(chuàng)建一個包含可變對象的不可變對象?
談?wù)剬ava多態(tài)的理解
String、StringBuffer、StringBuilder區(qū)別
泛型中extends和super的區(qū)別
進(jìn)程和線程的區(qū)別
final,finally,finalize的區(qū)別
序列化的方式
string 轉(zhuǎn)換成 integer的方式及原理
靜態(tài)屬性和靜態(tài)方法是否可以被繼承?是否可以被重寫?以及原因?
成員內(nèi)部類、靜態(tài)內(nèi)部類、局部內(nèi)部類和匿名內(nèi)部類的理解,以及項(xiàng)目中的應(yīng)用
講一下常見編碼方式?
如何格式化日期?
Java的異常體系
什么是異常鏈
throw和throws的區(qū)別
反射的原理,反射創(chuàng)建類實(shí)例的三種方式是什么。
java當(dāng)中的四種引用
深拷貝和淺拷貝的區(qū)別是什么?
什么是編譯器常量?使用它有什么風(fēng)險?
你對String對象的intern()熟悉么?
a=a+b與a+=b有什么區(qū)別嗎?
靜態(tài)代理和動態(tài)代理的區(qū)別,什么場景使用?
Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?
如何將一個Java對象序列化到文件里?
說說你對Java反射的理解
說說你對Java注解的理解
說說你對依賴注入的理解
說一下泛型原理,并舉例說明
Java中String的了解
String為什么要設(shè)計(jì)成不可變的?
Object類的equal和hashCode方法重寫,為什么?
(2).多線程
開啟線程的三種方式?
說說進(jìn)程,線程,協(xié)程之間的區(qū)別
線程之間是如何通信的?
什么是Daemon線程?它有什么意義?
在java中守護(hù)線程和本地線程區(qū)別?
為什么要有線程,而不是僅僅用進(jìn)程?
什么是可重入鎖(ReentrantLock)?
什么是線程組,為什么在Java中不推薦使用?
樂觀鎖和悲觀鎖的理解及如何實(shí)現(xiàn),有哪些實(shí)現(xiàn)方式?
Java中用到的線程調(diào)度算法是什么?
同步方法和同步塊,哪個是更好的選擇?
run()和start()方法區(qū)別
如何控制某個方法允許并發(fā)訪問線程的個數(shù)?
在Java中wait和seelp方法的不同;
Thread類中的yield方法有什么作用?
什么是不可變對象,它對寫并發(fā)應(yīng)用有什么幫助?
談?wù)剋ait/notify關(guān)鍵字的理解
為什么wait, notify 和 notifyAll這些方法不在thread類里面?
什么導(dǎo)致線程阻塞?
講一下java中的同步的方法
談?wù)剬ynchronized關(guān)鍵字,類鎖,方法鎖,重入鎖的理解
static synchronized 方法的多線程訪問和作用
同一個類里面兩個synchronized方法,兩個線程同時訪問的問題
你如何確保main()方法所在的線程是Java程序最后結(jié)束的線程?
談?wù)剉olatile關(guān)鍵字的作用
談?wù)凾hreadLocal關(guān)鍵字的作用
談?wù)凬IO的理解
什么是Callable和Future?
ThreadLocal、synchronized 和volatile 關(guān)鍵字的區(qū)別
synchronized與Lock的區(qū)別
ReentrantLock 、synchronized和volatile比較
在Java中CycliBarriar和CountdownLatch有什么區(qū)別?
CopyOnWriteArrayList可以用于什么應(yīng)用場景?
ReentrantLock的內(nèi)部實(shí)現(xiàn)
lock原理
Java中Semaphore是什么?
Java中invokeAndWait 和 invokeLater有什么區(qū)別?
多線程中的忙循環(huán)是什么?
怎么檢測一個線程是否擁有鎖?
死鎖的四個必要條件?
對象鎖和類鎖是否會互相影響?
什么是線程池,如何使用?
Java線程池中submit() 和 execute()方法有什么區(qū)別?
Java中interrupted 和 isInterruptedd方法的區(qū)別?
用Java實(shí)現(xiàn)阻塞隊(duì)列
BlockingQueue介紹:
多線程有什么要注意的問題?
如何保證多線程讀寫文件的安全?
多線程斷點(diǎn)續(xù)傳原理
斷點(diǎn)續(xù)傳的實(shí)現(xiàn)
實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式
Java中的ReadWriteLock是什么?
用Java寫一個會導(dǎo)致死鎖的程序,你將怎么解決?
SimpleDateFormat是線程安全的嗎?
Java中的同步集合與并發(fā)集合有什么區(qū)別?
Java中ConcurrentHashMap的并發(fā)度是什么?
什么是Java Timer類?如何創(chuàng)建一個有特定時間間隔的任務(wù)?
(3).集合
Collection 和Collections 的區(qū)別?
修改對象A的equals方法的簽名,那么使用HashMap存放這個對象實(shí)例的時候,會調(diào)用哪個equals方法?
List,Set,Map的區(qū)別
List和Map的實(shí)現(xiàn)方式以及存儲方式
HashMap的實(shí)現(xiàn)原理
HashMap如何put數(shù)據(jù)(從HashMap源碼角度講解)?
HashMap的擴(kuò)容操作是怎么實(shí)現(xiàn)的?
HashMap在JDK1.7和JDK1.8中有哪些不同?
ConcurrentHashMap的實(shí)現(xiàn)原理
HashTable實(shí)現(xiàn)原理
ArrayMap和HashMap的對比
HashMap和HashTable的區(qū)別
HashMap與HashSet的區(qū)別
集合Set實(shí)現(xiàn)Hash怎么防止碰撞
數(shù)組和鏈表的區(qū)別
Array和ArrayList有何區(qū)別?什么時候更適合用Array
.EnumSet是什么?
Comparable和Comparator接口有何區(qū)別?
Java集合的快速失敗機(jī)制 “fail-fast”?
fail-fast 與 fail-safe 之間的區(qū)別?
BlockingQueue是什么?
Iterator類有什么作用
poll()方法和remove()方法區(qū)別?
JAVA8的ConcurrentHashMap為什么放棄了分段鎖,有什么問題嗎,如果你來設(shè)計(jì),你如何設(shè)計(jì)。
(4).JVM
談?wù)勀銓馕雠c分派的認(rèn)識。
你知道哪些或者你們線上使?什么GC策略?它有什么優(yōu)勢,適?于什么場景?
Java類加載器包括?種?它們之間的??關(guān)系是怎么樣的?雙親委派機(jī)制是什么意思?有什么好處?
如何?定義?個類加載器?你使?過哪些或者你在什么場景下需要?個?定義的類加載器嗎?
堆內(nèi)存設(shè)置的參數(shù)是什么?
Perm Space中保存什么數(shù)據(jù)?會引起OutOfMemory嗎?
做GC時,?個對象在內(nèi)存各個Space中被移動的順序是什么?
你有沒有遇到過OutOfMemory問題?你是怎么來處理這個問題的?處理 過程中有哪些收獲?
StackOverflow異常有沒有遇到過??般你猜測會在什么情況下被觸發(fā)?如何指定?個線程的堆棧????般你們寫多少?
內(nèi)存模型以及分區(qū),需要詳細(xì)到每個區(qū)放什么。
分派:靜態(tài)分派與動態(tài)分派。
虛擬機(jī)在運(yùn)行時有哪些優(yōu)化策略
請解釋StackOverflowError和OutOfMemeryError的區(qū)別?
.在JVM中,如何判斷一個對象是否死亡?
從網(wǎng)絡(luò)加載一個10M的圖片,說下注意事項(xiàng)
OSI網(wǎng)絡(luò)體系結(jié)構(gòu)與TCP/IP協(xié)議模型
TCP的3次握手和四次揮手
為什么TCP鏈接需要三次握手,兩次不可以么,為什么?
TCP協(xié)議如何來保證傳輸?shù)目煽啃?/span>
TCP與UDP的區(qū)別
TCP與UDP的有哪些應(yīng)用
HTTP1.0與2.0的區(qū)別
HTTP報文結(jié)構(gòu)
HTTP的長連接和短連接?
HTTP與HTTPS的區(qū)別以及如何實(shí)現(xiàn)安全性
如何驗(yàn)證證書的合法性
Get與POST的區(qū)別
TCP的擁塞處理
TCP是如何進(jìn)行流量控制
TCP和UDP分別對應(yīng)的常見應(yīng)用層協(xié)議
IP地址的分類
有了唯一的Mac地址為啥還需要IP地址?
交換機(jī)、集線器與路由器有什么區(qū)別?
網(wǎng)橋的作用
ARP是地址解析協(xié)議,簡單語言解釋一下工作原理。
網(wǎng)絡(luò)接口卡(網(wǎng)卡)的功能?
IO中同步與異步,阻塞與非阻塞區(qū)別
URI和URL的區(qū)別
GET請求中URL編碼的意義
常見狀態(tài)碼及原因短語
說說Session、Cookie 與 Application
如何避免瀏覽器緩存
什么是分塊傳送。
談?wù)凷QL 注入
DDos 攻擊
DDos攻擊有那些預(yù)防方法?
什么是XSS 攻擊
從輸入網(wǎng)址到獲得頁面的過程
這部分要會手動實(shí)現(xiàn)一些數(shù)據(jù)結(jié)構(gòu),我總結(jié)了以下一些重要的數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)
鏈表(增刪查操作)
單向鏈表
雙向鏈表
隊(duì)列(增刪查操作)
普通隊(duì)列
優(yōu)先隊(duì)友
樹
二叉樹(前序、中序、后序)
平衡樹(盡量會實(shí)現(xiàn)代碼)
堆
紅黑樹(了解性質(zhì)、應(yīng)用場景)
B樹(了解性質(zhì)、應(yīng)用場景)
圖
Prim算法
Kruskal算法
深度優(yōu)先搜索
廣度優(yōu)先搜索
最短路徑
最小生成樹
拓?fù)?/span>
字符串
Knuth-Morris-Pratt算法
Boyer-Moore算法
散列
幾種算法思想
遞歸
遞推
貪心
枚舉
動態(tài)規(guī)劃
回溯法
分治
必學(xué)十大排序算法
選擇排序
插入排序
冒泡排序
希爾排序
歸并排序
快速排序
堆排序
計(jì)數(shù)排序
桶排序
基數(shù)排序
刷題
牛客網(wǎng)劍指offer六七十到題
leetcode
請簡潔描述Mysql中InnoDB支持的四種事務(wù)隔離級別名稱,以及逐級之間的區(qū)別?
在Mysql中ENUM的用法是什么?
CHAR和VARCHAR的區(qū)別?
事務(wù)是如何通過日志來實(shí)現(xiàn)的,說得越深入越好
drop,delete與truncate的區(qū)別
局部性原理與磁盤預(yù)讀
數(shù)據(jù)庫范式
存儲過程與觸發(fā)器的區(qū)別
鎖的優(yōu)化策略
什么情況下設(shè)置了索引但無法使用
什么情況下不宜建立索引?
解釋MySQL外連接、內(nèi)連接與自連接的區(qū)別
完整性約束包括哪些?
Mysql 的存儲引擎,myisam和innodb的區(qū)別。
如何進(jìn)行SQL優(yōu)化
樂觀鎖和悲觀鎖是什么,INNODB的標(biāo)準(zhǔn)行級鎖有哪2種,解釋其含義。
MVCC的含義,如何實(shí)現(xiàn)的
MYSQL的主從延遲怎么解決。
1. spring概述
使用Spring框架的好處是什么?
Spring由哪些模塊組成?
解釋AOP模塊
解釋W(xué)EB 模塊
核心容器(應(yīng)用上下文) 模塊。
什么是Spring IOC 容器?
IOC的優(yōu)點(diǎn)是什么?
ApplicationContext通常的實(shí)現(xiàn)是什么?
Bean 工廠和 Application contexts 有什么區(qū)別?
Bean 工廠和 Application contexts 有什么區(qū)別?
2. spring依賴注入
什么是Spring的依賴注入?
有哪些不同類型的IOC(依賴注入)方式?
什么是Spring beans?
一個 Spring Bean 定義 包含什么?
解釋Spring支持的幾種bean的作用域。
Spring框架中的單例bean是線程安全的嗎?
解釋Spring框架中bean的生命周期
哪些是重要的bean生命周期方法? 你能重載它們嗎?
什么是bean裝配?
什么是bean的自動裝配?
解釋不同方式的自動裝配 。
自動裝配有哪些局限性 ?
3. spring 注解
怎樣開啟注解裝配?
談?wù)凘Required、 @Autowired、 @Qualifier注解。
4, spring 數(shù)據(jù)訪問
在Spring框架中如何更有效地使用JDBC?
使用Spring通過什么方式訪問Hibernate?
Spring框架的事務(wù)管理有哪些優(yōu)點(diǎn)?
5. Spring面向切面編程(AOP)
解釋AOP
Aspect 切面
在Spring AOP 中,關(guān)注點(diǎn)和橫切關(guān)注的區(qū)別是什么?
通知
有幾種不同類型的自動代理?
什么是織入。什么是織入應(yīng)用的不同點(diǎn)?
6. springMVC
什么是Spring的MVC框架?
DispatcherServlet
WebApplicationContext
什么是Spring MVC框架的控制器?
@Controller 注解
@RequestMapping 注解
servlet與Tomcat
Servlet生命周期
forward和redirect的區(qū)別
tomcat容器是如何創(chuàng)建servlet類實(shí)例?用到了什么原理?
什么是cookie?Session和cookie有什么區(qū)別?
Servlet安全性問題
Tomcat 有哪幾種Connector 運(yùn)行模式(優(yōu)化)?
*
JSP
jsp靜態(tài)包含和動態(tài)包含的區(qū)別
jsp有哪些內(nèi)置對象?作用分別是什么?
jsp和servlet的區(qū)別、共同點(diǎn)、各自應(yīng)用的范圍?
寫出5種JSTL常用標(biāo)簽
JSP是如何被執(zhí)行的?執(zhí)行效率比SERVLET低嗎?
說出Servlet和CGI的區(qū)別?
簡述JSP的設(shè)計(jì)模式。
后面還會陸續(xù)找一些其他的,例如 redis,消息隊(duì)列以及一些情景題,暫時先放這么多,后面會陸續(xù)給出解答。
不知道有多少人是看到最后的,能看到最后證明你是真牛逼,點(diǎn)個贊讓我看看?
來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點(diǎn)保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利
蘇公網(wǎng)安備32010402000125
蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司
南京思必達(dá)教育科技有限公司版權(quán)所有 百度統(tǒng)計(jì)