{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問(wèn)答專(zhuān)欄Q & A COLUMN

java面試題有哪些?

genefygenefy 回答0 收藏1
收藏問(wèn)題

10條回答

tomorrowwu

tomorrowwu

回答于2022-06-28 14:10

肝了一個(gè)月的面試題終于來(lái)啦,大家開(kāi)心不。

2020年最新Java面試題整理,全網(wǎng)最全一份,包含各個(gè)技術(shù)棧,Java基礎(chǔ),Java集合,多線(xiàn)程,Java異常,spring,spring MVC,spring boot,spring cloud,netty,dubbo,activemq,Java web,jvm,kafka,MongoDB,mybatis,MySQL,Nginx,rabbitmq,Redis,Tomcat,zookeeper,設(shè)計(jì)模式,數(shù)據(jù)結(jié)構(gòu),算法,分布式,限流,降級(jí),cap原理等等知識(shí)點(diǎn)

話(huà)不多說(shuō),直接上圖

總共80多個(gè)PDF

【BAT必備】計(jì)算機(jī)網(wǎng)絡(luò)面試題:

鏈接:https://pan.baidu.com/s/1hFggmtdL1ZmE4utBlo8S1g 提取碼:qfkh

【BAT必備】設(shè)計(jì)模式面試題

鏈接:https://pan.baidu.com/s/1eXJveIVvQe-m3MdvLcT-fQ 提取碼:j0kx

【BAT必備】數(shù)據(jù)結(jié)構(gòu)算法面試題:

鏈接:https://pan.baidu.com/s/1daFN9jY03fXsqwc9LeKi2w 提取碼:5ab7

【BAT必備】多線(xiàn)程面試題:

鏈接:https://pan.baidu.com/s/1GdvsNESoHPBjWKN2h-iK7Q 提取碼:cqib

【BAT必備】并發(fā)編程鎖面試題:

鏈接:https://pan.baidu.com/s/1hXPPtMY2dvz-g7QcSTc3PA 提取碼:zhmy

【BAT必備】tomcat面試題:

鏈接:https://pan.baidu.com/s/1qPZXx4lmLynmaF0XjRTzpQ 提取碼:5m16

【BAT必備】zookeeper面試題:

鏈接:https://pan.baidu.com/s/1EhOee9e1Qe-Q6RC8KlthxA 提取碼:p2am

【BAT必備】spring 全家桶面試題:

鏈接:https://pan.baidu.com/s/1DXGO-N5P6QIGKLZ8LIVOuQ 提取碼:m9v7

【BAT必備】rocketMq面試題:

鏈接:https://pan.baidu.com/s/1TEF3yUR4OOaIpj-4ud_79A 提取碼:3g3d

【BAT必備】redis面試題:

鏈接:https://pan.baidu.com/s/1qlanxWBfwvKUObnHulCQiA 提取碼:rjo7

【BAT必備】rabbitMq面試題:

鏈接:https://pan.baidu.com/s/1ywLiq3IUJVyZosPLNrmyTA 提取碼:0td4

【BAT必備】netty面試題:

鏈接:https://pan.baidu.com/s/1Pbv4aelqOt1dUPA2SwEB_Q 提取碼:2w1e

【BAT必備】Nginx面試題:

鏈接:https://pan.baidu.com/s/1r8YNyOz0N6MJ9F0045lEZw 提取碼:49tl

【BAT必備】MySQL面試題:

鏈接:https://pan.baidu.com/s/1GeX6Fs4nNi6fTUHKxJ2SZw 提取碼:8pow

【BAT必備】mybatis面試題:

鏈接:https://pan.baidu.com/s/1xOYiaiQ2JpPt2jb6GdWjaA 提取碼:aqd3

【BAT必備】MongoDB面試題:

鏈接:https://pan.baidu.com/s/1QTVx1TF8tDn6LUJr7wdfOQ 提取碼:j1qt

【BAT必備】Linux面試題:

鏈接:https://pan.baidu.com/s/1veZ3dBJmz1PduCE5tl-e1A 提取碼:txpf

【BAT必備】kafka面試題:

鏈接:https://pan.baidu.com/s/1SWhiBCswleYGsDupSGzE6g 提取碼:o1gv

【BAT必備】jvm面試題:

鏈接:https://pan.baidu.com/s/1xi-QLq_I75kha439EGqELw 提取碼:kxde

【BAT必備】java web面試題:

鏈接:https://pan.baidu.com/s/1r3Bupn9qhJbw5ebR_6h94A 提取碼:qba4

【BAT必備】Java基礎(chǔ)面試題:

鏈接:https://pan.baidu.com/s/1J40nYKIoV_VMCumoRpIyhQ 提取碼:5xo7

【BAT必備】dubbo面試題:

鏈接:https://pan.baidu.com/s/10flnh7Tb0Oxd3yZPQOnjsA 提取碼:5gc9

【BAT必備】activeMQ面試題:

鏈接:https://pan.baidu.com/s/1igNB64dpMCjCQkRzvqCXpQ 提取碼:006a

【BAT必備】分布式相關(guān)面試題大全面試題:

鏈接:https://pan.baidu.com/s/1ZcpJDh07B2NPAL4_4VC6jQ 提取碼:w4mw

【BAT必備】java面試題大全:

鏈接:https://pan.baidu.com/s/11jw0Ua4CZiI8-S6EadM_iQ 提取碼:epmp

【BAT必備】Java面試匯總

鏈接:https://pan.baidu.com/s/1vG9_cNoiYBW5TY32S4wGnQ 提取碼:k087

【BAT必備】2020年多家公司整理的350道Java面試題手冊(cè)

鏈接:https://pan.baidu.com/s/1FEGQVTgiyKG0kCasYn-n2g 提取碼:f7y1

【BAT必備】Java全部核心知識(shí)點(diǎn)整理

鏈接:https://pan.baidu.com/s/1StG-ib70TDAE1Hb4NVLQRQ 提取碼:5rp1


整理這些非常辛苦,大家 點(diǎn)個(gè)贊 在走吧

評(píng)論0 贊同0
  •  加載中...
legendmohe

legendmohe

回答于2022-06-28 14:10

2021大廠(chǎng)java面試題庫(kù):可能會(huì)有些多,建議你都自己整理答案,然后去面試,提取去高頻的再好好記記,我覺(jué)得能很快找到工作的。

Java基礎(chǔ)面試題庫(kù)

  1. 說(shuō)下面向?qū)ο笏拇筇匦?/li>
  2. Java語(yǔ)言有些特點(diǎn)
  3. 什么是Java程序的主類(lèi)?應(yīng)用程序和小程序的主類(lèi)有何不同?
  4. 訪(fǎng)問(wèn)修飾符public,private,protected,以及不寫(xiě)(默認(rèn))時(shí)的區(qū)別?
  5. float f=3.4;是否正確?
  6. Java有沒(méi)有g(shù)oto?
  7. &和&&的區(qū)別?
  8. Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
  9. 用最有效率的方法計(jì)算2乘以8?
  10. 什么是Java注釋
  11. Java有哪些數(shù)據(jù)類(lèi)型
  12. final 有什么用?
  13. final finally finalize的區(qū)別
  14. String str = "i" 和String str = new String("1")一樣嗎?
  15. Java 中操作字符串都有哪些類(lèi)?它們之間有什么區(qū)別?
  16. Java中為什么要用 clone?
  17. 深克隆和淺克???
  18. new一個(gè)對(duì)象的過(guò)程和clone一個(gè)對(duì)象的區(qū)別?
  19. Java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?
  20. 談?wù)勀銓?duì)多態(tài)的理解?
  21. 構(gòu)造器(constructor)是否可被重寫(xiě)(override)?
  22. 兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?
  23. String類(lèi)的常用方法有哪些?
  24. char型變量中能否能不能存儲(chǔ)一個(gè)中文漢字,為什么?
  25. this關(guān)鍵字的用法
  26. super關(guān)鍵字的用法
  27. this與super的區(qū)別
  28. static存在的主要意義
  29. static的獨(dú)特之處
  30. static應(yīng)用場(chǎng)景
  31. static注意事項(xiàng)
  32. break ,continue ,return 的區(qū)別及作用
  33. 在Java中定義一個(gè)不做事且沒(méi)有參數(shù)的構(gòu)造方法的作用
  34. 構(gòu)造方法有哪些特性?
  35. 靜態(tài)變量和實(shí)例變量區(qū)別
  36. 靜態(tài)方法和實(shí)例方法有何不同?
  37. 什么是方法的返回值?返回值的作用是什么?
  38. 什么是內(nèi)部類(lèi)?
  39. 內(nèi)部類(lèi)的分類(lèi)有哪些
  40. Java中異常分為哪些種類(lèi)?
  41. hashCode 與 equals (重要)
  42. hashCode()介紹
  43. 為什么要有 hashCode
  44. 抽象類(lèi)和接口(Java7)的區(qū)別
  45. Java 8的接口新增了哪些特性?
  46. 重寫(xiě)和重載的區(qū)別
  47. ArrayList和LinkedList有什么區(qū)別?
  48. HashMap是怎么實(shí)現(xiàn)的?
  49. HashMap在Java7和Java8中的實(shí)現(xiàn)有什么不同?
  50. HashMap有時(shí)候會(huì)死循環(huán),你知道是什么原因嗎?
  51. ConcurrentHashMap是怎么實(shí)現(xiàn)的?
  52. 靜態(tài)代理和動(dòng)態(tài)代理的區(qū)別
  53. JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理的區(qū)別

Java多線(xiàn)程面試題庫(kù)

  1. 說(shuō)說(shuō)synchronized的實(shí)現(xiàn)原理
  2. ReentrantLock與synchronized的區(qū)別
  3. ReentrantLock實(shí)現(xiàn)原理
  4. Java原子類(lèi)AtomicInteger實(shí)現(xiàn)原理
  5. Java線(xiàn)程池實(shí)現(xiàn)原理
  6. ThreadLocal實(shí)現(xiàn)原理
  7. InheritableThreadLocal原理知道嗎?
  8. 說(shuō)一下synchronized鎖升級(jí)過(guò)程
  9. 了解過(guò)什么是“偽共享”嗎?
  10. “偽共享”出現(xiàn)的原因是什么?
  11. 如何避免“偽共享”?
  12. Java里的線(xiàn)程有哪些狀態(tài)?
  13. 什么是悲觀(guān)鎖?什么是樂(lè)觀(guān)鎖?
  14. 怎么停止一個(gè)運(yùn)行中的線(xiàn)程?
  15. 說(shuō)一下你對(duì)volatile的理解?
  16. 并發(fā)編程三要素?
  17. 線(xiàn)程池的優(yōu)點(diǎn)?
  18. CyclicBarrier和CountDownLatch的區(qū)別
  19. 什么是CAS?
  20. CAS的問(wèn)題
  21. 什么是AQS?
  22. AQS支持幾種同步方式?
  23. 什么是自旋鎖?
  24. 什么是多線(xiàn)程的上下文切換?
  25. 什么是線(xiàn)程和進(jìn)程?
  26. 程序計(jì)數(shù)器為什么是私有的?
  27. 虛擬機(jī)棧和本地方法棧為什么是私有的?
  28. 并發(fā)與并行的區(qū)別?
  29. 什么是線(xiàn)程死鎖?如何避免死鎖?
  30. sleep() 方法和 wait() 方法的區(qū)別和共同點(diǎn)?
  31. 為什么我們調(diào)用 start() 方法時(shí)會(huì)執(zhí)行 run() 方法,為什么我們不能直接調(diào)用 run() 方法?
  32. 什么是線(xiàn)程安全問(wèn)題?如何解決?
  33. 什么是活鎖?
  34. 什么是線(xiàn)程的饑餓問(wèn)題?如何解決?
  35. 什么是線(xiàn)程的阻塞問(wèn)題?如何解決?
  36. synchronized 關(guān)鍵字和 volatile 關(guān)鍵字的區(qū)別
  37. 說(shuō)一說(shuō)幾種常見(jiàn)的線(xiàn)程池及適用場(chǎng)景?
  38. 線(xiàn)程池都有哪幾種工作隊(duì)列?
  39. 什么是線(xiàn)程安全?
  40. Java中如何獲取到線(xiàn)程dump文件
  41. Java中用到的線(xiàn)程調(diào)度算法是什么?
  42. Thread.sleep(0)的作用是什么?
  43. 單例模式的線(xiàn)程安全性
  44. Semaphore有什么作用?
  45. Hashtable的size()方法中明明只有一條語(yǔ)句"return count",為什么還要做同步?
  46. 同步方法和同步塊,哪個(gè)是更好的選擇?
  47. 高并發(fā)、任務(wù)執(zhí)行時(shí)間短的業(yè)務(wù)怎樣使用線(xiàn)程池?并發(fā)不高、任務(wù)執(zhí)行時(shí)間長(zhǎng)的業(yè)務(wù)怎樣使用線(xiàn)程池?并發(fā)高、業(yè)務(wù)執(zhí)行時(shí)間長(zhǎng)的業(yè)務(wù)怎樣使用線(xiàn)程池?

