面試題集錦

我在github中開了個欄目,專門收集面試題,各位同仁如有面試題可fork,或者在評論區(qū)寫上,我加上去,大家一起進步!

#2. 2017.11.19整理面試題

##2.1 10道騰訊的Java面試題

1、說幾種常見的攻擊方式及預防手段。

2、http1.x和http2.x的區(qū)別。

3、mysql查詢語句怎么做性能分析。

4、你知道哪幾種排序算法?

5、HashMap和HashTable的區(qū)別,并說明其底層實現(xiàn)數(shù)據(jù)結構。

6、HashMap滿了之后怎么擴容?

7、Linux中遠程傳輸文件有什么方式?

8、說說Java中異常的分類。

9、TCP和UDP的區(qū)別,TCP為什么是三次握手,不是兩次。

10、說說數(shù)據(jù)庫設計的三范式,可以違反三范式嗎?

##2.2 Dubbo面試題錦集

1、默認使用的是什么通信框架,還有別的選擇嗎?

2、服務調(diào)用是阻塞的嗎?

3、一般使用什么注冊中心?還有別的選擇嗎?

4、默認使用什么序列化框架,你知道的還有哪些?

5、服務提供者能實現(xiàn)失效踢出是什么原理?

6、服務上線怎么不影響舊版本?

7、如何解決服務調(diào)用鏈過長的問題?

8、說說核心的配置有哪些?

9、dubbo推薦用什么協(xié)議?

10、同一個服務多個注冊的情況下可以直連某一個服務嗎?

11、畫一畫服務注冊與發(fā)現(xiàn)的流程圖

12、集群容錯怎么做?

13、在使用過程中都遇到了些什么問題?

14、dubbo和dubbox之間的區(qū)別?

15、你還了解別的分布式框架嗎?

##2.3 Java List面試題匯總

1、你知道的List都有哪些?

2、List和Vector有什么區(qū)別?

3、List是有序的嗎?

4、ArrayList和LinkedList的區(qū)別?分別用在什么場景?

5、ArrayList和LinkedList的底層數(shù)據(jù)結構是什么?

6、ArrayList默認大小是多少,是如何擴容的?

7、List是線程安全的嗎?如果要線程安全要怎么做?

8、怎么給List排序?

9、Arrays.asList方法后的List可以擴容嗎?

10、List和Array之間如何互相轉換?

##2.4 Java Map集合面試題匯總

1、 你都知道哪些常用的Map集合?

2、Collection集合接口和Map接口有什么關系?

3、HashMap是線程安全的嗎?線程安全的Map都有哪些?性能最好的是哪個?

4、使用HashMap有什么性能問題嗎?

5、HashMap的數(shù)據(jù)結構是怎樣的?默認大小是多少?內(nèi)部是怎么擴容的?

6、怎么按添加順序存儲元素?怎么按A-Z自然順序存儲元素?怎么自定義排序?

7、HashMap的鏈表結構設計是用來解決什么問題的?

8、HashMap的鍵、值可以為NULL嗎?HashTable呢?

9、HashMap使用對象作為key,如果hashcode相同會怎么處理?

10、HashMap中的get操作是什么原理?

##2.5 Spring面試題和答案(70道,史上最全)

1.什么是spring?

2.使用Spring框架的好處是什么?

3.Spring由哪些模塊組成?

4.核心容器(應用上下文)模塊。

5.BeanFactory–BeanFactory實現(xiàn)舉例。

6.XMLBeanFactory

7.解釋AOP模塊

8.解釋JDBC抽象和DAO模塊。

9.解釋對象/關系映射集成模塊。

10.解釋WEB模塊。

11.為什么說Spring是一個容器?

12.Spring配置文件

13.什么是SpringIOC容器?

14.IOC的優(yōu)點是什么?

15.ApplicationContext通常的實現(xiàn)是什么?

16.Bean工廠和Applicationcontexts有什么區(qū)別?

17.一個Spring的應用看起來象什么?

18.什么是Spring的依賴注入?

19.有哪些不同類型的IOC(依賴注入)方式?

20.哪種依賴注入方式你建議使用,構造器注入,還是Setter方法注入?

21.什么是Springbeans?

22.一個SpringBean定義包含什么?

