我在github中開了個欄目渣淳,專門收集面試題层皱,各位同仁如有面試題可fork,或者在評論區(qū)寫上孵班,我加上去涉兽,大家一起進步!
#2. 2017.11.19整理面試題
##2.1 10道騰訊的Java面試題
1篙程、說幾種常見的攻擊方式及預(yù)防手段枷畏。
2、http1.x和http2.x的區(qū)別虱饿。
3拥诡、mysql查詢語句怎么做性能分析触趴。
4、你知道哪幾種排序算法渴肉?
5冗懦、HashMap和HashTable的區(qū)別,并說明其底層實現(xiàn)數(shù)據(jù)結(jié)構(gòu)仇祭。
6披蕉、HashMap滿了之后怎么擴容?
7乌奇、Linux中遠(yuǎn)程傳輸文件有什么方式没讲?
8、說說Java中異常的分類礁苗。
9爬凑、TCP和UDP的區(qū)別,TCP為什么是三次握手试伙,不是兩次嘁信。
10、說說數(shù)據(jù)庫設(shè)計的三范式迁霎,可以違反三范式嗎吱抚?
##2.2 Dubbo面試題錦集
1、默認(rèn)使用的是什么通信框架考廉,還有別的選擇嗎?
2秘豹、服務(wù)調(diào)用是阻塞的嗎?
3昌粤、一般使用什么注冊中心既绕?還有別的選擇嗎?
4涮坐、默認(rèn)使用什么序列化框架凄贩,你知道的還有哪些?
5袱讹、服務(wù)提供者能實現(xiàn)失效踢出是什么原理疲扎?
6、服務(wù)上線怎么不影響舊版本捷雕?
7椒丧、如何解決服務(wù)調(diào)用鏈過長的問題?
8救巷、說說核心的配置有哪些壶熏?
9、dubbo推薦用什么協(xié)議浦译?
10棒假、同一個服務(wù)多個注冊的情況下可以直連某一個服務(wù)嗎溯职?
11、畫一畫服務(wù)注冊與發(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ù)結(jié)構(gòu)是什么众羡?
6侨赡、ArrayList默認(rèn)大小是多少,是如何擴容的粱侣?
7羊壹、List是線程安全的嗎?如果要線程安全要怎么做齐婴?
8油猫、怎么給List排序?
9柠偶、Arrays.asList方法后的List可以擴容嗎情妖?
10、List和Array之間如何互相轉(zhuǎn)換诱担?
##2.4 Java Map集合面試題匯總
1鲫售、 你都知道哪些常用的Map集合?
2、Collection集合接口和Map接口有什么關(guān)系该肴?
3、HashMap是線程安全的嗎藐不?線程安全的Map都有哪些匀哄?性能最好的是哪個秦效?
4、使用HashMap有什么性能問題嗎涎嚼?
5阱州、HashMap的數(shù)據(jù)結(jié)構(gòu)是怎樣的?默認(rèn)大小是多少法梯?內(nèi)部是怎么擴容的苔货?
6、怎么按添加順序存儲元素立哑?怎么按A-Z自然順序存儲元素夜惭?怎么自定義排序?
7铛绰、HashMap的鏈表結(jié)構(gòu)設(shè)計是用來解決什么問題的诈茧?
8、HashMap的鍵捂掰、值可以為NULL嗎敢会?HashTable呢?
9这嚣、HashMap使用對象作為key鸥昏,如果hashcode相同會怎么處理?
10姐帚、HashMap中的get操作是什么原理吏垮?
##2.5 Spring面試題和答案(70道,史上最全)
1.什么是spring?
2.使用Spring框架的好處是什么卧土?
3.Spring由哪些模塊組成?
4.核心容器(應(yīng)用上下文)模塊惫皱。
5.BeanFactory–BeanFactory實現(xiàn)舉例。
6.XMLBeanFactory
7.解釋AOP模塊
8.解釋JDBC抽象和DAO模塊尤莺。
9.解釋對象/關(guān)系映射集成模塊旅敷。
10.解釋W(xué)EB模塊。
11.為什么說Spring是一個容器颤霎?
12.Spring配置文件
13.什么是SpringIOC容器媳谁?
14.IOC的優(yōu)點是什么?
15.ApplicationContext通常的實現(xiàn)是什么?
16.Bean工廠和Applicationcontexts有什么區(qū)別友酱?
17.一個Spring的應(yīng)用看起來象什么晴音?
18.什么是Spring的依賴注入?
19.有哪些不同類型的IOC(依賴注入)方式缔杉?
20.哪種依賴注入方式你建議使用锤躁,構(gòu)造器注入,還是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結(jié)合起來?
48.Spring支持的事務(wù)管理類型
49.Spring框架的事務(wù)管理有哪些優(yōu)點罩引?
50.你更傾向用那種事務(wù)管理類型各吨?
51.解釋AOP
52.Aspect切面
53.在SpringAOP中,關(guān)注點和橫切關(guān)注的區(qū)別是什么袁铐?
54.連接點
55.通知
56.切點
57.什么是引入?
58.什么是目標(biāo)對象?
59.什么是代理?
60.有幾種不同類型的自動代理揭蜒?
61.什么是織入。什么是織入應(yīng)用的不同點剔桨?
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萨脑、有哪些應(yīng)用場景?
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代理服務(wù)器,有什么用违诗?
20漱凝、什么是虛擬主機及實現(xiàn)原理?
21诸迟、什么是Java虛擬機茸炒,為什么要使用?
22阵苇、說說Java虛擬機的生命周期及體系結(jié)構(gòu)壁公。
23、說一說Java內(nèi)存區(qū)域绅项。
24紊册、什么是分布式系統(tǒng)?
25快耿、分布式系統(tǒng)你會考慮哪些方面囊陡?
26、講一講TCP協(xié)議的三次握手和四次揮手流程掀亥。
27撞反、為什么TCP建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢搪花?為什么不能用兩次握手進行連接遏片?
28嘹害、為什么TCP TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?
29吮便、什么是DoS笔呀、DDoS、DRDoS攻擊髓需?如何防御许师?
30、描述一下Java異常層次結(jié)構(gòu)僚匆。
31枯跑、什么是檢查異常,不受檢查異常白热,運行時異常?并分別舉例說明粗卜。
32屋确、finally塊一定會執(zhí)行嗎?
33续扔、正常情況下攻臀,當(dāng)在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ù)來設(shè)置婿崭?
43、一個空Object對象的占多大空間肴颊?
44氓栈、對象引用類型分為哪幾類?
45婿着、講一講垃圾回收算法授瘦。
46、如何解決內(nèi)存碎片的問題竟宋?
47提完、如何解決同時存在的對象創(chuàng)建和對象回收問題?
48丘侠、講一講內(nèi)存分代及生命周期徒欣。
49、什么情況下觸發(fā)垃圾回收蜗字?
50打肝、如何選擇合適的垃圾收集算法?
51秽澳、JVM中最大堆大小有沒有限制闯睹?
52、堆大小通過什么參數(shù)設(shè)置担神?
53楼吃、JVM有哪三種垃圾回收器?
54妄讯、吞吐量優(yōu)先選擇什么垃圾回收器孩锡?響應(yīng)時間優(yōu)先呢?
55亥贸、如何進行JVM調(diào)優(yōu)躬窜?有哪些方法?
56炕置、如何理解內(nèi)存泄漏問題荣挨?有哪些情況會導(dǎo)致內(nèi)存泄露男韧?如何解決?
57默垄、從分布式系統(tǒng)部署角度考慮此虑,分哪幾層?
58口锭、如何解決業(yè)務(wù)層的數(shù)據(jù)訪問問題朦前?
59、為了解決數(shù)據(jù)庫服務(wù)器的負(fù)擔(dān)鹃操,如何做數(shù)據(jù)庫的分布韭寸?
60、什么是著名的拜占庭將軍問題荆隘?
61恩伺、為什么說TCP/IP協(xié)議是不可靠的?
62椰拒、講講CAP理念莫其。
63、怎么理解強一致性耸三、單調(diào)一致性和最終一致性?
64浇揩、分布式系統(tǒng)設(shè)計你會考慮哪些策略仪壮?
65、最常見的數(shù)據(jù)分布方式是什么胳徽?
66积锅、談一談一致性哈希算法。
67养盗、paxos是什么缚陷?
68、什么是Lease機制往核?
69箫爷、如何理解選主算法?
70聂儒、OSI有哪七層模型虎锚?TCP/IP是哪四層模型
##2.8 關(guān)于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[]兩者相互之間如何轉(zhuǎn)換乐设?
##2.9 去BAT面試完的Mysql面試題總結(jié)(55道讼庇,帶完整答案)
1、一張表里面有ID自增主鍵近尚,當(dāng)insert了17條記錄之后蠕啄,刪除了第15,16,17條記錄,再把mysql重啟戈锻,再insert一條記錄歼跟,這條記錄的ID是18還是15 ?
2格遭、mysql的技術(shù)特點是什么哈街?
3、Heap表是什么拒迅?
4骚秦、mysql服務(wù)器默認(rèn)端口是什么?
5璧微、與Oracle相比骤竹,mysql有什么優(yōu)勢?
6往毡、如何區(qū)分FLOAT和DOUBLE蒙揣?
7、區(qū)分CHAR_LENGTH和LENGTH开瞭?
8懒震、請簡潔描述mysql中InnoDB支持的四種事務(wù)隔離級別名稱罩息,以及逐級之間的區(qū)別?
9个扰、在mysql中ENUM的用法是什么瓷炮?
10、如何定義REGEXP递宅?
11娘香、CHAR和VARCHAR的區(qū)別?
12办龄、列的字符串類型可以是什么烘绽?
13、如何獲取當(dāng)前的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ù)庫服務(wù)器性能分析的方法命令有哪些?
21恭应、如何控制HEAP表的最大尺寸抄邀?
22、MyISAM Static和MyISAM Dynamic有什么區(qū)別昼榛?
23境肾、federated表是什么?
24胆屿、如果一個表有一列定義為TIMESTAMP奥喻,將發(fā)生什么?
25非迹、列設(shè)置為AUTO INCREMENT時环鲤,如果在表中達到最大值,會發(fā)生什么情況憎兽?
26冷离、怎樣才能找出最后一次插入時分配了哪個自動增量吵冒?
27、你怎么看到為表格定義的所有索引西剥?
28痹栖、LIKE聲明中的%和_是什么意思?
29瞭空、如何在Unix和mysql時間戳之間進行轉(zhuǎn)換揪阿?
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、什么是非標(biāo)準(zhǔn)字符串類型辅髓?
49泣崩、什么是通用SQL函數(shù)?
50洛口、解釋訪問控制列表
51矫付、mysql支持事務(wù)嗎?
52第焰、mysql里記錄貨幣用什么字段類型好买优?
53、mysql數(shù)據(jù)表在什么情況下容易損壞挺举?
54杀赢、mysql有關(guān)權(quán)限的表都有哪幾個?
55湘纵、mysql中有哪幾種鎖脂崔?
##2.10 稍微有點難度的10道java面試題
1、jvm對頻繁調(diào)用的方法做了哪些優(yōu)化梧喷?
2砌左、常見的攻擊手段有哪些?如何防范铺敌?
3汇歹、restful api有哪些設(shè)計原則?
4偿凭、hessian是做什么用的产弹?它的傳輸單位是什么?
5笔喉、http中的post、get有什么區(qū)別硝皂?base64過后的字符串可以通過get傳輸嗎常挚?
6、常用的算法都有哪些分類稽物,分別有哪些算法及應(yīng)用場景奄毡?
7、死鎖是什么贝或?寫一個死鎖的例子吼过?如何避免死鎖锐秦?
8、學(xué)用的序列化方案都有哪些盗忱,說說它們的優(yōu)缺點酱床?
9、什么是過濾器趟佃、攔截器扇谣、監(jiān)聽器,它們的順序是怎樣的闲昭?
10罐寨、servlet3.0有哪些新規(guī)范?
面試題答案詳見:https://github.com/landy8530/interview?