Java虛擬機(jī)面試題庫(kù)

  1. 說(shuō)一下JVM的內(nèi)存結(jié)構(gòu)?
  2. 棧幀里面包含哪些東西?
  3. 程序計(jì)數(shù)器有什么作用?
  4. 字符串常量存放在哪個(gè)區(qū)域?
  5. 你熟悉哪些垃圾收集算法?
  6. Java里有哪些引用類(lèi)型?
  7. JVM怎么判斷一個(gè)對(duì)象是不是要回收?
  8. GC Roots 有哪些?
  9. 你知道哪些GC類(lèi)型?
  10. 對(duì)象都是優(yōu)先分配在年輕代上的嗎?
  11. 你了解過(guò)哪些垃圾收集器?
  12. 說(shuō)說(shuō)CMS垃圾收集器的工作原理
  13. 說(shuō)說(shuō)G1垃圾收集器的工作原理
  14. 說(shuō)說(shuō)ZGC垃圾收集器的工作原理
  15. ZGC收集器中的染色指針有什么用?
  16. 說(shuō)說(shuō)類(lèi)加載的過(guò)程
  17. 說(shuō)下有哪些類(lèi)加載器?
  18. 什么是雙親委派機(jī)制?
  19. 雙親委派機(jī)制可以被違背嗎?請(qǐng)舉例說(shuō)明。
  20. Tomcat是怎么打破雙親委派機(jī)制的呢?
  21. Java對(duì)象的布局了解過(guò)嗎?
  22. 什么情況下會(huì)發(fā)生棧內(nèi)存溢出?
  23. JVM新生代中為什么要分為Eden和Survivor?
  24. JVM中一次完整的GC流程是怎樣的,對(duì)象如何晉升到老年代?
  25. 什么是指令重排序?
  26. 什么是內(nèi)存屏障?
  27. 什么是happen-before原則?
  28. 說(shuō)說(shuō)你知道的幾種主要的JVM參數(shù)
  29. 怎么打出線(xiàn)程棧信息?
  30. 為什么需要雙親委派模式?
  31. 怎么打破雙親委派模型?
  32. 說(shuō)一下堆和棧的區(qū)別
  33. Java 8 為什么要將永久代(PermGen)替換為元空間(MetaSpace)呢?
  34. 說(shuō)一下Java對(duì)象的創(chuàng)建過(guò)程
  35. 對(duì)象的訪(fǎng)問(wèn)定位有哪幾種方式?
  36. 說(shuō)一下堆內(nèi)存中對(duì)象的分配的基本策略
  37. Minor Gc和Full GC 有什么不同呢?
  38. Java會(huì)存在內(nèi)存泄漏嗎?請(qǐng)簡(jiǎn)單描述。
  39. 如何判斷一個(gè)類(lèi)是無(wú)用的類(lèi)?
  40. 介紹一下類(lèi)文件結(jié)構(gòu)吧!
  41. 說(shuō)一下 JVM 調(diào)優(yōu)的工具?
  42. JVM調(diào)優(yōu)命令有哪些?
  43. JRE、JDK、JVM 及 JIT 之間有什么不同?
  44. 程序計(jì)數(shù)器為什么是私有的?
  45. 如何判斷一個(gè)常量是廢棄常量 ?

Java IO面試題庫(kù)

  1. Java 中有幾種類(lèi)型的流?
  2. 什么是 java序列化?
  3. 如何實(shí)現(xiàn) java 序列化?
  4. 字節(jié)流和字符流的區(qū)別?
  5. PrintStream、BufferedWriter、PrintWriter的比較?
  6. 什么是節(jié)點(diǎn)流,什么是處理流,它們各有什么用處,處理流的創(chuàng)建有什么特征?
  7. 流一般需要不需要關(guān)閉,如果關(guān)閉的話(huà)在用什么方法,一般要在那個(gè)代碼塊里面關(guān)閉比較好,處理流是怎么關(guān)閉的,如果有多個(gè)流互相調(diào)用傳入是怎么關(guān)閉的?
  8. 什么是BIO
  9. 什么是NIO
  10. 什么是AIO
  11. 同步與異步
  12. 阻塞與非阻塞
  13. 同步、異步、阻塞、非堵塞
  14. 通道是個(gè)什么意思?
  15. 緩沖區(qū)是什么意思?
  16. IO多路復(fù)用的底層原理

MySQL面試題庫(kù)

  1. 什么是索引?
  2. 索引是個(gè)什么樣的數(shù)據(jù)結(jié)構(gòu)呢?
  3. Hash索引和B+樹(shù)索引有什么區(qū)別或者說(shuō)優(yōu)劣呢?
  4. 在建立索引的時(shí)候,都有哪些需要考慮的因素呢?
  5. 了解過(guò)哪些存儲(chǔ)引擎?各有什么優(yōu)缺點(diǎn)?
  6. 說(shuō)一下什么是事務(wù)的ACID屬性吧
  7. 事務(wù)的隔離級(jí)別了解過(guò)嗎?
  8. 說(shuō)說(shuō)InnoDB的索引原理
  9. 說(shuō)說(shuō)InnoDB的MVCC機(jī)制
  10. 有了解過(guò)“回表”的概念嗎?什么情況下會(huì)出現(xiàn)“回表”?
  11. MySQL索引的類(lèi)型
  12. 有做過(guò)MySQL的索引優(yōu)化嗎?
  13. 什么是聚簇索引?
  14. InnoDB有聚簇索引嗎?MyIsam呢?
  15. MyIsam的數(shù)據(jù)是怎么存儲(chǔ)的?
  16. InnoDB的數(shù)據(jù)是怎么存儲(chǔ)的?
  17. InnoDB主鍵索引跟非主鍵索引在數(shù)據(jù)存儲(chǔ)上的差異
  18. InnoDB刪除某條記錄后,內(nèi)部會(huì)怎么處理?
  19. InnoDB如果沒(méi)有設(shè)置主鍵的話(huà),它內(nèi)部會(huì)怎么處理?
  20. 為什么InnoDB一定會(huì)生成主鍵?
  21. MySQL分庫(kù)分表了解過(guò)嗎?
  22. MySQL的redo日志和undo日志分別有什么用?
  23. MySQL的redo日志的刷盤(pán)時(shí)機(jī)
  24. MySQL有哪些鎖?以及各種鎖的作用?
  25. MySQL中varchar與char的區(qū)別以及varchar(50)中的50代表的涵義
  26. MySQL有哪些日志,分別是什么用處?
  27. 在哪些情況下會(huì)發(fā)生針對(duì)該列創(chuàng)建了索引但是在查詢(xún)的時(shí)候并沒(méi)有使用呢?
  28. 為什么要盡量設(shè)定一個(gè)主鍵?
  29. 主鍵使用自增ID還是UUID?
  30. 字段為什么要求定義為not null?
  31. 如果要存儲(chǔ)用戶(hù)的密碼散列,應(yīng)該使用什么字段進(jìn)行存儲(chǔ)?
  32. varchar(10)和int(10)代表什么含義?
  33. MySQL的binlog有有幾種錄入格式?分別有什么區(qū)別?
  34. 超大分頁(yè)怎么處理?
  35. 關(guān)心過(guò)業(yè)務(wù)系統(tǒng)里面的sql耗時(shí)嗎?統(tǒng)計(jì)過(guò)慢查詢(xún)嗎?對(duì)慢查詢(xún)都怎么優(yōu)化過(guò)?
  36. 什么是存儲(chǔ)過(guò)程?有哪些優(yōu)缺點(diǎn)?
  37. 說(shuō)一說(shuō)三個(gè)范式
  38. 什么情況下應(yīng)不建或少建索引
  39. 什么是表分區(qū)?
  40. 表分區(qū)與分表的區(qū)別
  41. 表分區(qū)有什么好處?
  42. MVVC了解過(guò)嗎
  43. 在MVCC并發(fā)控制中,讀操作可以分成哪幾類(lèi)?
  44. 行級(jí)鎖定的優(yōu)點(diǎn)
  45. 行級(jí)鎖定的缺點(diǎn)
  46. MySQL優(yōu)化
  47. key和index的區(qū)別
  48. delete、truncate、drop區(qū)別
  49. MySQL主從復(fù)制原理流程
  50. 自增主鍵最大ID記錄,MyISAM和InnoDB分別是如何存儲(chǔ)的
  51. Mysql如何優(yōu)化DISTINCT?
  52. 解釋MySQL外連接、內(nèi)連接與自連接的區(qū)別

Redis面試題庫(kù)

  1. 什么是Redis?簡(jiǎn)述它的優(yōu)缺點(diǎn)?
  2. Redis相比memcached有哪些優(yōu)勢(shì)?
  3. Redis有哪些數(shù)據(jù)結(jié)構(gòu)?
  4. Redis主要消耗什么物理資源?
  5. Redis的全稱(chēng)是什么?
  6. 一個(gè)字符串類(lèi)型的值能存儲(chǔ)最大容量是多少?
  7. Redis為什么那么快?
  8. Redis如何實(shí)現(xiàn)分布式鎖?
  9. Redis是單線(xiàn)程還是多線(xiàn)程?
  10. Redis 官方為什么不提供 Windows 版本?
  11. 為什么 Redis 需要把所有數(shù)據(jù)放到內(nèi)存中?
  12. Redis如何設(shè)置密碼及驗(yàn)證密碼?
  13. Redis集群如何選擇數(shù)據(jù)庫(kù)?
  14. 緩存失效?緩存穿透?緩存雪崩?緩存并發(fā)?
  15. Redis中的熱key怎么處理?
  16. Redis中的大key怎么處理?
  17. 使用Redis統(tǒng)計(jì)網(wǎng)站的UV,應(yīng)該怎么做?
  18. Redis事務(wù)機(jī)制了解過(guò)嗎?
  19. Redis key的淘汰策略有哪些?
  20. Redis在什么情況下會(huì)觸發(fā)key的回收?
  21. Redis的持久化了解過(guò)嗎?
  22. Redis在集群種查找key的時(shí)候,是怎么定位到具體節(jié)點(diǎn)的?
  23. Redis集群各個(gè)節(jié)點(diǎn)之間是怎么保持?jǐn)?shù)據(jù)一致性的?
  24. 用Redis做延時(shí)隊(duì)列,具體應(yīng)該怎么實(shí)現(xiàn)?
  25. Redis String的內(nèi)部編碼有哪些?
  26. Redis 集群方案應(yīng)該怎么做?都有哪些方案?
  27. Redis 集群方案什么情況下會(huì)導(dǎo)致整個(gè)集群不可用?
  28. MySQL 里有 2000w 數(shù)據(jù),redis 中只存 20w 的數(shù)據(jù),如何保證 redis 中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)?
  29. Redis有哪些適合的場(chǎng)景?
  30. Redis和Redisson有什么關(guān)系?
  31. Redis中的管道有什么用?
  32. Redis如何做內(nèi)存優(yōu)化?

Spring面試題庫(kù)

  1. 什么是spring?
  2. 使用Spring框架的好處是什么?
  3. Spring由哪些模塊組成
  4. Spring是怎么解決循環(huán)依賴(lài)的?
  5. Spring Boot手動(dòng)裝配有哪幾種方式?
  6. Spring Boot自動(dòng)配置原理
  7. 談?wù)勛约簩?duì)于Spring IOC的理解
  8. 談?wù)勛约簩?duì)于Spring AOP的理解
  9. Spring AOP和AspectJ AOP有什么區(qū)別?
  10. Spring中的bean的作用域有哪些?
  11. Spring中的單例bean的線(xiàn)程安全問(wèn)題了解嗎?
  12. Spring中的bean生命周期了解過(guò)嗎?
  13. Spring MVC的工作原理了解嘛?
  14. Spring框架中用到了哪些設(shè)計(jì)模式?
  15. @Component和@Bean的區(qū)別是什么?
  16. 將一個(gè)類(lèi)聲明為Spring的bean的注解有哪些?
  17. Spring事務(wù)管理的方式有幾種?
  18. Spring事務(wù)中的隔離級(jí)別有哪幾種?
  19. Spring事務(wù)中有哪幾種事務(wù)傳播行為?
  20. Spring 事務(wù)底層原理
  21. BeanFactory和ApplicationContext有什么區(qū)別?
  22. Resource 是如何被查找、加載的?
  23. 解釋自動(dòng)裝配的各種模式?
  24. 有哪些不同類(lèi)型的IOC(依賴(lài)注入)?
  25. Spring AOP 實(shí)現(xiàn)原理
  26. ApplicationContext通常的實(shí)現(xiàn)是什么?
  27. Bean 工廠(chǎng)和 Application contexts 有什么區(qū)別?

Spring Boot面試題庫(kù)

  1. 什么是springboot
  2. Spring Boot 有哪些優(yōu)點(diǎn)?
  3. 創(chuàng)建一個(gè) Spring Boot Project 的最簡(jiǎn)單的方法是什么?
  4. Spring 和 SpringBoot 有什么不同?
  5. 如何重新加載 Spring Boot 上的更改,而無(wú)需重新啟動(dòng)服務(wù)器?
  6. Spring Boot 中的監(jiān)視器是什么?
  7. 如何在 Spring Boot 中禁用 Actuator 端點(diǎn)安全性?
  8. 怎么使用 Maven 來(lái)構(gòu)建一個(gè) SpringBoot 程序?
  9. Spring Initializr 是創(chuàng)建 Spring Boot Projects 的唯一方法嗎?
  10. 為什么我們需要 spring-boot-maven-plugin?
  11. 什么是嵌入式服務(wù)器?我們?yōu)槭裁匆褂们度胧椒?wù)器呢?
  12. 如何在 Spring Boot 中添加通用的 JS 代碼?
  13. 如何使用 Spring Boot 部署到不同的服務(wù)器?
  14. 如何使用配置文件通過(guò) Spring Boot 配置特定環(huán)境的配置?
  15. 什么是Swagger?你用Spring Boot實(shí)現(xiàn)了嗎?
  16. 如何實(shí)現(xiàn)Spring Boot應(yīng)用程序的安全性?
  17. 比較一下Spring Security和Shiro各自的優(yōu)缺點(diǎn)?
  18. Spring Boot中如何解決跨域問(wèn)題?
  19. Spring Boot的核心注解是哪些?他由哪幾個(gè)注解組成的?
  20. 保護(hù)SpringBoot應(yīng)用有哪些方法?
  21. SpringBoot 2.X有哪些新特性?與1.X有什么區(qū)別?