23.如何給Spring容器提供配置元數(shù)據(jù)?

24.你怎樣定義類的作用域?

25.解釋Spring支持的幾種bean的作用域。

26.Spring框架中的單例bean是線程安全的嗎?

27.解釋Spring框架中bean的生命周期。

28.哪些是重要的bean生命周期方法?你能重載它們嗎?

29.什么是Spring的內(nèi)部bean?

30.在Spring中如何注入一個java集合?

31.什么是bean裝配?

32.什么是bean的自動裝配?

33.解釋不同方式的自動裝配。

34.自動裝配有哪些局限性?

35.你可以在Spring中注入一個null和一個空字符串嗎?

36.什么是基于Java的Spring注解配置?給一些注解的例子.

37.什么是基于注解的容器配置?

38.怎樣開啟注解裝配?

39.@Required注解

40.@Autowired注解

41.@Qualifier注解

42.在Spring框架中如何更有效地使用JDBC?

43.JdbcTemplate

44.Spring對DAO的支持

45.使用Spring通過什么方式訪問Hibernate?

46.Spring支持的ORM

47.如何通過HibernateDaoSupport將Spring和Hibernate結合起來?

48.Spring支持的事務管理類型

49.Spring框架的事務管理有哪些優(yōu)點?

50.你更傾向用那種事務管理類型?

51.解釋AOP

52.Aspect切面

53.在SpringAOP中,關注點和橫切關注的區(qū)別是什么?

54.連接點

55.通知

56.切點

57.什么是引入?

58.什么是目標對象?

59.什么是代理?

60.有幾種不同類型的自動代理?

61.什么是織入。什么是織入應用的不同點?

62.解釋基于XMLSchema方式的切面實現(xiàn)。

63.解釋基于注解的切面實現(xiàn)

64.什么是Spring的MVC框架?

65.DispatcherServlet

66.WebApplicationContext

67.什么是SpringMVC框架的控制器?

68.@Controller注解

69.@RequestMapping注解

70.返回Json用什么注解?

##2.6 Zookeeper面試題錦集

1、zookeeper是什么框架?

2、有哪些應用場景?

3、使用什么協(xié)議?

4、說說分布式一致性算法Paxos

5、說一說選舉算法及流程

6、zookeeper有哪幾種節(jié)點類型?

7、zookeeper對節(jié)點的watch監(jiān)聽通知是永久的嗎?

8、有哪幾種部署模式?

9、集群中的機器角色都有哪些?

10、集群最少要幾臺機器,集群規(guī)則是怎樣的

11、集群如果有3臺機器,掛掉一臺集群還能工作嗎?掛掉兩臺呢?

12、集群支持動態(tài)添加機器嗎?

13、zookeeper的java客戶端都有哪些?

14、chubby是什么,和zookeeper比你怎么看?

15、說幾個zookeeper常用的命令。

##2.7 阿里巴巴高級Java面試題(首發(fā),70道)

1、java事件機制包括哪三個部分?分別介紹。

2、為什么要使用線程池?

3、線程池有什么作用?

4、說說幾種常見的線程池及使用場景。

5、線程池都有哪幾種工作隊列?

6、怎么理解無界隊列和有界隊列?

7、線程池中的幾種重要的參數(shù)及流程說明。

8、什么是反射機制?

9、說說反射機制的作用。

10、反射機制會不會有性能問題?

11、你怎么理解http協(xié)議?

12、說說http協(xié)議的工作流程。

13、http有哪些請求提交方式?

14、http中的200,302,403,404,500,503都代表什么狀態(tài)?

15、http get和post有什么區(qū)別?

16、你怎么理解cookie和session,有哪些不同點?

17、什么是web緩存?有什么優(yōu)點?

18、什么是https,說說https的工作原理?

19、什么是http代理服務器,有什么用?

20、什么是虛擬主機及實現(xiàn)原理?

21、什么是Java虛擬機,為什么要使用?

22、說說Java虛擬機的生命周期及體系結構。

23、說一說Java內(nèi)存區(qū)域。

24、什么是分布式系統(tǒng)?

25、分布式系統(tǒng)你會考慮哪些方面?

26、講一講TCP協(xié)議的三次握手和四次揮手流程。

