2020年Java面試經典100問,進入BAT不是夢

答案請看https://juejin.im/post/5dd383395188257f8a07c52b
早起的鳥兒有蟲吃。
2020年java面試經典100問,進入BAT不是夢。
2020年馬上就要結束了,領完年終獎是不是該跳槽了呢,提前準備起來吧,小夥伴。

一、java基礎

1、面向對象的特徵有哪些方面? 【基礎】

2、int 和Integer 有什麼區別? 【基礎】

3、Math.round(11.5) 等於多少? Math.round(-11.5)等於多少? 【基礎】

4、編程題: 用最有效率的方法算出2 乘以8 等於幾? 【基礎】

5、數組有沒有 length()方法?String 有沒有 length()方法?【基礎】

6、構造器(constructor)是否可被重寫(override)?【基礎】

7、是否可以繼承String 類? 【基礎】

8、當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裏到底是值傳遞還是引用傳遞? 【基礎】

9、String 和StringBuffer 的區別?【基礎】

10、String, StringBuffer StringBuilder 的區別。【基礎】

11、重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?【基礎】

12、描述一下 JVM 加載 class 文件的原理機制?【中等】

13、interface可以有方法的實現嗎?【中等】

14、是否可以從一個static 方法內部發出對非static 方法的調用?【基礎】

15、GC 是什麼? 爲什麼要有GC? 【基礎】

16、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?【基礎】

17、一個“.java”源文件中是否可以包含多個類(不是內部類)?有什麼限制?【基礎】

18、Java 中的 final 關鍵字有哪些用法?【基礎】

19、編碼轉換:怎樣將GB2312 編碼的字符串轉換爲ISO-8859-1 編碼的字符串?【基礎】

20、error 和exception 有什麼區別? 【基礎】

21、try{}裏有一個return語句,那麼緊跟在這個try後的finally{}裏的代碼會不會被執行,什麼時候被執行,在return前還是後?【基礎】

22、List,Set,Map 是否繼承自Collection 接口?【基礎】

23、說出ArrayList,Vector, LinkedList 的存儲性能和特性?【基礎】

24、HashMap 和Hashtable 的區別? 【基礎】

25、Arraylist 與Vector 區別?【基礎】

26、List、Map、Set 三個接口,存取元素時,各有什麼特點?【基礎】

27、sleep() 和wait() 有什麼區別? 【基礎】

28、當一個線程進入一個對象的一個synchronized 方法後,其它線程是否可進入此對象的其它方法? 【基礎】

29、多線程有幾種實現方法,都是什麼?同步有幾種實現方法,都是什麼? 【基礎】

30、當一個線程進入一個對象的 synchronized 方法 A 之後,其它線程是否可進入此對象的 synchronized 方法 B?【中等】

31、簡述synchronized 和java.util.concurrent.locks.Lock 的異同?【中等】

32、編寫多線程程序有幾種實現方式?【中等】

33、Java 中如何實現序列化,有什麼意義?【中等】

二、數據庫

34、闡述 JDBC 操作數據庫的步驟。【基礎】

35、使用 JDBC 操作數據庫時,如何提升讀取數據的性能?如何提升更新數據的性能?【中等】

36、在進行數據庫編程時,連接池有什麼作用?【基礎】

37、事務的ACID是指什麼?【基礎】

38、談談髒讀、幻讀和不可重複讀?【中等】

39、JDBC中如何進行事務處理?【中等】

40、獲得一個類的類對象有哪些方式?【基礎】

41、JSP 有哪些內置對象?作用分別是什麼?【基礎】

42、get 和 post 請求的區別?【基礎】

43、講解 JSP 中的四種作用域。【基礎】

三、SSM框架

44、MyBatis 中使用#和$書寫佔位符有什麼區別?【中等】

45、解釋一下 MyBatis 中命名空間(namespace)的作用。【中等】

46、什麼是 IoC 和 DI?DI 是如何實現的?【中等】

47、解釋一下什麼叫 AOP(面向切面編程)?【基礎】

48、你是如何理解"橫切關注"這個概念的?【中等】

49、你如何理解 AOP 中的連接點(Joinpoint)、切點(Pointcut)、增強(Advice)、引介(Introduction)、織入(Weaving)、切面(Aspect)這些概念?【基礎】

50、Spring 支持的事務管理類型有哪些?你在項目中使用哪種方式?【中等】

51、Spring MVC的工作原理是怎樣的?【基礎】

52、什麼是 XSS 攻擊?【困難】

53、SQL 注入攻擊?【困難】

54、什麼是CSRF攻擊?【困難】

四、redis

55、使用redis有哪些好處?【基礎】

56、Redis有哪些數據結構?【基礎】

57、如果有大量的key需要設置同一時間過期,一般需要注意什麼?【中等】

58、爲什麼Redis需要把所有數據放到內存中?【中等】

59、Redis提供了哪幾種持久化方式?【中等】

60、如何選擇合適的持久化方式?【中等】

61、redis支持的java客戶端你用過哪個?【基礎】

62、Redis集羣的主從複製模型是怎樣的?【困難】

63、Redis集羣之間是如何複製的?【中等】

64、怎麼測試Redis的連通性?【基礎】

五、消息隊列

65、爲什麼要用消息隊列?【中等】

66、使用消息隊列有什麼缺點【中等】

67、爲什麼選用RocketMQ;RocketMQ和ActiveMQ的區別【困難】

68、RocketMQ是怎麼保證系統高可用的?【困難】

69、消息中間件集羣崩潰,如何保證百萬生產數據不丟失?【中等】

六、spring boot

70、Spring Boot 的核心配置文件有哪幾個?它們的區別是什麼?【中等】

71、Spring Boot 的配置文件有哪幾種格式?它們有什麼區別?【中等】

72、Spring Boot 的核心註解是哪個?它主要由哪幾個註解組成的?【基礎】

73、開啓 Spring Boot 特性有哪幾種方式?【基礎】

74、Spring Boot 需要獨立的容器運行嗎?【基礎】

75、如何在 Spring Boot 啓動的時候運行一些特定的代碼?【中等】

76、Spring Boot 有哪幾種讀取配置的方式?【中等】

77、Spring Boot 如何定義多套不同環境配置?【中等】

78、SpringBoot中的定時任務如何實現?【中等】

79、我們如何連接一個像 MYSQL 或者 orcale 一樣的外部數據庫?【中等】

七、spring cloud

80、什麼是微服務【中等】

81、微服務之間是如何獨立通訊的spring Cloud和 Dubbo有哪些區別?【困難】

82、springcloud如何實現服務的註冊和發現【中等】

83、Ribbon和Feign的區別【中等】

84、springcloud斷路器的作用【中等】

85、springcloud如何實現服務的註冊和發現【中等】

86、springcloud中的組件有那些?【中等】

八、其他

87、cookie和session的區別【基礎】

88、一次完整的http請求過程【中等】

89、講一下長連接【困難】

90、TCP如何保證可靠傳輸?【困難】

91、URI和URL的區別【中等】

92、http和https的區別?【中等】

93、docker常用命令【中等】

94、什麼是Docker鏡像?【中等】

95、什麼是Docker容器?【中等】

96、什麼是Docker Hub?【中等】

97、什麼是 Git 復刻(fork)?復刻(fork)、分支(branch)和克隆(clone)之間有什麼區別?【中等】

98、“git pull”和“git fetch”之間有什麼區別?【中等】

99、使用Ajax的優缺點分別是什麼?【中等】

100、跨域問題,誰限制的跨域,怎麼解決【困難】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章