Spring Cloud面試題庫(kù)

  1. 什么是 spring cloud?
  2. 使用Spring Cloud有什么優(yōu)勢(shì)?
  3. 服務(wù)注冊(cè)和發(fā)現(xiàn)是什么意思?Spring Cloud如何實(shí)現(xiàn)?
  4. Spring Cloud由哪些組件組成?
  5. 什么是Hystrix?它如何實(shí)現(xiàn)容錯(cuò)?
  6. 什么是Hystrix斷路器?我們需要它嗎?
  7. 什么是Netflix Feign?它的優(yōu)點(diǎn)是什么?
  8. Eureka的工作原理?
  9. 說(shuō)說(shuō)Eureka的自我保護(hù)機(jī)制?
  10. 什么是zuul?
  11. zuul的工作流程?
  12. 什么是服務(wù)熔斷?什么是服務(wù)降級(jí)?
  13. 什么是服務(wù)雪崩效應(yīng)?
  14. ZuulFilter有哪些常用方法?
  15. 如何實(shí)現(xiàn)動(dòng)態(tài)Zuul網(wǎng)關(guān)路由轉(zhuǎn)發(fā)?
  16. 什么是 Spring Cloud Bus?
  17. Spring Cloud Bus 原理?
  18. SpringCloud Config可以實(shí)現(xiàn)實(shí)時(shí)刷新嗎?
  19. Eureka和zookeeper都可以提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能,兩者的區(qū)別

MyBatis面試題庫(kù)

  1. 什么是Mybatis?
  2. Mybatis的優(yōu)缺點(diǎn)?
  3. Mybatis使用場(chǎng)合?
  4. #{}和${}的區(qū)別是什么?
  5. 當(dāng)實(shí)體類(lèi)的屬性名和表種字段名不一致怎么辦?
  6. Mybatis是如何將sql執(zhí)行結(jié)果封裝為目標(biāo)對(duì)象并返回的?都有哪些映射形式?
  7. 如何獲取自動(dòng)生成的(主)鍵值?
  8. Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重復(fù)?
  9. Mybatis動(dòng)態(tài)SQL?
  10. 說(shuō)一下resultMap和resultType?
  11. Mybatis全局配置文件中有哪些標(biāo)簽?分別代表什么意思?
  12. Mybatis能執(zhí)行一對(duì)一、一對(duì)多的關(guān)聯(lián)查詢(xún)嗎?都有哪些實(shí)現(xiàn)方式,以及它們之間的區(qū)別。
  13. Mybatis是否支持延遲加載?如果支持,它的實(shí)現(xiàn)原理是什么?
  14. Mybatis都有哪些Executor執(zhí)行器?它們之間的區(qū)別是什么?
  15. Mybatis的一級(jí)、二級(jí)緩存

Netty面試題庫(kù)

  1. 你了解過(guò)哪些IO模型?
  2. 什么是Reactor模型?Reactor的3種版本都知道嗎?
  3. 了解過(guò)粘包拆包嗎?為什么會(huì)出現(xiàn)粘包拆包?怎么處理粘包拆包?
  4. UDP協(xié)議會(huì)有粘包拆包的問(wèn)題嗎?為什么?
  5. Netty 是什么?
  6. 為什么要用 Netty?
  7. Netty 的應(yīng)用場(chǎng)景了解么?
  8. Netty 的零拷貝了解么?
  9. Netty 的心跳機(jī)制了解么?
  10. Netty 中有哪些重要組件?
  11. Netty 發(fā)送消息有幾種方式?
  12. Netty 支持哪些心跳類(lèi)型設(shè)置?
  13. 說(shuō)說(shuō)Netty的執(zhí)行流程?
  14. Netty高性能體現(xiàn)在哪些方面?

微服務(wù)面試題庫(kù)

  1. 微服務(wù)有哪些優(yōu)缺點(diǎn)?
  2. 作為注冊(cè)中心,Zookeeper和Eureka有什么區(qū)別?
  3. Service Mesh了解過(guò)嗎?
  4. 微服務(wù)有哪些特點(diǎn)?
  5. 單片,SOA 和微服務(wù)架構(gòu)有什么區(qū)別?
  6. Spring Cloud 解決了哪些問(wèn)題?
  7. 服務(wù)注冊(cè)和發(fā)現(xiàn)是什么意思?Spring Cloud 如何實(shí)現(xiàn)?
  8. Spring Cloud 和dubbo的區(qū)別?
  9. 什么是微服務(wù)?
  10. 微服務(wù)之間是如何通訊的?
  11. 請(qǐng)談?wù)剬?duì)SpringBoot 和SpringCloud的理解
  12. 什么是服務(wù)熔斷,什么是服務(wù)降級(jí)
  13. 你所知道的微服務(wù)技術(shù)棧有哪些?
  14. 什么是 Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)?
  15. Eureka的基本架構(gòu)是什么?
  16. 作為服務(wù)注冊(cè)中心,Eureka比Zookeeper好在哪里?

Zookeeper面試題庫(kù)

  1. Zookeeper有哪些節(jié)點(diǎn)類(lèi)型?
  2. 了解過(guò)Zookeeper的ZAB協(xié)議嗎?
  3. Zookeeper怎么實(shí)現(xiàn)分布式鎖?
  4. Zookeeper是怎么保證數(shù)據(jù)一致性的?
  5. Zookeeper Leader選舉過(guò)程是怎樣的?
  6. Zookeeper怎么實(shí)現(xiàn)服務(wù)注冊(cè)?
  7. ZooKeeper是什么?
  8. ZooKeeper提供了什么?
  9. Zookeeper文件系統(tǒng)
  10. Zookeeper Watcher 機(jī)制
  11. 客戶(hù)端注冊(cè)Watcher實(shí)現(xiàn)
  12. 服務(wù)端處理Watcher實(shí)現(xiàn)
  13. ACL權(quán)限控制機(jī)制
  14. 服務(wù)器角色
  15. Zookeeper 下 Server工作狀態(tài)
  16. 數(shù)據(jù)同步
  17. zookeeper是如何保證事務(wù)的順序一致性的?
  18. 分布式集群中為什么會(huì)有Master?
  19. zk節(jié)點(diǎn)宕機(jī)如何處理?
  20. Zookeeper有哪幾種部署模式?
  21. 集群最少要幾臺(tái)機(jī)器,集群規(guī)則是怎樣的?
  22. 集群支持動(dòng)態(tài)添加機(jī)器嗎?
  23. Zookeeper對(duì)節(jié)點(diǎn)的watch監(jiān)聽(tīng)通知是永久的嗎?為什么不是永久的?
  24. ZAB和Paxos算法的聯(lián)系與區(qū)別?
  25. Zookeeper的典型應(yīng)用場(chǎng)景
  26. Zookeeper 和 Dubbo 的關(guān)系?
  27. zookeeper負(fù)載均衡和nginx負(fù)載均衡區(qū)別

消息隊(duì)列面試題庫(kù)

  1. 消息隊(duì)列有哪些應(yīng)用場(chǎng)景?
  2. 消息隊(duì)列的弊端有哪些?
  3. 使用消息隊(duì)列,怎么確保消息不丟失?
  4. 使用消息隊(duì)列,如果處理重復(fù)消息?
  5. Kafka的消息是有序的嗎?如果保證Kafka消息的順序性?
  6. 消息如何保證冪等性
  7. 消息隊(duì)列積壓怎么辦
  8. 各種MQ的比較
  9. 如何解決消息隊(duì)列的延時(shí)以及過(guò)期失效問(wèn)題?消息隊(duì)列滿(mǎn)了以后該怎么處理?有幾百萬(wàn)消息持續(xù)積壓幾小時(shí)怎么解決?
  10. 為什么使用消息隊(duì)列?

Kafka面試題庫(kù)

  1. 為什么要使用 kafka?為什么要使用消息隊(duì)列?
  2. Kafka中的ISR、AR又代表什么?ISR的伸縮又指什么?
  3. kafka中的broker 是干什么的?
  4. kafka中的 zookeeper 起到什么作用?可以不用zookeeper么?
  5. kafka follower如何與leader同步數(shù)據(jù)?
  6. 什么情況下一個(gè) broker 會(huì)從 ISR 中被踢出去?
  7. kafka 為什么那么快?
  8. kafka producer如何優(yōu)化打入速度?
  9. kafka producer 打數(shù)據(jù),ack 為 0, 1, -1 的時(shí)候代表啥, 設(shè)置 -1 的時(shí)候,什么情況下,leader 會(huì)認(rèn)為一條消息 commit 了
  10. kafka unclean 配置代表啥?會(huì)對(duì) spark streaming 消費(fèi)有什么影響?
  11. 如果leader crash時(shí),ISR為空怎么辦?
  12. kafka的message格式是什么樣的?
  13. kafka中consumer group 是什么概念?
  14. Kafka中的消息是否會(huì)丟失和重復(fù)消費(fèi)?
  15. 為什么Kafka不支持讀寫(xiě)分離?
  16. Kafka中是怎么體現(xiàn)消息順序性的?
  17. kafka如何實(shí)現(xiàn)延遲隊(duì)列?
  18. 什么是消費(fèi)者組?
  19. 解釋下 Kafka 中位移(offset)的作用。
  20. 闡述下 Kafka 中的領(lǐng)導(dǎo)者副本(Leader Replica)和追隨者副本 (Follower Replica)的區(qū)別。
  21. 如何設(shè)置 Kafka 能接收的最大消息的大小?
  22. 監(jiān)控 Kafka 的框架都有哪些?
  23. Broker 的 Heap Size 如何設(shè)置?
  24. 如何估算 Kafka 集群的機(jī)器數(shù)量?
  25. Leader 總是 -1,怎么破?
  26. LEO、LSO、AR、ISR、HW 都表示什么含義?
  27. Kafka 能手動(dòng)刪除消息嗎?
  28. consumer_offsets 是做什么用的?
  29. 分區(qū) Leader 選舉策略有幾種?
  30. Kafka 的哪些場(chǎng)景中使用了零拷貝(Zero Copy)?
  31. 如何調(diào)優(yōu) Kafka?
  32. Controller 發(fā)生網(wǎng)絡(luò)分區(qū)(Network Partitioning)時(shí),Kafka 會(huì)怎么樣?
  33. 簡(jiǎn)述 Follower 副本消息同步的完整流程。

RabbitMQ面試題庫(kù)

  1. 什么是RabbitMQ?為什么使用RabbitMQ?
  2. RabbitMQ有什么優(yōu)缺點(diǎn)?
  3. 什么是元數(shù)據(jù)?元數(shù)據(jù)分為哪些類(lèi)型?包括哪些內(nèi)容?與cluster相關(guān)的元數(shù)據(jù)有哪些?元數(shù)據(jù)是如何保存的?元數(shù)據(jù)在cluster中是如何分布的?
  4. 在單node系統(tǒng)和多node構(gòu)成的cluster系統(tǒng)中聲明queue、exchange,以及進(jìn)行binding會(huì)有什么不同?
  5. 客戶(hù)端連接到cluster中的任意node上是否都能正常工作?
  6. 若cluster中擁有某個(gè)queue的owner node失效了,且該queue 被聲明具有durable屬性,是否能夠成功從其他node上重新聲明該 queue ?
  7. RabbitMQ 的消息是怎么發(fā)送的?
  8. RabbitMQ 怎么避免消息丟失?
  9. RabbitMQ的使用場(chǎng)景有哪些?
  10. RabbitMQ有哪些重要的角色?
  11. 如何確保消息正確地發(fā)送至RabbitMQ?如何確保消息接收方消費(fèi)了消息?
  12. 要保證消息持久化成功的條件有哪些?
  13. RabbitMQ 有幾種廣播類(lèi)型?
  14. vhost 是什么?起什么作用?
  15. 消息基于什么傳輸?
  16. 消息如何分發(fā)?
  17. 消息怎么路由?
  18. 如何確保消息接收方消費(fèi)了消息?
  19. 如何避免消息重復(fù)投遞或重復(fù)消費(fèi)?
  20. 死信隊(duì)列和延遲隊(duì)列的使用

計(jì)算機(jī)網(wǎng)絡(luò)面試題庫(kù)

  1. 請(qǐng)簡(jiǎn)述TCP/UDP的區(qū)別
  2. TCP對(duì)應(yīng)的協(xié)議和UDP對(duì)應(yīng)的協(xié)議
  3. 有哪些私有(保留)地址?
  4. 你能說(shuō)一說(shuō)OSI七層模型?
  5. 說(shuō)一說(shuō)TCP/IP四層模型
  6. 簡(jiǎn)述IP地址的分類(lèi)?
  7. 簡(jiǎn)述ARP地址解析協(xié)議工作原理
  8. 簡(jiǎn)述ICMP、TFTP、HTTP、NAT、DHCP協(xié)議
  9. 說(shuō)一說(shuō)TCP的三次握手
  10. 為什么TCP要三次握手
  11. TCP建立連接時(shí)為什么要傳回 SYN
  12. TCP為什么要四次揮手
  13. 滑動(dòng)窗口和流量控制
  14. 擁塞控制
  15. HTTP 協(xié)議包括哪些請(qǐng)求?
  16. TCP time_wait狀態(tài)是主動(dòng)斷開(kāi)方才有,還是被動(dòng)斷開(kāi)方才有?還是兩邊都有?
  17. TCP的keepalive機(jī)制了解過(guò)嗎?
  18. HTTP的keepalive和TCP的keepalive,有什么區(qū)別?
  19. TCP與UDP的區(qū)別?
  20. 簡(jiǎn)述 HTTP1.0/1.1/2.0 的區(qū)別
  21. HTTPS的原理了解過(guò)嗎?
  22. TCP里Nagle算法了解過(guò)嗎?可以禁用嗎?在Java里怎么禁用?
  23. HTTP協(xié)議為什么無(wú)法實(shí)現(xiàn)服務(wù)端推送?
  24. websocket協(xié)議升級(jí)過(guò)程了解過(guò)嗎?
  25. websocket幀結(jié)構(gòu)了解過(guò)嗎?