27、為什么TCP建立連接協(xié)議是三次握手,而關閉連接卻是四次握手呢?為什么不能用兩次握手進行連接?

28、為什么TCP TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?

29、什么是DoS、DDoS、DRDoS攻擊?如何防御?

30、描述一下Java異常層次結構。

31、什么是檢查異常,不受檢查異常,運行時異常?并分別舉例說明。

32、finally塊一定會執(zhí)行嗎?

33、正常情況下,當在try塊或catch塊中遇到return語句時,finally語句塊在方法返回之前還是之后被執(zhí)行?

34、try、catch、finally語句塊的執(zhí)行順序。

35、Java虛擬機中,數(shù)據(jù)類型可以分為哪幾類?

36、怎么理解棧、堆?堆中存什么?棧中存什么?

37、為什么要把堆和棧區(qū)分出來呢?棧中不是也可以存儲數(shù)據(jù)嗎?

38、在Java中,什么是是棧的起始點,同是也是程序的起始點?

39、為什么不把基本類型放堆中呢?

40、Java中的參數(shù)傳遞時傳值呢?還是傳引用?

41、Java中有沒有指針的概念?

42、Java中,棧的大小通過什么參數(shù)來設置?

43、一個空Object對象的占多大空間?

44、對象引用類型分為哪幾類?

45、講一講垃圾回收算法。

46、如何解決內(nèi)存碎片的問題?

47、如何解決同時存在的對象創(chuàng)建和對象回收問題?

48、講一講內(nèi)存分代及生命周期。

49、什么情況下觸發(fā)垃圾回收?

50、如何選擇合適的垃圾收集算法?

51、JVM中最大堆大小有沒有限制?

52、堆大小通過什么參數(shù)設置?

53、JVM有哪三種垃圾回收器?

54、吞吐量優(yōu)先選擇什么垃圾回收器?響應時間優(yōu)先呢?

55、如何進行JVM調(diào)優(yōu)?有哪些方法?

56、如何理解內(nèi)存泄漏問題?有哪些情況會導致內(nèi)存泄露?如何解決?

57、從分布式系統(tǒng)部署角度考慮,分哪幾層?

58、如何解決業(yè)務層的數(shù)據(jù)訪問問題?

59、為了解決數(shù)據(jù)庫服務器的負擔,如何做數(shù)據(jù)庫的分布?

60、什么是著名的拜占庭將軍問題?

61、為什么說TCP/IP協(xié)議是不可靠的?

62、講講CAP理念。

63、怎么理解強一致性、單調(diào)一致性和最終一致性?

64、分布式系統(tǒng)設計你會考慮哪些策略?

65、最常見的數(shù)據(jù)分布方式是什么?

66、談一談一致性哈希算法。

67、paxos是什么?

68、什么是Lease機制?

69、如何理解選主算法?

70、OSI有哪七層模型?TCP/IP是哪四層模型

##2.8 關于String的10道經(jīng)典面試題

1、String是基本數(shù)據(jù)類型嗎?

2、String是可變的話?

3、怎么比較兩個字符串的值一樣,怎么比較兩個字符串是否同一對象?

4、switch中可以使用String嗎?

5、String str = new String("abc");創(chuàng)建了幾個對象,為什么?

6、String、StringBuffer、StringBuilder有什么區(qū)別?

7、String.trim()方法去掉的是哪些字符?

8、String可以被子類繼承嗎?

9、可以自定義java.lang.String類并使用嗎?

10、String與byte[]兩者相互之間如何轉換?

##2.9 去BAT面試完的Mysql面試題總結(55道,帶完整答案)

1、一張表里面有ID自增主鍵,當insert了17條記錄之后,刪除了第15,16,17條記錄,再把mysql重啟,再insert一條記錄,這條記錄的ID是18還是15 ?

2、mysql的技術特點是什么?

3、Heap表是什么?

4、mysql服務器默認端口是什么?

5、與Oracle相比,mysql有什么優(yōu)勢?

6、如何區(qū)分FLOAT和DOUBLE?

7、區(qū)分CHAR_LENGTH和LENGTH?

8、請簡潔描述mysql中InnoDB支持的四種事務隔離級別名稱,以及逐級之間的區(qū)別?

9、在mysql中ENUM的用法是什么?