數(shù)據(jù)結(jié)構(gòu)與算法面試題庫(kù)

  1. 什么是算法?
  2. TreeMap和TreeSet在排序時(shí)如何比較元素?Collections工具類(lèi)中的sort()方法如何比較元素?
  3. 如何知道二叉樹(shù)的深度?
  4. 介紹一下,堆排序的原理是什么?
  5. 數(shù)組和鏈表的區(qū)別
  6. 二分查找了解過(guò)嗎?
  7. 說(shuō)下你熟悉的排序算法
  8. 布隆過(guò)濾器了解過(guò)嗎?
  9. 一致性hash算法了解過(guò)嗎?
  10. 如何在一個(gè)1到100的整數(shù)數(shù)組中找到丟失的數(shù)字?
  11. 請(qǐng)你講講LRU算法的實(shí)現(xiàn)原理?
  12. 為什么要設(shè)計(jì)后綴表達(dá)式,有什么好處?
  13. 什么是B樹(shù)?
  14. 什么是B+樹(shù)?
  15. 談一談,id全局唯一且自增,如何實(shí)現(xiàn)?

設(shè)計(jì)模式面試題庫(kù)

  1. 接口是什么?為什么要使用接口而不是直接使用具體類(lèi)?
  2. 設(shè)計(jì)模式六大原則?
  3. Java怎么實(shí)現(xiàn)單例模式?
  4. 什么是代理模式?什么是動(dòng)態(tài)代理?Java中動(dòng)態(tài)代理有哪些實(shí)現(xiàn)方式?
  5. 設(shè)計(jì)模式的類(lèi)型
  6. 說(shuō)說(shuō)你所熟悉或聽(tīng)說(shuō)過(guò)的 j2ee 中的幾種常用模式?
  7. 簡(jiǎn)述一下你了解的 Java 設(shè)計(jì)模式(總結(jié))
  8. 適配器模式是什么?什么時(shí)候使用?
  9. 適配器模式與裝飾器模式有什么區(qū)別?
  10. 適配器模式和代理模式之間有什么不同?
  11. 什么是模板方法模式?試舉例說(shuō)明。
  12. OOP中的組合、聚合和關(guān)聯(lián)有什么區(qū)別?
  13. 給我一個(gè)符合開(kāi)閉原則的設(shè)計(jì)模式的例子?
  14. 工廠(chǎng)模式與抽象工廠(chǎng)模式的區(qū)別?
  15. 舉出一個(gè)例子,在這種情況你會(huì)更傾向于使用抽象類(lèi),而不是接口?
  16. Dubbo 源碼使用了哪些設(shè)計(jì)模式?
  17. Spring 當(dāng)中用到了哪些設(shè)計(jì)模式?

分布式面試題庫(kù)

  1. 分布式id如何生成?
  2. 雪花算法了解過(guò)嗎?
  3. 什么是CAP定理?
  4. 分布式事務(wù)了解過(guò)嗎?
  5. 什么是二階段提交(2PC)?什么是三階段提交(3PC)?
  6. TCC了解過(guò)嗎?
  7. Paxos算法了解過(guò)嗎?
  8. Zookeeper的Zab協(xié)議了解過(guò)嗎?
  9. 知道什么是Gossip協(xié)議嗎?
  10. 了解過(guò)哪些負(fù)載均衡算法?
  11. 負(fù)載均衡的實(shí)現(xiàn)方案有哪些?
  12. 正向代理和反向代理的區(qū)別
  13. 分布式 Session了解過(guò)嗎?如何實(shí)現(xiàn)?
  14. 如何防止表單重復(fù)提交?
  15. 如何設(shè)計(jì)一個(gè)秒殺系統(tǒng)?
  16. 分布式系統(tǒng)的接口冪等性設(shè)計(jì)
  17. 如何保障請(qǐng)求執(zhí)行順序
  18. BASE理論了解過(guò)嗎?
  19. SOA和微服務(wù)架構(gòu)有哪些區(qū)別?

Linux面試題庫(kù)

  1. vim有幾種工作模式?
  2. find 命令如何使用?
  3. 如何在 /usr 目錄下找出大小超過(guò) 10MB 的文件?
  4. 如何在 /var 目錄下找出 90 天之內(nèi)未被訪(fǎng)問(wèn)過(guò)的文件?
  5. 如何在 /home 目錄下找出 120 天之前被修改過(guò)的文件?
  6. 在整個(gè)目錄樹(shù)下查找文件 “core” ,如發(fā)現(xiàn)則無(wú)需提示直接刪除它們?
  7. ls 命令
  8. df 命令
  9. rm 命令
  10. mv 命令
  11. cp 命令
  12. tail 命令
  13. grep 命令
  14. sed 命令
  15. 用 sed 命令將指定的路徑 /usr/local/http 替換成為 /usr/src/local/http ?
  16. awk 命令
  17. 打印 /etc/passwd 的 1 到 3 行?
  18. vim 命令
  19. diff 命令
  20. sort 命令
  21. xargs 命令
  22. 把當(dāng)前目錄下所有后綴名為 .txt 的文件的權(quán)限修改為 777 ?
  23. tar 命令
  24. gzip 命令
  25. bzip2 命令
  26. unzip 命令
  27. export 命令
  28. yum 命令
  29. rpm 命令
  30. shutdown 命令
  31. service 命令
  32. whereis 命令
  33. 用一條命令顯示本機(jī) eth0 網(wǎng)卡的 IP 地址,不顯示其它字符?
  34. 如何禁止服務(wù)器被 ping ?
  35. 設(shè)置 DNS 需要修改哪個(gè)配置文件?
  36. 在 Linux 下如何指定dns服務(wù)器,來(lái)解析某個(gè)域名?

Docker面試題庫(kù)

  1. 什么Docker
  2. Docker與虛擬機(jī)有何不同
  3. 什么是Docker鏡像
  4. 什么是Docker容器
  5. Docker容器有幾種狀態(tài)
  6. DockerFile中最常見(jiàn)的指定是什么?

  7. Docker的常用命令?
  8. 容器與主機(jī)之間的數(shù)據(jù)拷貝命令?
  9. 啟動(dòng)nginx容器(隨機(jī)端口映射),并掛載本地文件目錄到容器html的命令?
  10. 如何使用 Docker 技術(shù)創(chuàng)建與環(huán)境無(wú)關(guān)的容器系統(tǒng)?
  11. 有什么方法確定一個(gè) Docker 容器運(yùn)行狀態(tài)
  12. Docker Image 和 Docker Layer (層) 有什么不同
  13. 如何停止所有正在運(yùn)行的容器?
  14. 如何清理批量后臺(tái)停止的容器?
  15. 如何臨時(shí)退出一個(gè)正在交互的容器的終端,而不終止它?
  16. Docker 群(Swarm)是什么
  17. 在使用 Docker 技術(shù)的產(chǎn)品中如何監(jiān)控其運(yùn)行
  18. 什么是孤兒卷及如何刪除它?
  19. 在 Windows 系統(tǒng)上可以運(yùn)行原生的 Docker 容器嗎?
  20. 在 非 Linux 操作系統(tǒng)平臺(tái)上如何運(yùn)行 Docker ?

Dubbo面試題庫(kù)

  1. Dubbo是什么?
  2. 為什么要用Dubbo?
  3. Dubbo 和 Dubbox 有什么區(qū)別?
  4. dubbo都支持什么協(xié)議,推薦用哪種?
  5. Dubbo需要 Web 容器嗎?
  6. Dubbo內(nèi)置了哪幾種服務(wù)容器?
  7. Dubbo默認(rèn)使用什么注冊(cè)中心,還有別的選擇嗎?
  8. Dubbo有哪幾種配置方式?
  9. 在 Provider 上可以配置的 Consumer 端的屬性有哪些?
  10. Dubbo啟動(dòng)時(shí)如果依賴(lài)的服務(wù)不可用會(huì)怎樣?
  11. Dubbo推薦使用什么序列化框架,你知道的還有哪些?
  12. Dubbo默認(rèn)使用的是什么通信框架,還有別的選擇嗎?
  13. 注冊(cè)了多個(gè)同一樣的服務(wù),如果測(cè)試指定的某一個(gè)服務(wù)呢?
  14. Dubbo支持服務(wù)多協(xié)議嗎?
  15. 當(dāng)一個(gè)服務(wù)接口有多種實(shí)現(xiàn)時(shí)怎么做?
  16. 服務(wù)上線(xiàn)怎么兼容舊版本?
  17. Dubbo可以對(duì)結(jié)果進(jìn)行緩存嗎?
  18. Dubbo服務(wù)之間的調(diào)用是阻塞的嗎?
  19. Dubbo支持分布式事務(wù)嗎?
  20. Dubbo支持服務(wù)降級(jí)嗎?
  21. Dubbo如何優(yōu)雅停機(jī)?
  22. 服務(wù)提供者能實(shí)現(xiàn)失效踢出是什么原理?
  23. 如何解決服務(wù)調(diào)用鏈過(guò)長(zhǎng)的問(wèn)題?
  24. 服務(wù)讀寫(xiě)推薦的容錯(cuò)策略是怎樣的?
  25. Dubbo必須依賴(lài)的包有哪些?
  26. Dubbo的管理控制臺(tái)能做什么?
  27. 說(shuō)說(shuō) Dubbo 服務(wù)暴露的過(guò)程。

Elasticsearch面試題庫(kù)

  1. 為什么要使用Elasticsearch?
  2. Elasticsearch是如何實(shí)現(xiàn)Master選舉的?
  3. Elasticsearch中的節(jié)點(diǎn)(比如共20個(gè)),其中的10個(gè)選了一個(gè)master,另外10個(gè)選了另一個(gè)master,怎么辦?
  4. 詳細(xì)描述一下Elasticsearch索引文檔的過(guò)程。
  5. 詳細(xì)描述一下Elasticsearch更新和刪除文檔的過(guò)程
  6. 詳細(xì)描述一下Elasticsearch搜索的過(guò)程
  7. Elasticsearch對(duì)于大數(shù)據(jù)量(上億量級(jí))的聚合如何實(shí)現(xiàn)?
  8. 在并發(fā)情況下,Elasticsearch如果保證讀寫(xiě)一致?
  9. ElasticSearch中的集群、節(jié)點(diǎn)、索引、文檔、類(lèi)型是什么?
  10. ElasticSearch中的分片是什么?
  11. 什么是ElasticSearch?
  12. Elasticsearch中的倒排索引是什么?
  13. Elasticsearch中的分析器是什么?
  14. 說(shuō)說(shuō)Elasticsearch常用的調(diào)優(yōu)手段?
  15. Elasticsearch 在部署時(shí),對(duì) Linux 的設(shè)置有哪些優(yōu)化方法?
  16. 客戶(hù)端在和集群連接時(shí),如何選擇特定的節(jié)點(diǎn)執(zhí)行請(qǐng)求?
  17. 在 Elasticsearch 中,是怎么根據(jù)一個(gè)詞找到對(duì)應(yīng)的倒排索引的?
  18. 對(duì)于 GC 方面,在使用 Elasticsearch 時(shí)要注意什么?
  19. 在并發(fā)情況下,Elasticsearch 如果保證讀寫(xiě)一致?
  20. 如何監(jiān)控 Elasticsearch 集群狀態(tài)?

Java集合面試題庫(kù)

  1. 常見(jiàn)的集合有哪些?
  2. 常見(jiàn)的集合底層實(shí)現(xiàn)
  3. HashMap與HashTable的區(qū)別?
  4. ConcurrentHashMap和Hashtable的區(qū)別?
  5. ConcurrentHashMap實(shí)現(xiàn)原理
  6. ArrayList 和 Vector 的區(qū)別?
  7. ArrayList和LinkedList的區(qū)別?
  8. HashMap 默認(rèn)的初始化長(zhǎng)度是多少?
  9. 談?wù)剬?duì)HashMap 構(gòu)造方法中初始容量、加載因子的理解
  10. Java集合框架是什么?說(shuō)出一些集合框架的優(yōu)點(diǎn)?
  11. 集合框架中的泛型有什么優(yōu)點(diǎn)?
  12. 為何Collection不從Cloneable和Serializable接口繼承?
  13. 為何Map接口不繼承Collection接口?
  14. Iterator是什么?
  15. Enumeration和Iterator接口的區(qū)別?
  16. Iterater和ListIterator之間有什么區(qū)別?
  17. fail-fast與fail-safe有什么區(qū)別?
  18. hashCode()和equals()方法有何重要性?
  19. 我們能否使用任何類(lèi)作為Map的key?
  20. 如何決定選用HashMap還是TreeMap?
  21. 哪些集合類(lèi)提供對(duì)元素的隨機(jī)訪(fǎng)問(wèn)?
  22. BlockingQueue是什么?
  23. 隊(duì)列和棧是什么,列出它們的區(qū)別?
  24. Collections類(lèi)是什么?
  25. Comparable和Comparator接口有何區(qū)別?

Java高并發(fā)面試題庫(kù)

  1. 什么是進(jìn)程
  2. 什么是線(xiàn)程
  3. 進(jìn)程間如何通訊
  4. 線(xiàn)程間如何通訊
  5. 同步和異步有何不同,在什么情況下分別使用它們?舉例說(shuō)明
  6. 進(jìn)程調(diào)度算法
  7. Java中Unsafe類(lèi)詳解
  8. 如何測(cè)試并發(fā)量?
  9. 有三個(gè)線(xiàn)程T1,T2,T3,怎么確保它們按順序執(zhí)行?
  10. 什么是線(xiàn)程調(diào)度器(Thread Scheduler)和時(shí)間分片(Time Slicing)?
  11. 數(shù)據(jù)庫(kù)死鎖?
  12. 什么是鎖順序死鎖?
  13. 死鎖的避免與診斷?
  14. 常見(jiàn)的并發(fā)容器?
  15. 常見(jiàn)的同步工具類(lèi)?
  16. Nginx多進(jìn)程模型是如何實(shí)現(xiàn)高并發(fā)的?
  17. CopyOnWriteArrayList
  18. AQS
  19. Java里的阻塞隊(duì)列
  20. Fork/Join框架

Kubernetes面試題庫(kù)

  1. 什么是Kubernetes?
  2. Kubernetes與Docker有什么關(guān)系?
  3. 什么是Container Orchestration?
  4. Kubernetes如何簡(jiǎn)化容器化部署?
  5. 什么是Google容器引擎?
  6. 什么是Heapster?
  7. 什么是Minikube?
  8. 什么是Kubectl?
  9. 什么是Kubelet?
  10. Kubernetes Architecture的不同組件有哪些?
  11. 你對(duì)Kube-proxy有什么了解?
  12. 您能否介紹一下Kubernetes中主節(jié)點(diǎn)的工作情況?
  13. kube-apiserver和kube-scheduler的作用是什么?
  14. 你能簡(jiǎn)要介紹一下Kubernetes控制管理器嗎?
  15. 什么是etcd?
  16. 你對(duì)Kubernetes的負(fù)載均衡器有什么了解?
  17. 什么是Ingress網(wǎng)絡(luò),它是如何工作的?
  18. 您對(duì)云控制器管理器有何了解?
  19. 什么是Container資源監(jiān)控?
  20. Replica Set 和 Replication Controller之間有什么區(qū)別?

Maven面試題庫(kù)

  1. maven是什么?
  2. 使用Maven好處
  3. Maven的坐標(biāo)和依賴(lài)
  4. Maven的?命周期
  5. 你們項(xiàng)目為什么選用 Maven 進(jìn)行構(gòu)建?
  6. Maven 規(guī)約是什么?
  7. Maven 常用命令
  8. Maven 有哪些優(yōu)點(diǎn)和缺點(diǎn)
  9. Maven 版本規(guī)則?
  10. 對(duì)于一個(gè)多模塊項(xiàng)目,如果管理項(xiàng)目依賴(lài)的版本?
  11. Maven 依賴(lài)原則?
  12. 如何解決 jar 沖突?
  13. 什么是 Maven 插件?
  14. Maven依賴(lài)沖突
  15. 依賴(lài)的解析機(jī)制

MongoDB面試題庫(kù)

  1. 什么是MongoDB?
  2. MongoDB的優(yōu)勢(shì)有哪些
  3. 什么是集合(表)?
  4. 什么是文檔(記錄)
  5. 為什么用MOngoDB?
  6. 在哪些場(chǎng)景使用MongoDB
  7. MongoDB中的命名空間是什么意思?
  8. MongoDB中的分片什么意思
  9. 為什么要在MongoDB中使用分析器
  10. MongoDB支持主鍵外鍵關(guān)系嗎
  11. MongoDB支持哪些數(shù)據(jù)類(lèi)型
  12. 為什么要在MongoDB中用"Code"數(shù)據(jù)類(lèi)型
  13. 為什么要在MongoDB中用"Regular Expression"數(shù)據(jù)類(lèi)型
  14. 為什么在MongoDB中使用"Object ID"數(shù)據(jù)類(lèi)型
  15. "ObjectID"有哪些部分組成
  16. 在MongoDb中什么是索引
  17. 在MongoDB中什么是副本集
  18. MongoDB支持存儲(chǔ)過(guò)程嗎?如果支持的話(huà),怎么用?
  19. 如何理解MongoDB中的GridFS機(jī)制,MongoDB為何使用GridFS來(lái)存儲(chǔ)文件?
  20. 為什么MongoDB的數(shù)據(jù)文件很大?

Jenkins面試題庫(kù)

  1. 什么是Jenkins?
  2. Maven, Ant和Jenkins有什么區(qū)別?
  3. Jenkins支持哪些SCM工具?
  4. 在Jenkins中, 什么是持續(xù)集成?
  5. Jenkins的優(yōu)勢(shì)是什么?
  6. 可以使用哪些命令手動(dòng)啟動(dòng)Jenkins?
  7. 如何在Jenkins中創(chuàng)建備份和復(fù)制文件?
  8. 如何通過(guò)Jenkins克隆Git存儲(chǔ)庫(kù)?
  9. 什么是jenkinsfile?為什么使用jenkinsfile
  10. 什么是Blue Ocean

Mycat面試題庫(kù)

  1. Mycat是什么?
  2. 什么叫混合切分
  3. 在項(xiàng)目組中,切分后的庫(kù)從哪里而來(lái)?
  4. 搭建mycat的核心配置文件有哪些?
  5. mycat分庫(kù)可以分成100個(gè)庫(kù)嗎?
  6. 進(jìn)行庫(kù)表拆分時(shí),拆分規(guī)則怎么取舍?
  7. Mycat中全局ID方案有哪些?程序自定義全局ID的方案有哪些?
  8. Mycat的在分庫(kù)分表之后,它是怎么支持聯(lián)表查詢(xún)的?
  9. 配置文件不會(huì)變多,配置的節(jié)點(diǎn)主機(jī)會(huì)變多?
  10. 你們項(xiàng)目中分片的實(shí)現(xiàn)方式是什么?

Nginx面試題庫(kù)

  1. 請(qǐng)解釋一下什么是 Nginx ?
  2. 為什么要用Nginx?
  3. Nginx怎么處理請(qǐng)求的?
  4. Nginx的優(yōu)缺點(diǎn)?
  5. Nginx應(yīng)用場(chǎng)景?
  6. 使用“反向代理服務(wù)器”的優(yōu)點(diǎn)是什么?
  7. 列舉Nginx服務(wù)器的最佳用途。
  8. 請(qǐng)解釋Nginx如何處理HTTP請(qǐng)求。
  9. 在Nginx中,如何使用未定義的服務(wù)器名稱(chēng)來(lái)阻止處理請(qǐng)求?
  10. 在Nginx中如何在URL中保留雙斜線(xiàn)?
  11. ngx_http_upstream_module的作用是什么?
  12. fastcgi 與 cgi 的區(qū)別?
  13. Nginx 常用命令?
  14. Nginx 常用配置?
  15. 請(qǐng)陳述stub_status和sub_filter指令的作用是什么?

RocketMQ面試題庫(kù)

  1. RocketMQ中的Topic和JMS的queue有什么區(qū)別?
  2. RocketMQ Broker中的消息被消費(fèi)后會(huì)立即刪除嗎?
  3. RocketMQ消費(fèi)模式有幾種?
  4. 消費(fèi)消息是push還是pull?
  5. broker如何處理拉取請(qǐng)求的?
  6. RocketMQ如何做負(fù)載均衡?
  7. 消息重復(fù)消費(fèi)如何解決?
  8. 如何讓RocketMQ保證消息的順序消費(fèi)?
  9. RocketMQ如何保證消息不丟失?
  10. rocketMQ的消息堆積如何處理
  11. RocketMQ在分布式事務(wù)支持這塊機(jī)制的底層原理?
  12. 如果讓你來(lái)動(dòng)手實(shí)現(xiàn)一個(gè)分布式消息中間件,整體架構(gòu)你會(huì)如何設(shè)計(jì)實(shí)現(xiàn)?
  13. 高吞吐量下如何優(yōu)化生產(chǎn)者和消費(fèi)者的性能?
  14. 再說(shuō)說(shuō)RocketMQ 是如何保證數(shù)據(jù)的高容錯(cuò)性的?
  15. 任何一臺(tái)Broker突然宕機(jī)了怎么辦?

shiro面試題庫(kù)

  1. 什么是shiro
  2. 解釋下Shiro的核心概念:Subject、SecurityManager、Realm
  3. Shiro的優(yōu)點(diǎn)
  4. Shiro有哪些組件?
  5. 說(shuō)下Authentication 身份驗(yàn)證的流程
  6. Authorization 授權(quán)的方式和流程是怎樣的?
  7. Cryptography 加密的過(guò)程是這樣的?
  8. Realm 域如何使用?
  9. shiro攔截器的執(zhí)行流程
  10. Session Manager 會(huì)話(huà)管理介紹一下

Servlet面試題庫(kù)

  1. Servlet的生命周期?
  2. Servlet和JSP的區(qū)別?
  3. Servlet的基本架構(gòu)
  4. 什么情況下調(diào)用doGet()和doPost()?
  5. 頁(yè)面間對(duì)象傳遞的方法
  6. 四種會(huì)話(huà)跟蹤技術(shù)
  7. Request對(duì)象的主要方法
  8. 如何配置Servlet的初始化參數(shù)?
  9. 如何讀取Servlet的初始化參數(shù)?
  10. init(ServletConfig)方法執(zhí)行次數(shù)
  11. init(ServletConfig)方法與異常

Tomcat面試題庫(kù)

  1. Tomcat的缺省端口是多少,怎么修改?
  2. tomcat 有哪幾種Connector 運(yùn)行模式(優(yōu)化)?
  3. Tomcat有幾種部署方式?
  4. tomcat容器是如何創(chuàng)建servlet類(lèi)實(shí)例?用到了什么原理?
  5. tomcat 如何優(yōu)化?
  6. tomcat內(nèi)存調(diào)優(yōu)了解過(guò)嗎?
  7. tomcat垃圾回收策略調(diào)優(yōu)了解嗎?
  8. tomcat共享session如何處理?
  9. 如何添加JMS遠(yuǎn)程監(jiān)控
  10. Tomcat一個(gè)請(qǐng)求的完整過(guò)程

java8面試題庫(kù)

  1. Java 8 新特性簡(jiǎn)介:
  2. 抽象類(lèi) 和 接口的 異同?
  3. Java8支持函數(shù)編程是什么意思?
  4. Java 8中的可選項(xiàng)是什么?
  5. hashMap原理,java8做的改變
  6. 解釋Java 8-中間操作與終端操作?
  7. 什么是Lambda表達(dá)式?
  8. Lambda函數(shù)的優(yōu)點(diǎn):
  9. 什么是Java8中的MetaSpace?它與PermGen Space有何不同?
  10. 是什么使Java SE 8優(yōu)于其他?
  11. Lambda表達(dá)式的參數(shù)列表與Lambda箭頭運(yùn)算符有何不同?

密碼學(xué)面試題庫(kù)

  1. 什么是base64
  2. MD5
  3. SHA
  4. HMAC
  5. 密碼的常用術(shù)語(yǔ)
  6. 單向加密算法
  7. 復(fù)雜的對(duì)稱(chēng)加密(DES、PBE)、非對(duì)稱(chēng)加密算法
  8. 非對(duì)稱(chēng)加密
  9. DES

操作系統(tǒng)面試題庫(kù)

  1. 說(shuō)下進(jìn)程的狀態(tài)
  2. 說(shuō)下進(jìn)程和線(xiàn)程的聯(lián)系與區(qū)別
  3. 為什么進(jìn)程上下文切換比線(xiàn)程上下文切換代價(jià)高?
  4. 說(shuō)下你對(duì)進(jìn)程同步的理解
  5. 進(jìn)程的通信方式有哪些
  6. 進(jìn)程調(diào)度的種類(lèi)有哪些?
  7. 非搶占式調(diào)度與搶占式調(diào)度的區(qū)別是什么?
  8. 說(shuō)下你知道的調(diào)度算法
  9. 一個(gè)程序從開(kāi)始運(yùn)行到結(jié)束的完整過(guò)程(四個(gè)過(guò)程)
  10. 死鎖出現(xiàn)的條件?
  11. 如何處理死鎖問(wèn)題
  12. 如何處理死鎖問(wèn)題
  13. 什么是臨界資源
  14. 介紹一下內(nèi)存池、進(jìn)程池、線(xiàn)程池
  15. 動(dòng)態(tài)鏈接庫(kù)與靜態(tài)鏈接庫(kù)的區(qū)別
  16. 說(shuō)下對(duì)虛擬內(nèi)存的理解
  17. 頁(yè)面置換算法了解多少?
  18. 中斷與系統(tǒng)調(diào)用了解嗎?
  19. 用戶(hù)態(tài)切換到內(nèi)核態(tài)的方式有哪些?
  20. 用戶(hù)態(tài)和核心態(tài)(內(nèi)核態(tài))之間的區(qū)別是什么呢?
  21. 內(nèi)部碎片與外部碎片分別是什么?
  22. 系統(tǒng)調(diào)用與庫(kù)函數(shù)的區(qū)別
  23. 守護(hù)、僵尸、孤兒進(jìn)程的概念

編譯原理面試題庫(kù)

  1. 詞法分析
  2. 語(yǔ)法分析
  3. 語(yǔ)義分析
  4. 中間代碼生成
  5. 目標(biāo)代碼生成
  6. 表格管理程序
  7. 出錯(cuò)處理
  8. 句型、句子、語(yǔ)言
  9. 有窮自動(dòng)機(jī)(有限自動(dòng)機(jī))
  10. 全局優(yōu)化