10、如何定義REGEXP?

11、CHAR和VARCHAR的區(qū)別?

12、列的字符串類型可以是什么?

13、如何獲取當前的mysql版本?

14、mysql中使用什么存儲引擎?

15、mysql驅(qū)動程序是什么?

16、TIMESTAMP在UPDATE CURRENT_TIMESTAMP數(shù)據(jù)類型上做什么?

17、主鍵和候選鍵有什么區(qū)別?

18、如何使用Unix shell登錄mysql?

19、 myisamchk是用來做什么的?

20、mysql數(shù)據(jù)庫服務器性能分析的方法命令有哪些?

21、如何控制HEAP表的最大尺寸?

22、MyISAM Static和MyISAM Dynamic有什么區(qū)別?

23、federated表是什么?

24、如果一個表有一列定義為TIMESTAMP,將發(fā)生什么?

25、列設置為AUTO INCREMENT時,如果在表中達到最大值,會發(fā)生什么情況?

26、怎樣才能找出最后一次插入時分配了哪個自動增量?

27、你怎么看到為表格定義的所有索引?

28、LIKE聲明中的%和_是什么意思?

29、如何在Unix和mysql時間戳之間進行轉換?

30、列對比運算符是什么?

31、我們?nèi)绾蔚玫绞懿樵冇绊懙男袛?shù)?

32、mysql查詢是否區(qū)分大小寫?

33、LIKE和REGEXP操作有什么區(qū)別?

34、BLOB和TEXT有什么區(qū)別?

35、mysql_fetch_array和mysql_fetch_object的區(qū)別是什么?

36、我們?nèi)绾卧趍ysql中運行批處理模式?

37、MyISAM表格將在哪里存儲,并且還提供其存儲格式?

38、mysql中有哪些不同的表格?

39、ISAM是什么?

40、InnoDB是什么?

41、mysql如何優(yōu)化DISTINCT?

42、如何輸入字符為十六進制數(shù)字?

43、如何顯示前50行?

44、可以使用多少列創(chuàng)建索引?

45、NOW()和CURRENT_DATE()有什么區(qū)別?

46、什么樣的對象可以使用CREATE語句創(chuàng)建?

47、mysql表中允許有多少個TRIGGERS?

48、什么是非標準字符串類型?

49、什么是通用SQL函數(shù)?

50、解釋訪問控制列表

51、mysql支持事務嗎?

52、mysql里記錄貨幣用什么字段類型好?

53、mysql數(shù)據(jù)表在什么情況下容易損壞?

54、mysql有關權限的表都有哪幾個?

55、mysql中有哪幾種鎖?

##2.10 稍微有點難度的10道java面試題

1、jvm對頻繁調(diào)用的方法做了哪些優(yōu)化?

2、常見的攻擊手段有哪些?如何防范?

3、restful api有哪些設計原則?

4、hessian是做什么用的?它的傳輸單位是什么?

5、http中的post、get有什么區(qū)別?base64過后的字符串可以通過get傳輸嗎?

6、常用的算法都有哪些分類,分別有哪些算法及應用場景?

7、死鎖是什么?寫一個死鎖的例子?如何避免死鎖?

8、學用的序列化方案都有哪些,說說它們的優(yōu)缺點?

9、什么是過濾器、攔截器、監(jiān)聽器,它們的順序是怎樣的?

10、servlet3.0有哪些新規(guī)范?

面試題答案詳見:https://github.com/landy8530/interview?

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

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

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • Java基礎問題 String的'+'的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解...
    零寬度接合閱讀 490評論 0 4
  • 百度搜索:regex測試工具下載: http://www.zjmainstay.cn/download/categ...
    Dove_Q閱讀 367評論 0 0
  • 距上次相親已經(jīng)一個星期了,葉卿沒有等到他的電話。剛開始還抱有幾分期待與幻想,現(xiàn)在倒有些釋然了。本就是兩條平行線,只...
    葉青辭閱讀 336評論 0 1
  • 本集匿名投票榮譽榜 詩魁:子雷,作品《西江月 山園幽思》 副魁:子雷,作品《西江月 · 邊防戰(zhàn)士》 1 西江月 ...
    霙愔閱讀 651評論 0 2

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