計(jì)算機(jī)組成原理

  1. 計(jì)算機(jī)系統(tǒng)由哪兩部分組成?計(jì)算機(jī)系統(tǒng)性能取決于什么?
  2. 計(jì)算機(jī)系統(tǒng)5層層次結(jié)構(gòu)從下到上由哪五層組成?哪些是物理機(jī),哪些是虛擬機(jī)?
  3. 在計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中,什么是翻譯?什么是解釋?zhuān)?/li>
  4. 什么是計(jì)算機(jī)體系結(jié)構(gòu)?什么是計(jì)算機(jī)組成?以乘法指令為例說(shuō)明二者區(qū)別。
  5. 馮諾依曼機(jī)器的主要特點(diǎn)?
  6. 程序訪(fǎng)問(wèn)的局部性
  7. 字長(zhǎng)
  8. Cache的基本工作原理
  9. Cache和主存之間的映射方式
  10. Cache中主存塊的替換算法
  11. 二進(jìn)制一般使用什么方法轉(zhuǎn)換成十進(jìn)制?
  12. 計(jì)算機(jī)直接使用原碼計(jì)算有什么缺點(diǎn)?
  13. 請(qǐng)計(jì)算12、124、1023、-1、-127的二進(jìn)制原碼。
  14. 計(jì)算機(jī)的補(bǔ)碼解決了什么問(wèn)題?
  15. 什么是溢出?什么是上溢?什么是下溢?
  16. 浮點(diǎn)數(shù)之間做加減法運(yùn)算需要幾個(gè)步驟?每個(gè)步驟都是必須的嗎?為什么?
  17. 虛擬存儲(chǔ)器的基本概念
  18. 頁(yè)式虛擬存儲(chǔ)器
  19. 段式虛擬存儲(chǔ)器
  20. 段頁(yè)式虛擬存儲(chǔ)器

評(píng)論0 贊同0
  •  加載中...
mzlogin

mzlogin

回答于2022-06-28 14:10

Java 面試題有哪些?面試經(jīng)常會(huì)問(wèn)什么樣的問(wèn)題?互聯(lián)網(wǎng)大廠(chǎng)的面試題是怎么樣的呢?今天,我們就一起來(lái)聊一聊,關(guān)于 Java 相關(guān)的面試題。


面試題推薦

關(guān)于 Java 相關(guān)的面試題,其實(shí)有很多,而且在 GitHub 上,有很多人整理了很多 Java 相關(guān)面試題,而且這些面試題里不僅配有答案,分析,很多面試題都包含了一些類(lèi)似于 BAT TMD 等大廠(chǎng)的面試題,看這些面試題,可以讓你充分了解大廠(chǎng)面試 Java 會(huì)經(jīng)常為什么樣的問(wèn)題。


所以,今天我就給大家推薦兩個(gè)關(guān)于 Java 面試的開(kāi)源項(xiàng)目。里面就包含了很多 Java 面試題,還有經(jīng)驗(yàn)分享。


JavaGuide

這個(gè)開(kāi)源項(xiàng)目就是:JavaGuide ,它已經(jīng)有 6 萬(wàn)多人 star 了。號(hào)稱(chēng)是:【Java 學(xué)習(xí) + 面試指南】,一份涵蓋大部分 Java 程序員所需要掌握的核心知識(shí)。


來(lái)看一看包含了哪些核心知識(shí)吧!看圖:

上面是整個(gè)開(kāi)源項(xiàng)目的目錄,具體每個(gè)目錄下有什么呢?如下:

我在這里就不一一列舉了,比如,我們點(diǎn)擊其中一個(gè)鏈接,看看具體有哪些面試題呢?

是不是內(nèi)容很豐富呢?

這個(gè)開(kāi)源項(xiàng)目地址:

https://github.com/Snailclimb/JavaGuide


Java-Interview

這個(gè)開(kāi)源項(xiàng)目的名稱(chēng)就是:Java-Interview ,它起的名字更厲害,更唬人,就是:Java 面試必會(huì),直通 BAT 。對(duì),就是這么夸張,你看完之后,讓你直通 BAT 。


里面整合和整理了很多面試題。比如這樣:

再比如,具體內(nèi)容:

不僅有問(wèn)題,還帶有答案,也是整理很多 Java 相關(guān)的面試題。所以,建議大家在上面復(fù)習(xí)和學(xué)習(xí),去應(yīng)對(duì)面試,可以做到充分準(zhǔn)備。畢竟,我們不打無(wú)準(zhǔn)備之仗嘛。


所以,你可以在 GitHub 上去獲取,一搜,出來(lái)一堆。GitHub 對(duì)于程序員來(lái)講,絕對(duì)是個(gè)好地方。


怎么樣,經(jīng)過(guò)我這么一回答,是不是豁然開(kāi)朗了呢?如果感覺(jué)不錯(cuò),記得給個(gè)贊哦!

評(píng)論0 贊同0
  •  加載中...
explorer_ddf

explorer_ddf

回答于2022-06-28 14:10

謝邀回答?。?!????????????

我認(rèn)為,Java面試試題眾多,重在對(duì)基礎(chǔ)理論知識(shí)和實(shí)際操作的考核,給你分享一些面試題目(由于篇幅有限,答案省略),主要有:

1. 什么是Spring MVC框架的控制器?

2.SpringMvc的控制器是不是單例模式,如果是,有什么問(wèn)題,怎么解決?

3.結(jié)合項(xiàng)目談?wù)勀銓?duì) MVC 的理解?

4.什么是Spring MVC?SpringMVC的工作流程是什么?

5.SpringMVC的優(yōu)點(diǎn)是什么?

6.SpringMVC與Struts2的區(qū)別?

7.Spring框架分為哪七大模塊,各模塊的主要功能作用是什么?

8.Spring框架中的三大核心思想是什么?

9.AOP的概念以及使用AOP機(jī)制有什么好處?

10.Java編程中實(shí)現(xiàn)AOP有幾種方式?

11.jsp靜態(tài)包含和動(dòng)態(tài)包含的區(qū)別?

12.jsp有哪些內(nèi)置對(duì)象?作用分別是什么?

13.Tomcat 有哪幾種Connector 運(yùn)行模式?

14.你所知道的集合類(lèi)都有哪些?主要方法?

15.說(shuō)出ArrayList、Vector、LinkedList 的存儲(chǔ)性能和特性?

16.Collection 和Collections 的區(qū)別?

17.HashMap 和Hashtable 的區(qū)別?

18.Arraylist 與Vector 區(qū)別?

19.Set 里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢?

20.介紹JAVA中的Collection FrameWork?如何寫(xiě)自己的數(shù)據(jù)結(jié)構(gòu)?

21.EJB與JAVA BEAN的區(qū)別是什么?

22.請(qǐng)你介紹EJB的基本架構(gòu)?等等。

以上題目是我分享的一點(diǎn)點(diǎn)建議,希望能對(duì)你有所幫助和啟發(fā),也希望與你相互學(xué)習(xí)、共同進(jìn)步?。?!





評(píng)論0 贊同0
  •  加載中...
wangshijun

wangshijun

回答于2022-06-28 14:10

我也是一直做java開(kāi)發(fā)很多年啦,經(jīng)歷過(guò)的面試很多了,大公司小公司都待過(guò),給你一些建議吧。

java面試題面還是很廣的,下面給你分類(lèi)整理下來(lái)的。

1、java基礎(chǔ)知識(shí)。比如面向?qū)ο蟮奶卣?、多態(tài)、訪(fǎng)問(wèn)修飾符范圍、static和final關(guān)鍵字、抽象類(lèi)與接口、深拷貝與淺拷貝、序列化與反序列化、幾種數(shù)據(jù)結(jié)構(gòu)、拆箱與裝箱

2、java集合相關(guān)的。比如集合框架理解、list、set、hashmap底層實(shí)現(xiàn)以及區(qū)別?hashmap底層原理,put和get方法怎么實(shí)現(xiàn)的?hashmap與hashTable區(qū)別?concurrentHashMap底層實(shí)現(xiàn)?

3、java異常處理。異常分類(lèi)?編譯時(shí)異常與運(yùn)行時(shí)異常區(qū)別?舉例子有哪些運(yùn)行時(shí)異常?

4、jvm內(nèi)存模型。以及GC垃圾回收機(jī)智和算法。

5、spring相關(guān)。解釋IOC和AOP,以及他們的原理。bean生命周期

6、mysql。索引是什么?索引分類(lèi)?索引優(yōu)化?

7、mybaits相關(guān)。動(dòng)態(tài)標(biāo)簽,字符串替換,防注入。

8、dubbo。dubbo服務(wù)注冊(cè)與發(fā)現(xiàn)。服務(wù)負(fù)載均衡算法,dubbo配置與使用。

9、多線(xiàn)程。synchronized用法與底層原理,與lock的區(qū)別?線(xiàn)程池有哪些?線(xiàn)程池有哪些參數(shù)?線(xiàn)程池優(yōu)化?

10、redis。redis數(shù)據(jù)類(lèi)型有哪些,每個(gè)類(lèi)型的使用場(chǎng)景?redis為什么這么快?redis怎么保證高可用?redis怎么保證與數(shù)據(jù)庫(kù)數(shù)據(jù)一致?

11、消息隊(duì)列。activeMQ、rabbitMQ、rocketMQ、kafka,都可以了解下,以及怎么保證高可用和處理高并發(fā)。

12、排序算法與數(shù)據(jù)結(jié)構(gòu)。冒泡排序、快速排序、選擇排序、插入排序等等

大概就有這么個(gè)方面的,好好準(zhǔn)備還是有很多機(jī)會(huì)的。

我主要做java 開(kāi)發(fā)的,大家有什么其他問(wèn)題可以關(guān)注我給我私信,或者繼續(xù)在評(píng)論區(qū)和我溝通,我有java高級(jí)分布式高并發(fā)消息隊(duì)列面試視頻可以分享,大家一起進(jìn)步

互聯(lián)網(wǎng)高級(jí)java高并發(fā)分布式消息隊(duì)列面試視頻在蜻蜓FM,搜索“淺戲互聯(lián)網(wǎng)”,喜歡的朋友可以關(guān)注一下,謝謝。

評(píng)論0 贊同0
  •  加載中...
gaara

gaara

回答于2022-06-28 14:10

謝邀。一般關(guān)于面試的java框架都是根據(jù)你簡(jiǎn)歷中之前項(xiàng)目用到的框架來(lái)問(wèn)。題主沒(méi)有問(wèn)到具體的框架,我就談?wù)勀壳肮菊衅敢笞疃?,也是公司用的最多的三個(gè)框架SSM。

關(guān)于Spring:

1.談?wù)勀銓?duì)Spring IOC和DI的理解,它們有什么區(qū)別?

2.Spring配置bean實(shí)例化有哪些方式?

3.請(qǐng)介紹一下Spring框架中Bean的生命周期和作用域

4.Bean注入屬性有哪幾種方式?

5.什么是AOP,AOP的作用是什么?

6.Spring如何處理線(xiàn)程并發(fā)問(wèn)題?

7.介紹一下Spring的事物管理

關(guān)于SpringMVC:

1.什么是SpringMVC ?簡(jiǎn)單介紹下你對(duì)SpringMVC的理解?

2.說(shuō)說(shuō)SpringMVC的流程?

3.SpringMVC有什么優(yōu)點(diǎn)?

4.SpringMVC怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的?

5.如何解決POST請(qǐng)求中文亂碼問(wèn)題,GET的又如何處理呢?

6.Spring MVC的異常處理 ?

7.SpringMvc的核心入口類(lèi)是什么?

8.SpringMvc的控制器是不是單例模式,如果是,有什么問(wèn)題,怎么解決?

9. @RequestMapping注解用在類(lèi)上面有什么作用?

10.如果前臺(tái)有很多個(gè)參數(shù)傳入,并且這些參數(shù)都是一個(gè)對(duì)象的,那么怎么樣快速得到這個(gè)對(duì)象?

11.SpringMvc如何處理視圖?

關(guān)于Mybatis:

1.#{}和${}的區(qū)別是什么?

2.當(dāng)實(shí)體類(lèi)中的屬性名和表中的字段名不一樣 ,怎么辦?

3.聊聊你對(duì)Mybatis的了解和認(rèn)識(shí)?

4. Mybatis工作原理

5.Mapper.xml映射文件中有哪些常用標(biāo)簽?

6.Mybatis是如何進(jìn)行分頁(yè)的?分頁(yè)插件的原理是什么?

7.Mybatis動(dòng)態(tài)sql是做什么的?都有哪些動(dòng)態(tài)sql?簡(jiǎn)述一下動(dòng)態(tài)sql的執(zhí)行原理?

8.Mybatis是如何將sql執(zhí)行結(jié)果封裝為目標(biāo)對(duì)象并返回的?都有哪些映射形式?

以上題目是我分享的一點(diǎn)點(diǎn)建議,希望能對(duì)你有所幫助。有興趣還可以關(guān)注我,定期分享技術(shù)干貨,在程序員進(jìn)階的路上一起學(xué)習(xí)成長(zhǎng)。

評(píng)論0 贊同0
  •  加載中...
caozhijian

caozhijian

回答于2022-06-28 14:10

1.不可變對(duì)象

指對(duì)象一旦被創(chuàng)建狀態(tài)不能再改變。任何修改都會(huì)創(chuàng)建一個(gè)新的對(duì)象,如 String、Integer及其它包裝類(lèi)。

2.能否創(chuàng)建一個(gè)包含可變對(duì)象的不可變對(duì)象?

可以。不要共享可變對(duì)象的引用就可以了,如果需要變化就返回原對(duì)象的一個(gè)拷貝。最常見(jiàn)的例子是對(duì)象中包含一個(gè)日期對(duì)象的引用.

3.java 創(chuàng)建對(duì)象的方式

  • 采用new
  • 通過(guò)反射
  • 采用clone
  • 通過(guò)序列化機(jī)制

前2者都需要顯式地調(diào)用構(gòu)造方法. 造成耦合性最高的恰好是第一種,因此你發(fā)現(xiàn)無(wú)論什么框架,只要涉及到解耦必先減少new的使用.

4.switch中能否使用string做參數(shù)

在idk 1.7之前,switch只能支持byte,short,char,int或者其對(duì)應(yīng)的封裝類(lèi)以及Enum類(lèi)型。從idk 1.7之后switch開(kāi)始支持String.

5.Object中有哪些公共方法?

  • equals()
  • clone()
  • getClass()
  • notify(),notifyAll(),wait()

6. object中定義了哪些方法?

clone(), equals(), hashCode(), toString(), notify(), notifyAll(), wait(), finalize(), getClass()

7. HashMap和HashTable的區(qū)別

  • HashTable是線(xiàn)程安全的HashMap不是
  • HashMap中允許存在null鍵和null值,HashTable中不允許

8. HashMap的實(shí)現(xiàn)原理

HashMap的底層實(shí)現(xiàn)是“基于拉鏈法的散列表”。

9.String 是最基本的數(shù)據(jù)類(lèi)型嗎?

不是。Java中的基本數(shù)據(jù)類(lèi)型只有8個(gè):byte、short、int、long、float、double、char、boolean;除了基本類(lèi)型(primitive type)和枚舉類(lèi)型(enumeration type),剩下的都是引用類(lèi)型(reference type)。

10.float f=3.4;是否正確?

不正確。3.4是雙精度數(shù),將雙精度型(double)賦值給浮點(diǎn)型(float)屬于下轉(zhuǎn)型(down-casting,也稱(chēng)為窄化)會(huì)造成精度損失,因此需要強(qiáng)制類(lèi)型轉(zhuǎn)換float f =(float)3.4; 或者寫(xiě)成float f =3.4F;。

11.Java有沒(méi)有g(shù)oto?

goto 是Java中的保留字,在目前版本的Java中沒(méi)有使用?!禩he Java Programming Language》附錄中有g(shù)oto和const,但這兩個(gè)是目前無(wú)法使用的關(guān)鍵字,因此有些地方將其稱(chēng)之為保留字,其實(shí)保留字這個(gè)詞應(yīng)該有更廣泛的意義,因?yàn)槭煜語(yǔ)言的程序員都知道,在系統(tǒng)類(lèi)庫(kù)中使用過(guò)的有特殊意義的單詞或單詞的組合都被視為保留字。

12.http1.0,http1.1,http2.0區(qū)別

1.0相比1.1可以一次傳輸多個(gè)文件,各類(lèi)瀏覽器大概都支持3~5個(gè)請(qǐng)求同時(shí)發(fā)送。

http2.0主要是二進(jìn)制的格式替代了原來(lái)的文本,增加了多路復(fù)用和首部壓縮解決了head of line blocking,另外還有server pushing等新特性。

協(xié)議的東西還是建議看一看官網(wǎng)的說(shuō)明。

13.Get/Post對(duì)緩存的影響

此題其實(shí)是問(wèn)瀏覽器緩存對(duì)于HTTP Method中Get和Post的請(qǐng)求是否支持,答案是不支持Post Method。Get可以被瀏覽器緩存。

14.多態(tài)的好處

允許不同類(lèi)對(duì)象對(duì)同一消息做出響應(yīng),主要優(yōu)點(diǎn):

  • 可替換性:多態(tài)對(duì)已存在代碼具有可替換性;
  • 可擴(kuò)充性:增加新的子類(lèi)不影響已經(jīng)存在的類(lèi)結(jié)構(gòu);
  • 接口性:多態(tài)是超累通過(guò)方法簽名,想子類(lèi)提供一個(gè)公共接口,由子類(lèi)來(lái)完善或者重寫(xiě)它來(lái)實(shí)現(xiàn)的;
  • 靈活性;
  • 簡(jiǎn)化性。

15.代碼中如何實(shí)現(xiàn)多態(tài)

  • 接口實(shí)現(xiàn)
  • 繼承父類(lèi)重寫(xiě)方法
  • 同一類(lèi)中進(jìn)行方法重載

16.虛擬機(jī)是如何實(shí)現(xiàn)多態(tài)的

動(dòng)態(tài)綁定技術(shù)(dynamic binding),執(zhí)行期間判斷所引用對(duì)象的實(shí)際類(lèi)型,根據(jù)實(shí)際類(lèi)型調(diào)用對(duì)應(yīng)的方法.

17.接口的意義

接口的意義用三個(gè)詞就可以概括:規(guī)范,擴(kuò)展,回調(diào).

18.抽象類(lèi)的意義

  • 為其他子類(lèi)提供一個(gè)公共的類(lèi)型
  • 封裝子類(lèi)中重復(fù)定義的內(nèi)容
  • 定義抽象方法,子類(lèi)雖然有不同的實(shí)現(xiàn),但是定義時(shí)一致的

19.父類(lèi)的靜態(tài)方法能否被子類(lèi)重寫(xiě)

不能。子類(lèi)繼承父類(lèi)后,有相同的靜態(tài)方法和非靜態(tài),這是非靜態(tài)方法覆蓋父類(lèi)中的方法,父類(lèi)的該靜態(tài)方法被隱藏,另外子類(lèi)可集成父類(lèi)的靜態(tài)與非靜態(tài)方法,至于方法重載我覺(jué)得它其中一要素就是在同一類(lèi)中,不能說(shuō)父類(lèi)中的什么方法與子類(lèi)里的什么方法是方法重載的體現(xiàn)。

以上19道java經(jīng)典面試題。

最后

為幫助那些往想互聯(lián)網(wǎng)方向轉(zhuǎn)行想學(xué)習(xí),卻因?yàn)闀r(shí)間不夠,資源不足而放棄的人。我搜集整理了一套完整的IT學(xué)習(xí)資料,包括運(yùn)營(yíng)技巧、SEO優(yōu)化等,比自己在網(wǎng)上零散收集的結(jié)構(gòu)性和連貫性更強(qiáng),只為幫助那些想學(xué)習(xí)的人!需要的同學(xué)可私信!私信!回復(fù)“資料”

評(píng)論0 贊同0
  •  加載中...
henry14

henry14

回答于2022-06-28 14:10

SpringMVC

  1. 什么是Spring MVC ?簡(jiǎn)單介紹下你對(duì)springMVC的理解?
  2. SpringMVC的流程?
  3. Springmvc的優(yōu)點(diǎn)
  4. SpringMVC和struts2的區(qū)別有哪些?
  5. 如何解決POST請(qǐng)求中文亂碼問(wèn)題,GET的又如何處理呢?

Spring

  1. AOP(面向切面編程)的原理
  2. AOP的使用場(chǎng)景
  3. IOC(控制反轉(zhuǎn))的原理
  4. Spring框架中的單例bean是線(xiàn)程安全的嗎?
  5. 常用的注解
  6. 用到的設(shè)計(jì)模式
  7. Spring的優(yōu)點(diǎn)(解耦、很多主流框架的集成 低侵入式設(shè)計(jì),代碼的污染極低 等等)
  8. SpringBean的作用域
  9. 事務(wù)機(jī)制
  10. Spring的核心類(lèi),及作用 如BeanFactory、ApplicationContext、BeanWrapper
  11. Spring支持的ORM?
  12. BeanFactory 接口和 ApplicationContext 接口有什么區(qū)別 ?
  13. 依賴(lài)注入的方式有幾種:接口注入、Setter注入、構(gòu)造方法注入

Mybatis

  1. 什么是mybatis?
  2. MyBatis與Hibernate有哪些不同?
  3. Mybait的優(yōu)缺點(diǎn)
  4. 常見(jiàn)的標(biāo)簽
  5. 分頁(yè)及常用的分頁(yè)插件
  6. #{}和${}的區(qū)別是什么?
  7. 一對(duì)一、一對(duì)多的關(guān)聯(lián)查詢(xún) ?
  8. Mybatis的一級(jí)、二級(jí)緩存:
  9. Mybatis比IBatis比較大的幾個(gè)改進(jìn)是什么?
  10. IBatis和MyBatis在核心處理類(lèi)分別叫什么?
  11. IBatis和MyBatis在細(xì)節(jié)上的不同有哪些?
  12. 為什么說(shuō)Mybatis是半自動(dòng)ORM映射工具?它與全自動(dòng)的區(qū)別在哪里?
  13. MyBatis與Hibernate有哪些不同?

Hibernate

  1. Hibernate工作原理
  2. Hibernate是如何延遲加載(懶加載)?
  3. 緩存機(jī)制(一級(jí)緩存、二級(jí)緩存)
  4. Hibernate的查詢(xún)方式有幾種Hibernate中save、persist和saveOrUpdate這三個(gè)方法的不同之處?
  5. get()與load()的區(qū)別
  6. Hibernate中的SessionFactory有什么作用? SessionFactory是線(xiàn)程安全的嗎?

SpringBoot

  1. 常用的starter有哪些
  2. Spring Boot 的配置文件有哪幾種格式?它們有什么區(qū)別?
  3. Spring Boot 的核心注解是哪個(gè)?常用的注解(如@EnableEurekaClient
  4. @EnableFeignClients @FeignClient @EnableTransactionManagement
  5. @RestController @Configuration @Order @ControllerAdvice等)
  6. Spring Boot 需要獨(dú)立的容器運(yùn)行嗎?( 可以不需要,內(nèi)置了 Tomcat/ Jetty 等容器。)
  7. 運(yùn)行 Spring Boot 有哪幾種方式?
  8. SpringBoot與SpringCloud的關(guān)系
  9. SpringCloud的各類(lèi)組件(Feign、Eureka、Hystrix等)的理解及使用

Nginx

  1. Nginx作用
  2. 常用命令
  3. 負(fù)載均衡的幾種常用方式?
  4. session不同步怎么辦
  5. 前端服務(wù)器集群后做負(fù)載均衡和動(dòng)靜分離

其他

  1. Thymeleaf、freemarker等模板引擎

  2. NoSQL:Redis、Memcache和MongoDB等的區(qū)別、使用

  3. xml解析(DOM解析、SAX解析、JDOM解析、DOM4J解析)

  4. POI實(shí)現(xiàn)Microsoft Office格式檔案讀和寫(xiě)的功能

  5. 多線(xiàn)程、線(xiàn)程池的原理及實(shí)現(xiàn)

  6. 設(shè)計(jì)模式

  7. Kafka、MQ等消息機(jī)制

  8. Sql優(yōu)化

  9. jvm原理

  10. 常用搜索引擎Elasticsearch等

  11. 扎實(shí)的java基礎(chǔ)



程序猿,他們想的是什么?他們想的永遠(yuǎn)都是技術(shù),他們崇尚的也永遠(yuǎn)都是技術(shù)。

評(píng)論0 贊同0
  •  加載中...
vibiu

vibiu

回答于2022-06-28 14:10

作為一家有著12年教學(xué)經(jīng)驗(yàn)且只專(zhuān)心教Java的培訓(xùn)機(jī)構(gòu),自然有很多高質(zhì)量的面試題:

Java常見(jiàn)面試題及答案(131~140企業(yè)真題)

131、j2ee中的應(yīng)用服務(wù)器有哪些?(ACD)

A. Weblogic

B. Tomcat

C. JBoss

D. WebSphere

E. IIS

132、EJB程序與普通的java程序區(qū)別有哪些?

EJB是sun的服務(wù)器端組件模型,最大的用處是部署分布式應(yīng)用程序當(dāng)然,還有許多方式可以實(shí)現(xiàn)分布式應(yīng)用,類(lèi)似微軟的.net技術(shù)。

憑借 java 跨平臺(tái)的優(yōu)勢(shì),用EJB 技術(shù)部署的分布式系統(tǒng)可以不限于特定的平臺(tái)。EJB(EnterpriseJavaBean)是J2EE的一部分,定義了一個(gè)用于開(kāi)發(fā)基于組件的企業(yè)多重應(yīng)用程序的標(biāo)準(zhǔn)。其特點(diǎn)包括網(wǎng)絡(luò)服務(wù)支持和核心開(kāi)發(fā)工具(SDK)。

在J2EE里,Enterprise Java Beans(EJB)稱(chēng)為Java企業(yè)Bean,是Java 的核心代碼,分別是會(huì)話(huà) Bean(Session Bean),實(shí)體 Bean(Entity Bean)和消息驅(qū)動(dòng) Bean(MessageDriven Bean)。

簡(jiǎn)單來(lái)講:比如做一個(gè)工程就和蓋房子,如果,你會(huì) java,那么你就擁有了基本的技能,一步一步累磚,總能把房子蓋好但是EJB就是一個(gè)框架,蓋房子的時(shí)候,先有這個(gè)框架,然后你根據(jù)這個(gè)框架去累磚,房子就會(huì)蓋的又快又好。java是基礎(chǔ),EJB 是在java上發(fā)展出來(lái)的模型,框架。

133、請(qǐng)簡(jiǎn)述什么是集群?

服務(wù)器集群就是指將很多服務(wù)器集中起來(lái)一起進(jìn)行同一種服務(wù),在客戶(hù)端看來(lái)就象是只有一個(gè)服務(wù)器。集群可以利用多個(gè)計(jì)算機(jī)進(jìn)行并行計(jì)算從而獲得很高的計(jì)算速度,也可以用多個(gè)計(jì)算機(jī)做備份,從而使得任何一個(gè)機(jī)器壞了整個(gè)系統(tǒng)還是能正常運(yùn)行。一旦在服務(wù)器上安裝并運(yùn)行了群集服務(wù),該服務(wù)器即可加入群集。群集化操作可以減少單點(diǎn)故障數(shù)量,并且實(shí)現(xiàn)了群集化資源的高可用性。

134、字符串中有重復(fù)的內(nèi)容去重 例如:abbccccaaddaggb-->abvadagb

public class Test {

public static void main(String[] args) {

List<String> list = new ArrayList<String>();

list.add("a");

list.add("a");

list.add("a");

list.add("b");

list.add("b");

list.add("c");

System.out.println("沒(méi)有去重前的數(shù)據(jù)為>>>" + list.toString());

for (int i = 0; i < list.size() - 1; i++) {

for (int j = list.size() - 1; j > i; j--) {

if (list.get(j).equals(list.get(i))) {

list.remove(j);

}

}

}

System.out.println("去重后的數(shù)據(jù)為>>>" + list.toString());

}

}

135、利用 java 面向?qū)ο蟮乃悸吩O(shè)計(jì)正方形、長(zhǎng)方形、圓的計(jì)算面積的類(lèi)圓:

class MianJi {

float r;

float pai = (float) 3.14;

void gongShi() {

Float s = pai * r * r;

System.out.println("圓的面積為" + s);

}

void zhengFangXing(float bianChang) {

System.out.println("正方形的面積為" + bianChang * bianChang);

}

void changFangXing(float chang, float kuan) {

System.out.println("長(zhǎng)方形的面積為" + chang * kuan);

}

public static void main(String[] arg) {

MianJi c = new MianJi();

System.out.println("請(qǐng)輸入圓的半徑:");

Scanner sc = new Scanner(System.in);

c.r = sc.nextFloat(); c.gongShi();

System.out.println("請(qǐng)輸入正方形的邊長(zhǎng):");

float bian = sc.nextFloat();

c.zhengFangXing(bian);

System.out.println("請(qǐng)輸入長(zhǎng)方形的長(zhǎng)和寬:");

float chang = sc.nextFloat();

float kuan = sc.nextFloat();

c.changFangXing(chang, kuan);

}

}

136、任何>=6的偶數(shù)都可以分解為兩個(gè)質(zhì)數(shù)之和,從鍵盤(pán)輸入一個(gè)偶數(shù),輸出其分解的質(zhì)數(shù)

public class Test { public static void main(String[] args) { int num = inPut(); outPut(num); } public static int inPut() { Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入大于 6 的偶數(shù):"); int num = sc.nextInt(); if (num % 2 != 0 || num <= 6) { System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入大于 6 的偶數(shù):"); return inPut(); } return num; } public static boolean isPrim(int num) { for (int i = 2; i <= Math.sqrt((double) num); i++) { if (num % i == 0) { return false; } } return true; } public static void outPut(int num) { for (int i = 2; i <= num / 2; i++) { if (isPrim(i) == true && isPrim(num - i) == true) { System.out.println(i + " " + (num - i)); } } } }

137、什么叫對(duì)象?什么叫類(lèi)?什么是面向?qū)ο螅∣OP)?

類(lèi)的概念:類(lèi)是具有相同屬性和行為的一組對(duì)象的集合。它為屬于該類(lèi)的所有對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和行為兩個(gè)主要部分。在面向?qū)ο蟮木幊陶Z(yǔ)言中,類(lèi)是一個(gè)獨(dú)立的程序單位,它應(yīng)該有一個(gè)類(lèi)名并包括屬性說(shuō)明和服務(wù)說(shuō)明兩個(gè)主要部分。

對(duì)象的概念:對(duì)象是系統(tǒng)中用來(lái)描述客觀(guān)事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。一個(gè)對(duì)象由一組屬性和對(duì)這組屬性進(jìn)行操作的一組服務(wù)組成。從更抽象的角度來(lái)說(shuō),對(duì)象是問(wèn)題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體??陀^(guān)世界是由對(duì)象和對(duì)象之間的聯(lián)系組成的。

類(lèi)與對(duì)象的關(guān)系就如模具和鑄件的關(guān)系,類(lèi)的實(shí)例化結(jié)果就是對(duì)象,而對(duì)一類(lèi)對(duì)象的抽象就是類(lèi)。類(lèi)描述了一組有相同特性(屬性)和相同行為(方法)的對(duì)象。

上面大概就是它們的定義吧,也許你是剛接觸面象對(duì)象的朋友,不要被概念的東西搞暈了, 給你舉個(gè)列子吧,如果你去中關(guān)村想買(mǎi)幾臺(tái)組裝的PC機(jī),到了那里你第一步要干什么,是不是裝機(jī)的工程師和你坐在一起,按你提供的信息和你一起完成一個(gè)裝機(jī)的配置單呀,這個(gè)配置單就可以想像成是類(lèi),它就是一張紙,但是它上面記錄了你要買(mǎi)的PC機(jī)的信息,如果用這個(gè)配置單買(mǎi)10臺(tái)機(jī)器,那么這10臺(tái)機(jī)子,都是按這個(gè)配置單組成的,所以說(shuō)這10臺(tái)機(jī)子是一個(gè)類(lèi)型的,也可以說(shuō)是一類(lèi)的。那么什么是對(duì)象呢,類(lèi)的實(shí)例化結(jié)果就是對(duì)象,用這個(gè)配置單配置出來(lái)(實(shí)例化出來(lái))的機(jī)子就是對(duì)象,是我們可以操作的實(shí)體,10 臺(tái)機(jī)子,10 個(gè)對(duì)象。每臺(tái)機(jī)子都是獨(dú)立的,只能說(shuō)明他們是同一類(lèi)的,對(duì)其中一個(gè)機(jī)(對(duì)象)做任何動(dòng)作都不會(huì)影響其它9臺(tái)機(jī)器,但是我對(duì)類(lèi)修改,也就是在這個(gè)配置單上加一個(gè)或少一個(gè)配件,那么裝出來(lái)的9個(gè)機(jī)子都改變了,這是類(lèi)和對(duì)象的關(guān)系(類(lèi)的實(shí)例化結(jié)果就是對(duì)象)

138、JAVA中使用final修飾符,對(duì)程序有哪些影響?

● 修飾類(lèi)

當(dāng)用final修飾一個(gè)類(lèi)時(shí),表明這個(gè)類(lèi)不能被繼承。也就是說(shuō),如果一個(gè)類(lèi)你永遠(yuǎn)不會(huì)讓他被繼承,就可以用final進(jìn)行修飾。final類(lèi)中的成員變量可以根據(jù)需要設(shè)為final,但是要注意 final 類(lèi)中的所有成員方法都會(huì)被隱式地指定為final 方法。在使用 final 修飾類(lèi)的時(shí)候,要注意謹(jǐn)慎選擇,除非這個(gè)類(lèi)真的在以后不會(huì)用來(lái)繼承或者出于安全的考慮,盡量不要將類(lèi)設(shè)計(jì)為 final類(lèi)。

● 修飾方法

被final修飾的方法將不能被子類(lèi)覆蓋,主要用于:

把方法鎖定,以防任何繼承類(lèi)修改它的含義。

在早期的Java實(shí)現(xiàn)版本中,會(huì)將final方法轉(zhuǎn)為內(nèi)嵌調(diào)用,所以效率能夠提升。

● 修飾變量

對(duì)于一個(gè)final變量,如果是基本數(shù)據(jù)類(lèi)型的變量,則其數(shù)值一旦在初始化之后便不能更改;如果是引用類(lèi)型的變量,則在對(duì)其初始化之后便不能再讓其指向另一個(gè)對(duì)象。當(dāng)用 final 作用于類(lèi)的成員變量時(shí),成員變量(注意是類(lèi)的成員變量,局部變量只需要保證在使用之前被初始化賦值即可)必須在定義時(shí)或者構(gòu)造器中進(jìn)行初始化賦值,而且final變量一旦被初始化賦值之后,就不能再被賦值了。

139、寫(xiě)出 5 個(gè)你在 JAVA 開(kāi)發(fā)中常用的包含(全名),并簡(jiǎn)述其作用。

● java.lang.*

提供利用Java編程語(yǔ)言進(jìn)行程序設(shè)計(jì)的基礎(chǔ)類(lèi)。最重要的類(lèi)是Object(它是類(lèi)層次結(jié)構(gòu)的根)和Class(它的實(shí)例表示正在運(yùn)行的應(yīng)用程序中的類(lèi))。

● java.util.*

包含集合框架、遺留的Collection類(lèi)、事件模型、日期和時(shí)間設(shè)施、國(guó)際化和各種實(shí)用工具類(lèi)(字符串標(biāo)記生成器、隨機(jī)數(shù)生成器和位數(shù)組、日期 Date 類(lèi)、堆棧 Stack 類(lèi)、向量 Vector 類(lèi)等)。集合類(lèi)、時(shí)間處理模式、日期時(shí)間工具等各類(lèi)常用工具包。

● java.io.*

Java 的核心庫(kù)java.io提供了全面的IO接口。包括:文件讀寫(xiě)、標(biāo)準(zhǔn)設(shè)備輸出等。Java 中 IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫(xiě)入輸出流,或者從輸入流讀入。

● java.net.*

并非所有系統(tǒng)都支持 IPv6 協(xié)議,而當(dāng) Java 網(wǎng)絡(luò)連接堆棧嘗試檢測(cè)它并在可用時(shí)透明地使用它時(shí),還可以利用系統(tǒng)屬性禁用它。在IPv6不可用或被顯式禁用的情況下,Inet6Address 對(duì)大多數(shù)網(wǎng)絡(luò)連接操作都不再是有效參數(shù)。雖然可以保證在查找主機(jī)名時(shí) java.net.InetAddress.getByName之類(lèi)的方法不返回Inet6Address,但仍然可能通過(guò)傳遞字面值來(lái)創(chuàng)建此類(lèi)對(duì)象。在此情況下,大多數(shù)方法在使用 Inet6Address 調(diào)用時(shí)都將拋出異常。

● java.sql.*

提供使用JavaTM編程語(yǔ)言訪(fǎng)問(wèn)并處理存儲(chǔ)在數(shù)據(jù)源(通常是一個(gè)關(guān)系數(shù)據(jù)庫(kù))中的數(shù)據(jù)的API。此API包括一個(gè)框架,憑借此框架可以動(dòng)態(tài)地安裝不同驅(qū)動(dòng)程序來(lái)訪(fǎng)問(wèn)不同數(shù)據(jù)源。

140、方法重載(overload)需要滿(mǎn)足什么條件,方法覆蓋/方法重寫(xiě)(override)需要滿(mǎn)足什么條件?

重載需要滿(mǎn)足的條件:在同一類(lèi)中定義的方法,方法名必須相同,參數(shù)一定不同。

發(fā)生覆蓋的條件:“三同一不低”,子類(lèi)和父類(lèi)的方法名稱(chēng),參數(shù)列表,返回類(lèi)型必須完全相同,而且子類(lèi)方法的訪(fǎng)問(wèn)修飾符的權(quán)限不能比父類(lèi)低。子類(lèi)方法不能拋出比父類(lèi)方法更多的異常。即子類(lèi)方法所拋出的異常必須和父類(lèi)方法所拋出的異常一致,或者是其子類(lèi),或者什么也不拋出;被覆蓋的方法不能是final類(lèi)型的。因?yàn)閒inal修飾的方法是無(wú)法覆蓋的。被覆蓋的方法不能為private。否則在其子類(lèi)中只是新定義了一個(gè)方法,并沒(méi)有對(duì)其進(jìn)行覆蓋。被覆蓋的方法不能為static。所以如果父類(lèi)中的方法為靜態(tài)的,而子類(lèi)中的方法不是靜態(tài)的,但是兩個(gè)方法除了這一點(diǎn)外其他都滿(mǎn)足覆蓋條件,那么會(huì)發(fā)生編譯錯(cuò)誤。反之亦然。即使父類(lèi)和子類(lèi)中的方法都是靜態(tài)的,并且滿(mǎn)足覆蓋條件,但是仍然不會(huì)發(fā)生覆蓋,因?yàn)殪o態(tài)方法是在編譯的時(shí)候把靜態(tài)方法和類(lèi)的引用類(lèi)型進(jìn)行匹配。

重寫(xiě)規(guī)則:重寫(xiě)方法不能比被重寫(xiě)方法限制有更嚴(yán)格的訪(fǎng)問(wèn)級(jí)別。(但是可以更廣泛,比如父類(lèi)方法是包訪(fǎng)問(wèn)權(quán)限,子類(lèi)的重寫(xiě)方法是public訪(fǎng)問(wèn)權(quán)限)。比如:Object類(lèi)有個(gè)toString()方法,開(kāi)始重寫(xiě)這個(gè)方法的時(shí)候我們總?cè)菀淄沺ublic修飾符,編譯器當(dāng)然不會(huì)放過(guò)任何教訓(xùn)我們的機(jī)會(huì)。出錯(cuò)的原因就是:沒(méi)有加任何訪(fǎng)問(wèn)修飾符的方法具有包訪(fǎng)問(wèn)權(quán)限,包訪(fǎng)問(wèn)權(quán)限比 public當(dāng)然要嚴(yán)格了,所以編譯器會(huì)報(bào)錯(cuò)的。參數(shù)列表必須與被重寫(xiě)方法相同。重寫(xiě)有個(gè)孿生的弟弟叫重載,也就是后面要出場(chǎng)的。如果子類(lèi)方法的參數(shù)與父類(lèi)對(duì)應(yīng)的方法不同,那么就是你認(rèn)錯(cuò)人了,那是重載,不是重寫(xiě)。返回類(lèi)型必須與被重寫(xiě)方法的返回類(lèi)型相同。

父類(lèi)方法A:void eat(){}子類(lèi)方法B:int eat(){}兩者雖然參數(shù)相同,可是返回類(lèi)型不同,所以不是重寫(xiě)。

父類(lèi)方法A:int eat(){} 子類(lèi)方法 B:long eat(){} 返回類(lèi)型雖然兼容父類(lèi),但是不同就是不同,所以不是重寫(xiě)。

評(píng)論0 贊同0
  •  加載中...
silenceboy

silenceboy

回答于2022-06-28 14:10

我會(huì)定時(shí)更新一些Java題庫(kù),現(xiàn)在好多做大的都商業(yè)化了,而且網(wǎng)上的面試題庫(kù)有些太久了,不適合,我自己平時(shí)上下班地鐵上會(huì)寫(xiě)一些面試題,純粹也是為了讓自己總結(jié)一下,順便分享給大家,你可以關(guān)注看看。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話(huà)題
  • 回答過(guò)該話(huà)題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話(huà)吧!
付費(fèi)偷看金額在0.1-10元之間
<