java面試問(wèn)題參考_第1頁(yè)
java面試問(wèn)題參考_第2頁(yè)
java面試問(wèn)題參考_第3頁(yè)
java面試問(wèn)題參考_第4頁(yè)
java面試問(wèn)題參考_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

電話(huà)面試主要考察3塊內(nèi)容:1、Java的相關(guān)基礎(chǔ)知識(shí),開(kāi)源框架的原理,JVM,多線(xiàn)程,高并發(fā),中間件等;2、之前項(xiàng)目經(jīng)歷,運(yùn)用的技術(shù),遇到的問(wèn)題,如何解決,個(gè)人有什么收獲和成長(zhǎng);3、對(duì)于技術(shù)的熱情(平時(shí)是否看些技術(shù)書(shū)籍,逛論壇,寫(xiě)博客,寫(xiě)源代碼或程序等);他們電面不通過(guò)我這邊約時(shí)間,你如果接到電話(huà)不方便,可以跟面試官改約,如果漏接電話(huà),可以找我,我去協(xié)調(diào),一般面試官會(huì)在聯(lián)系的。CoreJava:(P6級(jí)必問(wèn)其中3題以上)1)整數(shù)數(shù)組按絕對(duì)值排序2)ConcurrentHashMap的數(shù)據(jù)結(jié)構(gòu)3)非阻塞IO和異步IO的區(qū)別4)內(nèi)存管理機(jī)制,如何回收過(guò)期對(duì)象,判斷依據(jù),內(nèi)存溢出場(chǎng)景,如何排查等(P7需要很清楚的知道jvm的內(nèi)存結(jié)構(gòu),回收過(guò)程,及虛擬機(jī)相關(guān)的回收算法及設(shè)計(jì)初衷)5)equals和==的區(qū)別6)final和finally7)常用的集合類(lèi)有哪些?區(qū)別是什么?hashmap和hashtable的區(qū)別。哪些是線(xiàn)程安全的哪些不是?8)Object中的常見(jiàn)的方法。9)java中的異常體系,異常出現(xiàn)的情況如:ClassNotFound、空指針等10)JVM的內(nèi)存模型是怎么樣的?應(yīng)用突然變得很慢,如何定位?11)Java的異常類(lèi)層次結(jié)構(gòu)12)對(duì)JDK8的新特性有什么了解13)Java的類(lèi)加載器的機(jī)制((P7除了知道機(jī)制外,需要能夠說(shuō)明,利用classloader特性的一些場(chǎng)景應(yīng)用)14)原子類(lèi)的實(shí)現(xiàn);15)Error、Exception和RuntimeException的區(qū)別,作用又是什么16)IO和NIO本質(zhì)不同在實(shí)際項(xiàng)目使用場(chǎng)景及如何使用;17)sleep()和wait()有什么區(qū)別;數(shù)據(jù)庫(kù)&事物:(P6級(jí)必問(wèn))什么樣的場(chǎng)景會(huì)產(chǎn)生數(shù)據(jù)庫(kù)死鎖,如何解決SQL如何優(yōu)化oracle或者mysql分頁(yè)的實(shí)現(xiàn)思路SQL怎么判斷字段是否為空唯一索引能否插入空數(shù)據(jù)庫(kù)索引的算法原理;樂(lè)觀鎖,悲觀鎖;WEB(P6級(jí)必問(wèn))post/get的區(qū)別是什么cookie/session有什么區(qū)別web集群中登錄態(tài)如何共享xss、csrf等如何防范?sql注入如何防范?瀏覽器緩存策略;Ajax如何解決跨域問(wèn)題;常用框架(P6級(jí)必問(wèn))springAOP/IOC的理解,大致原理,類(lèi)內(nèi)部調(diào)用是否會(huì)觸發(fā)aop的邏輯?為什么?Spring的事物傳播屬性或數(shù)據(jù)庫(kù)的事物隔離級(jí)別,實(shí)現(xiàn)原理velocity如何避免引用空屬性的報(bào)錯(cuò)?spring的單例或者原型如何配置?還用過(guò)其他什么scope?log4j或者logback的日志記錄文件在哪里?(開(kāi)放式問(wèn)題,怎么確定日志打到哪里了)工具:maven中如何排除包沖突svn合并代碼怎么做分布式:如何實(shí)現(xiàn)分布式鎖分布式Session如何實(shí)現(xiàn)如何消除分布式事物MetaQ,Zookeeper的原理和適用場(chǎng)景,(P7需要對(duì)業(yè)界的同類(lèi)產(chǎn)品有一定的了解,知道各自的優(yōu)缺點(diǎn))Redis3.0的分布式集群架構(gòu),(P7需要對(duì)業(yè)界的同類(lèi)產(chǎn)品有一定的了解,知道各自的優(yōu)缺點(diǎn))高并發(fā):原子計(jì)數(shù)器AtomicInteger的技術(shù)實(shí)現(xiàn)volatile的內(nèi)存模型接口服務(wù)如何防止重復(fù)調(diào)用?自己使用過(guò)多線(xiàn)程的場(chǎng)景是什么?線(xiàn)程安全如何保證?java的并發(fā)框架是否用過(guò),線(xiàn)程池是否用過(guò),RejectedExecutionHandler是否知道?設(shè)計(jì):對(duì)常用設(shè)計(jì)模式的了解,在項(xiàng)目中的實(shí)際應(yīng)用。排序算法描述;在項(xiàng)目中是否采用分層的結(jié)構(gòu),是怎樣劃分的,各層之間采用了哪些相關(guān)技術(shù);場(chǎng)景問(wèn)題:對(duì)所做的系統(tǒng)的業(yè)務(wù)描述。能夠描述清楚業(yè)務(wù)的核心邏輯和模型抽象,技術(shù)問(wèn)題解決有正確思路(P6要求)。對(duì)其中的技術(shù)選型,技術(shù)方案有周全考慮,并且獨(dú)立完成一個(gè)較復(fù)雜系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。(p7要求)自己平時(shí)會(huì)學(xué)習(xí)些什么技術(shù),學(xué)習(xí)程度如何?做項(xiàng)目過(guò)程中遇到什么技術(shù)難點(diǎn);(p6和P7通過(guò)問(wèn)題的技術(shù)難度、技術(shù)范圍來(lái)區(qū)分);怎么看待加班;線(xiàn)上問(wèn)題分析處理是否有經(jīng)驗(yàn)如何解決的;P7除了要抽查上面的技術(shù)問(wèn)題外,建議選擇詢(xún)問(wèn)以下問(wèn)題:描述一個(gè)獨(dú)立設(shè)計(jì)的較復(fù)雜系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn),能夠清晰表達(dá)系統(tǒng)中的關(guān)鍵概念模型,行業(yè)內(nèi)的對(duì)標(biāo)產(chǎn)品及相關(guān)技術(shù)的熟悉程度;對(duì)其中的技術(shù)方案有周全考慮,技術(shù)方案完整無(wú)明顯漏洞;實(shí)際項(xiàng)目設(shè)計(jì)中的延展性,對(duì)業(yè)務(wù)未來(lái)發(fā)展有一定考慮;實(shí)際項(xiàng)目設(shè)計(jì)中如何保持優(yōu)雅,方便運(yùn)維和發(fā)展;獨(dú)立設(shè)計(jì)系統(tǒng)中的技術(shù)選型的比較,熟悉的技術(shù)領(lǐng)域最佳實(shí)踐;開(kāi)發(fā)設(shè)計(jì)中,采取了什么樣的技術(shù)手段,提高開(kāi)發(fā)的效率;如果要設(shè)計(jì)一個(gè)搜索引擎,像google那樣只有兩個(gè)頁(yè)面,要求性能最大化,web方面應(yīng)該如何設(shè)計(jì)?(不需要考慮搜索的邏輯)項(xiàng)目中用到點(diǎn)的技術(shù)細(xì)節(jié)挖掘;主要考察他對(duì)技術(shù)細(xì)節(jié)深度理解。如對(duì)MetaQ原理的理解,同類(lèi)產(chǎn)品的比較。算法和數(shù)據(jù)結(jié)構(gòu)的描述;展示他對(duì)各數(shù)據(jù)結(jié)構(gòu)的理解,不同場(chǎng)景下如何設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)和算法,如何權(quán)衡時(shí)間與空間的取舍;troubleshooting的最佳實(shí)踐。這里根據(jù)不同的trouble情況會(huì)涉及到j(luò)vm內(nèi)存,數(shù)據(jù)庫(kù),操作系統(tǒng)等相關(guān)的知識(shí)點(diǎn)。目前團(tuán)隊(duì)的瓶頸和困難分析。碰到過(guò)的最棘手技術(shù)問(wèn)題或最復(fù)雜的業(yè)務(wù)場(chǎng)景的設(shè)計(jì)。技術(shù)一面和二面的側(cè)重點(diǎn):一面重點(diǎn)(從前到后):技術(shù)能力,實(shí)際動(dòng)手能力;技術(shù)思路;溝通表達(dá)能力;學(xué)習(xí)能力;Goku1.MyBastis如何映射,MyBatis原理。2.如何實(shí)現(xiàn)高可用的,你的系統(tǒng)怎么達(dá)到高可用的?3.redis底層實(shí)現(xiàn),redis是如何更新緩存的?4.集合框架有哪些是線(xiàn)程安全的?哪些是非安全的?5.開(kāi)發(fā)中你們?nèi)绾芜M(jìn)行單元測(cè)試?覆蓋率如何?自動(dòng)化測(cè)試怎么達(dá)到?6.SpringMvc執(zhí)行流程,java常用設(shè)計(jì)模式。7.eureka怎么保證可用性,及底其層實(shí)現(xiàn),與zookeeper有什么區(qū)別?8.高并發(fā)相關(guān)的問(wèn)題,concurrent相關(guān)包。9.為什么使用redis做緩存而不是其他的消息隊(duì)列入kafka,以及項(xiàng)目的穩(wěn)定性。10.事務(wù)一定會(huì)鎖表嗎?11.java并發(fā)和線(xiàn)程同步,同步機(jī)制,鎖具體解釋一下。12.redis集群搭建,分詞算法、redis主從同步機(jī)制。13.常用的線(xiàn)程池,threadlocal有什么用,多線(xiàn)程并發(fā)解決辦法。1、分布式事務(wù)2、服務(wù)降級(jí)熔斷和降級(jí)Hystrix3、ServiceMesh4、分布式請(qǐng)求跟蹤系統(tǒng)5、NewSql6、分布式鎖Etcd7、服務(wù)熔斷Hystrix8、安全方面的架構(gòu)9、服務(wù)注冊(cè)治理10、高并發(fā)手段11、負(fù)載均衡12、冪等設(shè)計(jì)13、服務(wù)限流14、配置中心15、消息隊(duì)列16、服務(wù)管理17、服務(wù)調(diào)度18、分庫(kù)分表19、sql優(yōu)化20、數(shù)據(jù)一致性21、服務(wù)監(jiān)控開(kāi)源監(jiān)控框架22、RPC網(wǎng)關(guān):統(tǒng)一認(rèn)證api鑒權(quán)api限流http://www.ciliba.fun/detail/43675741.htmlhttp://www.ciliba.fun/s/偷拍.html/q/偷拍.html/q/偷拍.htmlhttp://www.btdad.sitehttps://bt.suobt001.xyz/search/偷拍/基礎(chǔ)篇基本功面向?qū)ο蟮奶卣鱢inal,finally,finalize的區(qū)別int和Integer有什么區(qū)別重載和重寫(xiě)的區(qū)別抽象類(lèi)和接口有什么區(qū)別說(shuō)說(shuō)反射的用途及實(shí)現(xiàn)說(shuō)說(shuō)自定義注解的場(chǎng)景及實(shí)現(xiàn)HTTP請(qǐng)求的GET與POST方式的區(qū)別session與cookie區(qū)別session分布式處理JDBC流程MVC設(shè)計(jì)思想equals與==的區(qū)別集合List和Set區(qū)別List和Map區(qū)別Arraylist與LinkedList區(qū)別ArrayList與Vector區(qū)別HashMap和Hashtable的區(qū)別HashSet和HashMap區(qū)別HashMap和ConcurrentHashMap的區(qū)別HashMap的工作原理及代碼實(shí)現(xiàn)ConcurrentHashMap的工作原理及代碼實(shí)現(xiàn)線(xiàn)程創(chuàng)建線(xiàn)程的方式及實(shí)現(xiàn)sleep()、join()、yield()有什么區(qū)別說(shuō)說(shuō)CountDownLatch原理說(shuō)說(shuō)CyclicBarrier原理說(shuō)說(shuō)Semaphore原理說(shuō)說(shuō)Exchanger原理說(shuō)說(shuō)CountDownLatch與CyclicBarrier區(qū)別ThreadLocal原理分析講講線(xiàn)程池的實(shí)現(xiàn)原理線(xiàn)程池的幾種方式線(xiàn)程的生命周期鎖機(jī)制說(shuō)說(shuō)線(xiàn)程安全問(wèn)題volatile實(shí)現(xiàn)原理synchronize實(shí)現(xiàn)原理synchronized與lock的區(qū)別CAS樂(lè)觀鎖ABA問(wèn)題樂(lè)觀鎖的業(yè)務(wù)場(chǎng)景及實(shí)現(xiàn)方式核心篇數(shù)據(jù)存儲(chǔ)MySQL索引使用的注意事項(xiàng)說(shuō)說(shuō)反模式設(shè)計(jì)說(shuō)說(shuō)分庫(kù)與分表設(shè)計(jì)分庫(kù)與分表帶來(lái)的分布式困境與應(yīng)對(duì)之策說(shuō)說(shuō)SQL優(yōu)化之道MySQL遇到的死鎖問(wèn)題存儲(chǔ)引擎的InnoDB與MyISAM數(shù)據(jù)庫(kù)索引的原理為什么要用B-tree聚集索引與非聚集索引的區(qū)別limit20000加載很慢怎么解決選擇合適的分布式主鍵方案選擇合適的數(shù)據(jù)存儲(chǔ)方案ObjectId規(guī)則聊聊MongoDB使用場(chǎng)景倒排索引聊聊ElasticSearch使用場(chǎng)景緩存使用Redis有哪些類(lèi)型Redis內(nèi)部結(jié)構(gòu)聊聊Redis使用場(chǎng)景Redis持久化機(jī)制Redis如何實(shí)現(xiàn)持久化Redis集群方案與實(shí)現(xiàn)Redis為什么是單線(xiàn)程的緩存奔潰緩存降級(jí)使用緩存的合理性問(wèn)題消息隊(duì)列消息隊(duì)列的使用場(chǎng)景消息的重發(fā)補(bǔ)償解決思路消息的冪等性解決思路消息的堆積解決思路自己如何實(shí)現(xiàn)消息隊(duì)列如何保證消息的有序性框架篇SpringBeanFactory和ApplicationContext有什么區(qū)別SpringBean的生命周期SpringIOC如何實(shí)現(xiàn)說(shuō)說(shuō)SpringAOPSpringAOP實(shí)現(xiàn)原理動(dòng)態(tài)代理(cglib與JDK)Spring事務(wù)實(shí)現(xiàn)方式Spring事務(wù)底層原理如何自定義注解實(shí)現(xiàn)功能SpringMVC運(yùn)行流程SpringMVC啟動(dòng)流程Spring的單例實(shí)現(xiàn)原理Spring框架中用到了哪些設(shè)計(jì)模式Spring其他產(chǎn)品(SrpingBoot、SpringCloud、SpringSecuirity、SpringData、SpringAMQP等)Netty為什么選擇Netty說(shuō)說(shuō)業(yè)務(wù)中,Netty的使用場(chǎng)景原生的NIO在JDK1.7版本存在epollbug什么是TCP粘包/拆包TCP粘包/拆包的解決辦法Netty線(xiàn)程模型說(shuō)說(shuō)Netty的零拷貝Netty內(nèi)部執(zhí)行流程N(yùn)etty重連實(shí)現(xiàn)微服務(wù)篇微服務(wù)前后端分離是如何做的微服務(wù)哪些框架你怎么理解RPC框架說(shuō)說(shuō)RPC的實(shí)現(xiàn)原理說(shuō)說(shuō)Dubbo的實(shí)現(xiàn)原理你怎么理解RESTful說(shuō)說(shuō)如何設(shè)計(jì)一個(gè)良好的API如何理解RESTfulAPI的冪等性如何保證接口的冪等性說(shuō)說(shuō)CAP定理、BASE理論怎么考慮數(shù)據(jù)一致性問(wèn)題說(shuō)說(shuō)最終一致性的實(shí)現(xiàn)方案你怎么看待微服務(wù)微服務(wù)與SOA的區(qū)別如何拆分服務(wù)微服務(wù)如何進(jìn)行數(shù)據(jù)庫(kù)管理如何應(yīng)對(duì)微服務(wù)的鏈?zhǔn)秸{(diào)用異常對(duì)于快速追蹤與定位問(wèn)題微服務(wù)的安全分布式談?wù)剺I(yè)務(wù)中使用分布式的場(chǎng)景Session分布式方案分布式鎖的場(chǎng)景分布是鎖的實(shí)現(xiàn)方案分布式事務(wù)集群與負(fù)載均衡的算法與實(shí)現(xiàn)說(shuō)說(shuō)分庫(kù)與分表設(shè)計(jì)分庫(kù)與分表帶來(lái)的分布式困境與應(yīng)對(duì)之策安全問(wèn)題安全要素與STRIDE威脅防范常見(jiàn)的Web攻擊服務(wù)端通信安全攻防HTTPS原理剖析HTTPS降級(jí)攻擊授權(quán)與認(rèn)證基于角色的訪(fǎng)問(wèn)控制基于數(shù)據(jù)的訪(fǎng)問(wèn)控制性能優(yōu)化性能指標(biāo)有哪些如何發(fā)現(xiàn)性能瓶頸性能調(diào)優(yōu)的常見(jiàn)手段說(shuō)說(shuō)你在項(xiàng)目中如何進(jìn)行性能調(diào)優(yōu)工程篇需求分析你如何對(duì)需求原型進(jìn)行理解和拆分說(shuō)說(shuō)你對(duì)功能性需求的理解說(shuō)說(shuō)你對(duì)非功能性需求的理解你針對(duì)產(chǎn)品提出哪些交互和改進(jìn)意見(jiàn)你如何理解用戶(hù)痛點(diǎn)設(shè)計(jì)能力說(shuō)說(shuō)你在項(xiàng)目中使用過(guò)的UML圖你如何考慮組件化你如何考慮服務(wù)化你如何進(jìn)行領(lǐng)域建模你如何劃分領(lǐng)域邊界說(shuō)說(shuō)你項(xiàng)目中的領(lǐng)域建模說(shuō)說(shuō)概要設(shè)計(jì)設(shè)計(jì)模式你項(xiàng)目中有使用哪些設(shè)計(jì)模式說(shuō)說(shuō)常用開(kāi)源框架中設(shè)計(jì)模式使用分析說(shuō)說(shuō)你對(duì)設(shè)計(jì)原則的理解23種設(shè)計(jì)模式的設(shè)計(jì)理念設(shè)計(jì)模式之間的異同,例如策略模式與狀態(tài)模式的區(qū)別設(shè)計(jì)模式之間的結(jié)合,例如策略模式+簡(jiǎn)單工廠(chǎng)模式的實(shí)踐設(shè)計(jì)模式的性能,例如單例模式哪種性能更好。業(yè)務(wù)工程你系統(tǒng)中的前后端分離是如何做的說(shuō)說(shuō)你的開(kāi)發(fā)流程你和團(tuán)隊(duì)是如何溝通的你如何進(jìn)行代碼評(píng)審說(shuō)說(shuō)你對(duì)技術(shù)與業(yè)務(wù)的理解說(shuō)說(shuō)你在項(xiàng)目中經(jīng)常遇到的Exception說(shuō)說(shuō)你在項(xiàng)目中遇到感覺(jué)最難Bug,怎么解決的說(shuō)說(shuō)你在項(xiàng)目中遇到印象最深困難,怎么解決的你覺(jué)得你們項(xiàng)目還有哪些不足的地方你是否遇到過(guò)CPU100%,如何排查與解決你是否遇到過(guò)內(nèi)存OOM,如何排查與解決說(shuō)說(shuō)你對(duì)敏捷開(kāi)發(fā)的實(shí)踐說(shuō)說(shuō)你對(duì)開(kāi)發(fā)運(yùn)維的實(shí)踐介紹下工作中的一個(gè)對(duì)自己最有價(jià)值的項(xiàng)目,以及在這個(gè)過(guò)程中的角色(1)多個(gè)線(xiàn)程順序執(zhí)行,如果有一個(gè)線(xiàn)程運(yùn)行超時(shí)了,那么如何保證超時(shí)線(xiàn)程不影響其他線(xiàn)程執(zhí)行?答:使用Thread.join(超時(shí)時(shí)長(zhǎng))(3)并發(fā)集合有哪些?非阻塞式列表對(duì)應(yīng)的實(shí)現(xiàn)類(lèi):ConcurrentLinkedDeque(4)mysql什么情況下會(huì)死鎖?(5)transition關(guān)鍵字是什么,ArrayList如何序列化的?(6)java提供了哪些線(xiàn)程池,ExecutorService的幾個(gè)參數(shù)是什么意思?第二個(gè)參數(shù)和第三個(gè)參數(shù)有什么關(guān)系?(7)平時(shí)會(huì)用到哪些事務(wù)隔離級(jí)別?(8)HashMap數(shù)據(jù)結(jié)構(gòu)是如何的,equal和hash是什么作用?hash相同,那么equal是否相同?equal相同,那么hash是否相同?(9)JVM默認(rèn)gc是哪個(gè)?

CMS怎么工作的?為什么會(huì)出現(xiàn)STW(STOPTHEWORLD)?什么時(shí)候會(huì)觸發(fā)CMS?什么情況下會(huì)觸發(fā)fullGC?如果1G內(nèi)存,那是否可以使用CMS?(10)Java8的HashMap為什么要用紅黑樹(shù)?紅黑樹(shù)的時(shí)間復(fù)雜度是多少?(11)Java7的ConcurrentHashMap的數(shù)據(jù)結(jié)構(gòu)是怎么樣的?Java8的ConcurrentHashMap的數(shù)據(jù)結(jié)構(gòu)又是怎么樣的,為什么要用重量鎖synchronized,而不用并發(fā)鎖?(11)分表分庫(kù)上進(jìn)行分頁(yè)查詢(xún),SQL如何更優(yōu)化?(12)linux下,如何定位java的cpu占用率高的代碼?(13)熟悉哪些linux的命令,如何查找出java的內(nèi)存占用率高的代碼?(14)如果java有一個(gè)方法效率很慢,請(qǐng)問(wèn)如何排查?請(qǐng)說(shuō)出來(lái)平時(shí)工作上遇到哪些類(lèi)似情況,如何解決的?(15)jvm有哪些常用命令?各有什么作用?(16)描述下Dubbo的工作原理?如果Dubbo提供者、消費(fèi)者配置都正常無(wú)誤,但是會(huì)出現(xiàn)Dubbo消費(fèi)者啟動(dòng)時(shí)會(huì)無(wú)法訂閱到服務(wù),請(qǐng)問(wèn)什么情況下出現(xiàn)?(17)SpringMVC的核心類(lèi)有哪些?一個(gè)請(qǐng)求參數(shù)如何傳遞到方法中的參數(shù)中?如果請(qǐng)求參數(shù)a,那么對(duì)應(yīng)方法中的參數(shù)有兩個(gè),一個(gè)是對(duì)象(對(duì)象有a屬性),另一個(gè)是字符串a(chǎn),請(qǐng)問(wèn)這參數(shù)a如何傳遞的?(18)代理模式和包裝模式有什么區(qū)別?靜態(tài)代理和包裝模式從代碼上是否很相似,那么什么會(huì)要區(qū)分這2個(gè)模式?(19)為什么要用負(fù)載均衡,負(fù)載均衡有哪些?(20)HashMap是否線(xiàn)程安全,為什么?(21)Spring的Bean是否單例?那么如何保證多線(xiàn)程安全?(22)mybatis的${}和#{}有什么區(qū)別?1、jvm虛擬機(jī):2、mysql事務(wù)3、復(fù)雜sql4、數(shù)據(jù)量5、kafka6、集合源碼map7、有序map8、鎖9、項(xiàng)目描述10、java8新特性11、線(xiàn)程池12、有序mapLinkedHashMap13、動(dòng)態(tài)代理14、對(duì)象類(lèi)型的判斷?A:instanceof15、Q:自定義注解詳見(jiàn):/dalaoyang/p/8657030.htmlA:創(chuàng)建自定義注解與編寫(xiě)接口很相似,除了它的接口關(guān)鍵字前有個(gè)@符號(hào)。@Target是java的元注解(即修飾注解的注解),這里的@Target({METHOD,TYPE})指可以修飾方法、描述類(lèi)、接口(包括注解類(lèi)型)或enum聲明。@Retention是java中的運(yùn)行時(shí)注解,可以劃分為三類(lèi)1.RetentionPolicy.RUNTIME:注解不僅會(huì)被保存到class文件里,在jvm加載class文件之后仍然不會(huì)消失。2.RetentionPolicy.CLASS:注解會(huì)被保留到class文件里,但jvm加載class文件時(shí)被遺棄,默認(rèn)的生命周期如此。3.RetentionPolicy.SOURCE:注解只會(huì)保留在源文件中,當(dāng)java文件變異成class文件shi@Inherited:允許子類(lèi)繼承父類(lèi)的注解@Documented:注解表明制作javadoc時(shí),是否將注解信息加入文檔。(添加時(shí)表示制作javadoc時(shí)將注解會(huì)加入其中)自定義注解@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public@interfaceAnnotations{longtime()default-1;}16、Q:線(xiàn)程池核心最大線(xiàn)程數(shù)達(dá)到核心之后如何創(chuàng)建隊(duì)列A:/waytobestcoder/p/5323130.html17、Q:mysql數(shù)據(jù)庫(kù)隔離級(jí)別是多少A:mysql數(shù)據(jù)庫(kù)的四種隔離級(jí)別/aiseek/p/8175849.html1.READUNCIMMITTED(未提交讀)總結(jié):這就是事務(wù)還沒(méi)提交,而別的事務(wù)可以看到他其中修改的數(shù)據(jù)的后果,也就是臟讀。2.READCOMMITTED(提交讀)總結(jié):這就是小華的事務(wù)執(zhí)行到一半,而小明看不到他執(zhí)行的操作,所以看到的是舊數(shù)據(jù),也就是無(wú)效的數(shù)據(jù)3.REPEATABLEREAD(可重復(fù)讀)總結(jié):雖然讀取同一條數(shù)據(jù)可以保證一致性,但是卻不能保證沒(méi)有插入新的數(shù)據(jù)4.SERIALIZABLE(可串行化)18、合理創(chuàng)建索引索引類(lèi)型Mysql目前主要有以下幾種索引類(lèi)型:普通索引、唯一索引、全文索引(FULLTEXT)、單列索引、多列索引、組合索引19、Q:查看sql有沒(méi)有執(zhí)行索引A:possible_keysA在select窗口中,執(zhí)行以下語(yǔ)句:setprofiling=1;--打開(kāi)profile分析工具showvariableslike'%profil%';--查看是否生效showprocesslist;--查看進(jìn)程usecmc;--選擇數(shù)據(jù)庫(kù)showPROFILEall;--全部分析的類(lèi)型showindexfromt_log_account;##查看某個(gè)表的索引showindexfromt_car_copy;##查看某個(gè)表的索引--使用explain命令查看query語(yǔ)句的性能:EXPLAINselect*fromt_car_copy;##查看執(zhí)行計(jì)劃中的sql性能EXPLAINselect*fromt_car_copywhereorg_id='3';EXPLAINselect*fromt_car_copywhere1=1andorg_id='3';20、Q:redis默認(rèn)端口號(hào)A:637921、redis過(guò)期策略、過(guò)期數(shù)據(jù)(底層)詳見(jiàn):/weixin_34292959/article/details/86364108Redis三種Key過(guò)期策略被動(dòng)(惰性)刪除、主動(dòng)刪除、maxmemory22、Q:mybaties一級(jí)二級(jí)緩存區(qū)別A:一級(jí)緩存是SqlSession級(jí)別的緩存。在操作數(shù)據(jù)庫(kù)時(shí)需要構(gòu)造sqlSession對(duì)象,在對(duì)象中有一個(gè)數(shù)據(jù)結(jié)構(gòu)用于存儲(chǔ)緩存數(shù)據(jù)。不同的sqlSession之間的緩存數(shù)據(jù)區(qū)域是互相不影響的。也就是他只能作用在同一個(gè)sqlSession中,不同的sqlSession中的緩存是互相不能讀取的。A:二級(jí)緩存是mapper級(jí)別的緩存,多個(gè)SqlSession去操作同一個(gè)Mapper的sql語(yǔ)句,多個(gè)SqlSession可以共用二級(jí)緩存,二級(jí)緩存是跨SqlSession的。23、開(kāi)發(fā)mybaties插件技術(shù)24、springboot啟動(dòng)流程25、Q:分布式鎖實(shí)現(xiàn)方式A:基于數(shù)據(jù)庫(kù)實(shí)現(xiàn)分布式鎖;基于緩存(Redis等)實(shí)現(xiàn)分布式鎖;基于Zookeeper實(shí)現(xiàn)分布式鎖;26、接口,抽象類(lèi)27、多態(tài)28、arrayList底層AX_ARRAY_SIZE強(qiáng)轉(zhuǎn)29、arrayList和hasmap默認(rèn)大小30、SimDateFormat線(xiàn)程安全嗎31、springaop原理32、spring事務(wù)幾種533、springioc以及實(shí)現(xiàn)方式34、mysql統(tǒng)計(jì)空列count1*嗎單引號(hào):在進(jìn)行count()統(tǒng)計(jì)某列的記錄數(shù)的時(shí)候,如果采用的NULL值,會(huì)別系統(tǒng)自動(dòng)忽略掉,但是空值是會(huì)進(jìn)行統(tǒng)計(jì)到其中的。35、左連接會(huì)走索引嗎36、Java8垃圾回收機(jī)制37、描述秒殺系統(tǒng)設(shè)計(jì),不用redis,高并發(fā)怎么處理38、mysql行鎖39、單點(diǎn)登錄設(shè)計(jì)40、權(quán)限設(shè)計(jì)41、離職原因42、jvm內(nèi)存模型、堆棧43、集合、hasmap44、線(xiàn)程池,參數(shù)45、springmvc注解46、服務(wù)之間如何調(diào)用47、es48、redis49、kafka多發(fā)、漏發(fā)50、商品秒殺51、springcloud組件52、支付53、git命令54、分布式事務(wù)秒殺鎖住庫(kù)存redis基本數(shù)據(jù)類(lèi)型springboot啟動(dòng)類(lèi)注解mybaties#$區(qū)別mybatis動(dòng)態(tài)orderby使用$線(xiàn)程什么周期新建(New)、就緒(Runnable)、運(yùn)行(Running)、阻塞(Blocked)和死亡(Dead)五種狀態(tài)hasmaplienkhasmap安全map運(yùn)行時(shí)和非運(yùn)行時(shí)異常百度移動(dòng)游戲1.ArrayList和LinkedList區(qū)別2.HashMap實(shí)現(xiàn)原理,內(nèi)部構(gòu)造,JDK1.8的實(shí)現(xiàn)3.如何設(shè)計(jì)數(shù)據(jù)庫(kù)4.JVM堆為什么分成年輕代和老年代5.ConcurrentHashMap原理6.一個(gè)方法中定義一個(gè)int型變量和一個(gè)Integer變量,這兩個(gè)變量什么時(shí)候會(huì)被回收阿里高德1.LinkedList是單向鏈表還是雙向鏈表2.JVM內(nèi)存模型3.GC算法以及回收器(CMS)4.TCP、UDP、IP、HTTP分別處于哪層阿里1.JVM內(nèi)存模型2.ZooKeeper選舉愛(ài)奇藝1.CPU100%如何找問(wèn)題2.MySQL兩種存儲(chǔ)引擎(Innodb和MyISAM)的區(qū)別3.Redis和Memecache區(qū)別微博1.Redis存儲(chǔ)一個(gè)k-v占多少內(nèi)存2.MySQL索引問(wèn)題,聚簇索引(a,b,c),查詢(xún)時(shí)使用條件b和c是否走索引3.如何高效的將字符串IP翻譯成整數(shù)360面試1.如何實(shí)現(xiàn)一個(gè)list,set2,list如何去重3.如何實(shí)現(xiàn)線(xiàn)程在同一時(shí)刻執(zhí)行4.線(xiàn)程的實(shí)現(xiàn)方式5.項(xiàng)目的演示6.hashmap,hashtable的區(qū)別藍(lán)汛1.redis2.netty3.題目講解1.Java類(lèi)加載器機(jī)制類(lèi)加載器結(jié)構(gòu):引導(dǎo)類(lèi)加載器(BootstrapClassLoader,原生代碼寫(xiě)的,不繼承自ClassLoader):加載Java核心庫(kù)|/擴(kuò)展類(lèi)加載器(ExtClassLoader,繼承自ClassLoader,parent==null):加載Java的擴(kuò)展庫(kù)|/系統(tǒng)類(lèi)加載器(SystemClassLoader,繼承自ClassLoader,parent==ExtClassLoader):根據(jù)Java應(yīng)用的類(lèi)路徑(CLASSPATH)來(lái)加載Java類(lèi),可以通過(guò)ClassLoader.getSystemClassLoader()來(lái)獲取它。類(lèi)加載過(guò)程:加載類(lèi)時(shí)采用代理機(jī)制,當(dāng)前類(lèi)加載器首先會(huì)讓父類(lèi)加載器進(jìn)行加載,如果加載不到,在自己加載。web類(lèi)加載器機(jī)制不同,優(yōu)先自己加載(除Java核心類(lèi)庫(kù)外)。如何開(kāi)發(fā)自己的類(lèi)加載器:繼承自ClassLoader,重寫(xiě)findClass(),方法內(nèi)獲取到字節(jié)碼后調(diào)用父類(lèi)的defineClass()即可。不可重寫(xiě)loadClass()(LoadClass內(nèi)部實(shí)現(xiàn)代理機(jī)制邏輯)虛擬機(jī)的類(lèi)加載機(jī)制:虛擬機(jī)把描述類(lèi)的數(shù)據(jù)class文件加載到內(nèi)存,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),轉(zhuǎn)換解析和初始化,最終形成可被虛擬機(jī)直接使用的java類(lèi)在類(lèi)裝載到一個(gè)jvm中需要經(jīng)過(guò)加載——>鏈接->初始化(a)校驗(yàn):檢查載入Class文件數(shù)據(jù)的正確性;(b)準(zhǔn)備:給類(lèi)的靜態(tài)變量分配存儲(chǔ)空間;(c)解析:將符號(hào)引用轉(zhuǎn)成直接引用;2.垃圾回收算法a.引用計(jì)數(shù)法通過(guò)對(duì)一個(gè)對(duì)象增加一個(gè)計(jì)數(shù)器方式實(shí)現(xiàn)。優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單缺點(diǎn):無(wú)法解決循環(huán)引用問(wèn)題b.標(biāo)記-清除算法通過(guò)根節(jié)點(diǎn),標(biāo)記所有從根節(jié)點(diǎn)可達(dá)的對(duì)象,然后將未被標(biāo)記的對(duì)象進(jìn)行清除。、優(yōu)點(diǎn):可解決循環(huán)引用問(wèn)題缺點(diǎn):造成內(nèi)存碎片c.復(fù)制算法將原有內(nèi)存劃分成兩塊,每次只使用一塊,回收時(shí)將正在使用的內(nèi)存中存活的對(duì)象復(fù)制到另一塊內(nèi)存中,然后清除之前內(nèi)存中剩余的對(duì)象,互換兩塊內(nèi)存的角色。優(yōu)點(diǎn):如果存活對(duì)象很少,那么需要復(fù)制的對(duì)象將很少,效率很高,同時(shí)內(nèi)存也會(huì)連續(xù)缺點(diǎn):將內(nèi)存折半d.標(biāo)記-壓縮算法使用標(biāo)記方式尋找存活對(duì)象,然后將存活對(duì)象壓縮到內(nèi)存的一端,清理到外界的內(nèi)存即可。優(yōu)點(diǎn):內(nèi)存連續(xù)缺點(diǎn):需要移動(dòng)對(duì)象,所以需要改變很多引用地址e.增量算法該算法是為了解決Stop-The-World問(wèn)題,即進(jìn)行垃圾收集時(shí)需要暫停應(yīng)用程序,所以為了減少應(yīng)用程序暫停的時(shí)間,將垃圾回收過(guò)程分批進(jìn)行。有點(diǎn):降低應(yīng)用程序暫停時(shí)間缺點(diǎn):增加線(xiàn)程上下文切換時(shí)間,降低系統(tǒng)吞吐率f.分代將內(nèi)存分成不同的塊,針對(duì)不同內(nèi)存塊對(duì)象的特征采用不同的垃圾回收算法。例如:HotSpot將內(nèi)存分成年輕代和老年代,年輕代的特征是對(duì)象量多,但是存活對(duì)象較少,適合采用效率較高的復(fù)制算法,將存活對(duì)象復(fù)制到另一塊內(nèi)存,可以解決內(nèi)存碎片問(wèn)題;而老年代對(duì)象生命周期較長(zhǎng),且對(duì)象較大,故適合采用標(biāo)記-壓縮算法。3.垃圾回收器類(lèi)型a.新生代串行收集器(DefNew)b.老年代串行收集器(DefNew)c.并行收集器(ParNew)d.新生代并行回收收集器(PSYoungGen)e.老年代并行回收收集器(PSYoungGen)f.CMS收集器g.G1收集器4.JVMa.JVM內(nèi)存模型:JVM內(nèi)存模型分成:程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧、堆、方法區(qū)五個(gè)區(qū)域b.程序計(jì)數(shù)器、虛擬機(jī)棧以及本地方法棧屬于線(xiàn)程私有,而堆和方法區(qū)是線(xiàn)程共享的。c.程序計(jì)數(shù)器保存當(dāng)前線(xiàn)程執(zhí)行的字節(jié)碼行號(hào),線(xiàn)程在執(zhí)行每個(gè)方法時(shí)都會(huì)在虛擬機(jī)棧上創(chuàng)建一個(gè)棧幀,棧幀中主要保存本地變量表、操作棧等信息,本地方法棧是用于本地方法調(diào)用的,如果線(xiàn)程當(dāng)前執(zhí)行的是本地方法,那么程序計(jì)數(shù)器為null。d.方法區(qū)保存Java的類(lèi)信息、靜態(tài)變量、JIT編譯的本地代碼等,常量池在JDK1.7已移到堆中。e.堆保存著程序運(yùn)行過(guò)程中創(chuàng)建的所有對(duì)象信息。堆還可細(xì)分成:年輕代和老年代,年輕代還可細(xì)分為:一個(gè)eden區(qū)和兩個(gè)survivor區(qū)(from和to)。對(duì)象的創(chuàng)建是在eden區(qū),大對(duì)象有可能直接在老年代創(chuàng)建。f.針對(duì)年輕代和老年代對(duì)象的不同特征,垃圾回收器對(duì)年輕代采用復(fù)制算法,而老年代采用標(biāo)記-壓縮算法。年輕代由于存活對(duì)象不多,而且對(duì)象較小,直接采用復(fù)制算法會(huì)有很高的效率;老年代由于存活對(duì)象較多,且對(duì)象較大,使用標(biāo)記算法較好,同時(shí)為了避免比較算法產(chǎn)生的碎片,采用壓縮算法進(jìn)行壓縮。5.類(lèi)加載機(jī)制1)類(lèi)加載時(shí)機(jī)主動(dòng)引用a.new對(duì)象、訪(fǎng)問(wèn)類(lèi)的靜態(tài)屬性與調(diào)用類(lèi)的靜態(tài)方法時(shí)b.反射調(diào)用時(shí)c.初始化類(lèi)時(shí),需先初始化父類(lèi)d.虛擬機(jī)啟動(dòng)時(shí)需指定一個(gè)主類(lèi),虛擬機(jī)會(huì)先初始化該類(lèi)被動(dòng)引用a.使用子類(lèi)訪(fǎng)問(wèn)父類(lèi)的靜態(tài)變量或調(diào)用父類(lèi)靜態(tài)方法時(shí)只會(huì)初始化父類(lèi),不會(huì)初始化子類(lèi)b.定義一個(gè)該類(lèi)的數(shù)組并不會(huì)引發(fā)類(lèi)的初始化c.引用類(lèi)的常量(finalstatic)不會(huì)引發(fā)類(lèi)的初始化,因?yàn)槌A繒?huì)被保存到常量池,所以引用常量直接引用常量池,并不通過(guò)類(lèi)2)類(lèi)加載過(guò)程加載–>驗(yàn)證–>準(zhǔn)備–>解析–>初始化加載通過(guò)類(lèi)加載器進(jìn)行加載,代理方式驗(yàn)證主要用于對(duì)class內(nèi)容進(jìn)行安全性校驗(yàn)準(zhǔn)備是在方法區(qū)為類(lèi)分配內(nèi)存,并將類(lèi)屬性置0解析將字符串常量池內(nèi)的符號(hào)引用替換為直接引用初始化主要是對(duì)類(lèi)的初始化,即為靜態(tài)變量賦值,執(zhí)行靜態(tài)語(yǔ)句塊3)強(qiáng)引用,弱引用和軟引用6.文件讀取過(guò)程a.確定所請(qǐng)求的數(shù)據(jù)分布于文件系統(tǒng)的哪些頁(yè)b.在內(nèi)核空間分配足夠的內(nèi)存頁(yè),以容納確定的文件系統(tǒng)頁(yè)c.在內(nèi)存頁(yè)與文件系統(tǒng)頁(yè)之間建立映射關(guān)系d.通過(guò)虛擬內(nèi)存將頁(yè)面調(diào)入,從磁盤(pán)上讀取頁(yè)面內(nèi)容e.頁(yè)面調(diào)入完成,文件系統(tǒng)對(duì)原始數(shù)據(jù)進(jìn)行解析,取得所需文件內(nèi)容或?qū)傩孕畔?.NIO1)文件鎖:文件鎖是針對(duì)進(jìn)程級(jí)別的,如果一個(gè)JVM中有一個(gè)線(xiàn)程已獲取文件鎖,另一個(gè)線(xiàn)程再獲取就會(huì)拋出OverlappingFileLockException異常。請(qǐng)求兩個(gè)共享鎖也不行。2)NIO與IO的區(qū)別:數(shù)據(jù)打包與傳輸?shù)姆绞讲煌Ef的IO以流的方式處理數(shù)據(jù),而NIO以塊的方式處理數(shù)據(jù)。現(xiàn)代的操作系統(tǒng)都是按塊從磁盤(pán)獲取數(shù)據(jù),所以NIO將比舊IO在數(shù)據(jù)處理上效率高很多。8.Http協(xié)議1)請(qǐng)求內(nèi)容:請(qǐng)求行:方法URI版本號(hào)POST/reg.jspHTTP/(CRLF)請(qǐng)求頭(消息頭):請(qǐng)求頭包含如Content-Length、Accept等參數(shù)請(qǐng)求體(消息正文):傳遞的數(shù)據(jù),如POST的內(nèi)容2)響應(yīng)內(nèi)容:狀態(tài)行:服務(wù)器Http版本號(hào)狀態(tài)碼狀態(tài)代碼描述響應(yīng)頭:響應(yīng)體:8.Java代碼優(yōu)化普通代碼方面:1)在集合的長(zhǎng)度可知情況下使用帶有指定初始化容量的集合構(gòu)造器2)單線(xiàn)程情況下使用非線(xiàn)程安全的類(lèi),而非線(xiàn)程安全的,如StringBuffer和HashTable3)避免錯(cuò)誤使用異常機(jī)制,除非是是在無(wú)法判斷是否會(huì)發(fā)生異常的情況下才使用,如可預(yù)先判斷異常狀態(tài)則預(yù)先進(jìn)行條件判斷而避免使用異常機(jī)制4)盡量使用final常量,避免過(guò)多的使用static變量(由于static變量和方法很難回收,需要回收該Class信息,需回收對(duì)應(yīng)的ClassLoader)5)盡量使用局部變量,因?yàn)榫植孔兞勘4嬖跅V?,訪(fǎng)問(wèn)速度高于堆并發(fā)方面:1)盡量使用線(xiàn)程池,并合理設(shè)置線(xiàn)程池的大小,如CPU密集型任務(wù)使用CPU+1,IO密集型任務(wù)使用2*CPU2)不要輕易使用鎖,降低鎖的粒度,合理使用讀寫(xiě)鎖3)使用JDK提供的高效的并發(fā)工具類(lèi),如J.U.C下的并發(fā)集合類(lèi),以及原子類(lèi)9.redis和memcached區(qū)別1)redis支持豐富的數(shù)據(jù)類(lèi)型,memcached僅支持單一的k-v數(shù)據(jù)類(lèi)型2)redis支持?jǐn)?shù)據(jù)持久化,如AOF和RBD,memcached不支持,重啟后數(shù)據(jù)就全部丟失3)memcached支持CAS,redis只能通過(guò)將多個(gè)操作組合到一起順序執(zhí)行的方式實(shí)現(xiàn)很簡(jiǎn)單的事務(wù)機(jī)制10.mysql兩個(gè)存儲(chǔ)引擎區(qū)別InnoDB支持事務(wù)和行級(jí)鎖以及外鍵MyISAM不支持事務(wù)和行級(jí)鎖以及外鍵,只支持表鎖11.CPU100%如何分析通過(guò)top-H查看CPU占用率最高的線(xiàn)程ID,找到線(xiàn)程ID之后,可以通過(guò)JDK提供的JVM監(jiān)控工具,如jstack將線(xiàn)程的堆棧信息打印出來(lái)(需要將十進(jìn)制的線(xiàn)程ID轉(zhuǎn)成16進(jìn)制)。一般占用CPU很高的情況有:1)死循環(huán)2)密集型計(jì)算12.如何設(shè)計(jì)數(shù)據(jù)庫(kù)1.表名要能體現(xiàn)出屬性的含義2.動(dòng)靜分離,將一個(gè)表的變化的屬性與不變的屬性分開(kāi)13.數(shù)據(jù)庫(kù)索引問(wèn)題1.MySQL僅能對(duì)索引最左邊的前綴進(jìn)行有效的查找例如:索引(a,b),select*fromtablewherea=a1andb=b1和select*fromtablewherea=a1可以走索引,但是select*fromtablewhereb=b1不走索引,因?yàn)闆](méi)有組合索引的引導(dǎo)列2.支付范圍查詢(xún)————————————————版權(quán)聲明:本文為CSDN博主「greekw」的原創(chuàng)文章,遵循CC4.0BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。原文鏈接:/w2cschool/article/details/8006641630.了解哪些開(kāi)源的中間件?緩存?消息?分布式框架?31.用到過(guò)哪些設(shè)計(jì)模式?單例模式的實(shí)現(xiàn)?32.數(shù)據(jù)庫(kù)的事務(wù)實(shí)現(xiàn)原理、操作過(guò)程、如何做到事物之間的獨(dú)立性等問(wèn)題33.數(shù)據(jù)庫(kù)的臟讀,幻讀,不可重復(fù)讀出現(xiàn)的原因原理,解決辦法34.數(shù)據(jù)庫(kù)的隔離級(jí)別、MVCC35.樂(lè)觀鎖、悲觀鎖、互斥鎖、讀寫(xiě)鎖的原理實(shí)現(xiàn)與區(qū)別36.線(xiàn)程的生命周期37.一致性hash算法原理與應(yīng)用38.CAP原則40.分布式raft算法1.B+樹(shù)、B-樹(shù)的區(qū)別?2.數(shù)據(jù)庫(kù)隔離級(jí)別,幻讀和不可重復(fù)讀的區(qū)別?3.有hell,well,hello,world等字符串組,現(xiàn)在問(wèn)能否拼接成helloworld,代碼實(shí)現(xiàn)。4.快排算法實(shí)現(xiàn)5.線(xiàn)程安全的單例模式6.25匹馬賽跑,有一個(gè)賽場(chǎng),只有五個(gè)賽道,沒(méi)有計(jì)時(shí)器,只能通過(guò)目測(cè)來(lái)記錄快慢,求出第三3快的馬要多少場(chǎng)比賽?7.kmp算法next數(shù)組的求解思路8.數(shù)組中有三個(gè)數(shù)字出現(xiàn)超過(guò)3/4,求這三個(gè)數(shù)字?9.1到n+2個(gè)數(shù)組中缺了兩個(gè)數(shù),如何用O(n)時(shí)間,O(1)空間找到這兩個(gè)數(shù)字。10.一條線(xiàn)段長(zhǎng)為1,隨機(jī)選兩個(gè)點(diǎn),將改線(xiàn)段分為三段,三段能成三角形的概率是多少?11.有一個(gè)教授,他三個(gè)學(xué)生,腦袋背后分別各寫(xiě)了一個(gè)數(shù)字,其中一個(gè)數(shù)字是另外兩個(gè)數(shù)字的和,經(jīng)過(guò)幾輪后,有一個(gè)學(xué)生猜出了自己的數(shù)字請(qǐng)問(wèn)是什么原因?12.B+樹(shù)做索引時(shí),B+樹(shù)通常高度為多少層?要參考哪些條件?1.static有什么用途?(請(qǐng)至少說(shuō)明兩種)2.引用與指針有什么區(qū)別?3.描述實(shí)時(shí)系統(tǒng)的基本特性4.全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別?5.什么是平衡二叉樹(shù)?6.堆棧溢出一般是由什么原因?qū)е碌模?.什么函數(shù)不能聲明為虛函數(shù)?8.冒泡排序算法的時(shí)間復(fù)雜度是什么?9.寫(xiě)出floatx與“零值”比較的if語(yǔ)句10.Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次結(jié)構(gòu)?11.Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?12.IP地址的編碼分為哪倆部分?13.用戶(hù)輸入M,N值,從1至N開(kāi)始順序循環(huán)數(shù)數(shù),每數(shù)到M輸出該數(shù)值,直至全部輸出。寫(xiě)出C程序。14.不能做switch()的參數(shù)類(lèi)型是15.intA[nSize],其中隱藏著若干0,其余非0整數(shù),寫(xiě)一個(gè)函數(shù)intFunc(int*A,intnSize),使A把0移至后面,非0整數(shù)移至數(shù)組前面并保持有序,返回值為原數(shù)據(jù)中第一個(gè)元素為0的下標(biāo)。16.寫(xiě)一個(gè)程序,要求功能:求出用1,2,5這三個(gè)數(shù)不同個(gè)數(shù)組合的和為100的組合個(gè)數(shù)17.實(shí)現(xiàn)一個(gè)函數(shù),把一個(gè)字符串中的字符從小寫(xiě)轉(zhuǎn)為大寫(xiě)18.隨機(jī)輸入一個(gè)數(shù),判斷它是不是對(duì)稱(chēng)數(shù)(回文數(shù))(如3,121,12321,45254)。不能用字符串庫(kù)函數(shù)19.求2~2000的所有素?cái)?shù).有足夠的內(nèi)存,要求盡量快20.A,B,C,D四個(gè)進(jìn)程,A向buf里面寫(xiě)數(shù)據(jù),B,C,D向buf里面讀數(shù)據(jù),當(dāng)A寫(xiě)完,且B,C,D都讀一次后,A才能再寫(xiě)。用P,V操作實(shí)現(xiàn)。21.將單向鏈表reverse,如ABCD變成DCBA,只能搜索鏈表一次。22.將二叉樹(shù)的兩個(gè)孩子換位置,即左變右,右變左。不能用遞規(guī)。23.以下屬于物理層的設(shè)備是?24.在以太網(wǎng)中,是根據(jù)()地址來(lái)區(qū)分不同的設(shè)備的?25.以下為傳輸層協(xié)議的是?26.以下對(duì)MAC地址描述正確的是?27.以下屬于數(shù)據(jù)鏈路層功能的是?28.IEEE802.3u標(biāo)準(zhǔn)是指?29.如果要將兩計(jì)算機(jī)通過(guò)雙絞線(xiàn)直接連接,正確的線(xiàn)序是?30.在V.35和V.24規(guī)程中,控制信號(hào)RTS表示?31.路由器作為網(wǎng)絡(luò)互連設(shè)備,必須具備以下哪些特點(diǎn)?32.路由器的作用有?33.調(diào)用上一條歷史命令的快捷鍵是?34.交換機(jī)工作在OSI七層的哪一層?35.以下對(duì)CSMA/CD描述正確的是?36.以下對(duì)STOREANDFORWARD描述正確的是?37.以下對(duì)交換機(jī)工作方式描述正確的是?38.VLAN的主要作用有?39.在交換機(jī)中用戶(hù)權(quán)限分為幾個(gè)級(jí)別?40.在路由器的配置過(guò)程中查詢(xún)以S開(kāi)頭所有命令的方法是?41.第一次配置路由器時(shí)可以使用的方法為?42.在何種狀態(tài)下可以為路由器改名?43.某公司申請(qǐng)到一個(gè)C類(lèi)IP地址,但要連接6個(gè)的子公司,最大的一個(gè)子公司有26臺(tái)計(jì)算機(jī),每個(gè)子公司在一個(gè)網(wǎng)段中,則子網(wǎng)掩碼應(yīng)設(shè)為?44.與9mask24屬于同一網(wǎng)段的主機(jī)IP地址是?45.ARP協(xié)議的作用是?46.當(dāng)路由器接收的IP報(bào)文的TTL值等于1時(shí),采取的策略是?47.在NetWare網(wǎng)絡(luò)中,客戶(hù)需要訪(fǎng)問(wèn)某個(gè)類(lèi)型的服務(wù)器時(shí),首先要發(fā)送一個(gè)()廣播報(bào)文來(lái)尋找服務(wù)器?48.IPX地址網(wǎng)絡(luò)地址有()個(gè)字節(jié)?49.對(duì)于幀中繼描述正確的是?50.對(duì)于INVERSEARP的描述正確的是?1.1并發(fā)編程進(jìn)階線(xiàn)程共享和協(xié)作并發(fā)工具類(lèi)實(shí)戰(zhàn)站在巨人肩上操作CAS阿里面試常問(wèn)的顯示鎖和AQS并發(fā)容器源碼解析及應(yīng)用實(shí)戰(zhàn)僅會(huì)用線(xiàn)程池是不夠的架構(gòu)師應(yīng)該知道的并發(fā)安全解決方案性能優(yōu)化實(shí)戰(zhàn)并發(fā)編程面試題目匯集1.2JVM性能深度調(diào)優(yōu)15種方式編寫(xiě)高效優(yōu)雅Java程序?qū)崙?zhàn)Java內(nèi)村區(qū)域深入解析垃圾回收器和內(nèi)存分配策略你必須知道的JVM執(zhí)行子系統(tǒng)JVM類(lèi)加載機(jī)制及執(zhí)行引擎原理JVM性能優(yōu)化實(shí)戰(zhàn)JVM面試錦囊妙計(jì)1.3網(wǎng)絡(luò)編程與高效IOhttp/tcp/udp網(wǎng)絡(luò)協(xié)議原理透析原生JDK網(wǎng)絡(luò)編程N(yùn)etty應(yīng)用快速入門(mén)Netty粘包/半包問(wèn)題解決實(shí)戰(zhàn)Netty進(jìn)階和實(shí)戰(zhàn)Netty源碼深入分析Netty常被問(wèn)到那些面試題匯集1.4深入Tomcat底層10分鐘熟悉你常用卻又不知道的Tomcat體系架構(gòu)你必須得知道的Tomcat容器及運(yùn)行機(jī)制Tomcat類(lèi)加載機(jī)制分析Tomcat核心組件源碼解讀Tomcat高級(jí)進(jìn)階Tomcat面試題整理1.5MySQL深度優(yōu)化MySQL存儲(chǔ)引荸選型及注意事項(xiàng)解讀MySQL的共享鎖及排它鎖MySQL事務(wù)及隔離性級(jí)別30分鐘深入掌握?qǐng)?zhí)行計(jì)劃解讀BTree與B+Tree索引SQL慢查詢(xún)配置及分析SQL優(yōu)化策略及實(shí)戰(zhàn)MySQL面試題匯總1.6架構(gòu)基礎(chǔ)必備LinuxLinux安裝指南Linux基礎(chǔ)命令用戶(hù)與用戶(hù)組系列操作文件與權(quán)限系列操作架構(gòu)師應(yīng)該掌握的shell腳本基礎(chǔ)二、設(shè)計(jì)思想解讀開(kāi)源框架2.1六大原則單一職責(zé)原則開(kāi)閉原則里氏替換原則依賴(lài)倒置原則接口隔離原則迪米特法則2.2結(jié)構(gòu)型模式橋接模式適配器模式裝飾器模式代理模式組合模式2.3創(chuàng)建型模式建造者模式單例模式抽象工廠(chǎng)模式工廠(chǎng)方法模式靜態(tài)工廠(chǎng)模式2.4行為型模式模板方法模式策略模式觀察者模式責(zé)任鏈模式命令模式訪(fǎng)問(wèn)者模式2.5Spring5源碼解讀5分鐘快速理解Spring核心流程熟練掌握Spring工作常用注解及陷阱后置處理器源碼解讀I0C容器源碼解讀AOP源碼解讀聲明式事務(wù)源碼解讀Spring源碼面試題匯總2.6SpringMVC框架源碼解讀Servlet3.06性能實(shí)戰(zhàn)手寫(xiě)SpringMVC實(shí)戰(zhàn)2.7Mybatis框架源碼解讀5分鐘掌握MyBatis的配置使用動(dòng)態(tài)SQL、緩存及關(guān)聯(lián)查詢(xún)深入講解10分鐘掌握Mybatis與Spring的集成實(shí)戰(zhàn)Mybatis插件開(kāi)發(fā)及源碼分析實(shí)戰(zhàn)多級(jí)關(guān)聯(lián)實(shí)戰(zhàn)手寫(xiě)MyBatis框架實(shí)戰(zhàn)Mybatis常見(jiàn)面試題匯集三、性能直升提升架構(gòu)技術(shù)3.1分布式架構(gòu)思維大型互聯(lián)網(wǎng)架構(gòu)演進(jìn)過(guò)程架構(gòu)師應(yīng)具備的分布式知識(shí)主流分布式架構(gòu)設(shè)計(jì)詳解3.2Zookeeper5分鐘搞定Zookeeper安裝及指令解析原生客戶(hù)端、zkclient、curotor快速開(kāi)發(fā)實(shí)戰(zhàn)Zookeeper應(yīng)用實(shí)戰(zhàn)Zookeeper底層協(xié)議解讀Zookeeper面試資料整理3.3Nginx5分鐘將你的項(xiàng)目實(shí)現(xiàn)Nginx分流Nginx安裝及基本使用Nginx進(jìn)程模型及配置詳解location規(guī)則及rewrite解析動(dòng)靜分離實(shí)戰(zhàn)反向代理實(shí)戰(zhàn)跨域配置實(shí)戰(zhàn)緩存配置及Gzip配置實(shí)戰(zhàn)https安全認(rèn)證實(shí)戰(zhàn)LVS高可用實(shí)戰(zhàn)Nginx那些面試題匯總3.4消息中間件概述消息中間件和RPC的區(qū)別消息中間件使用場(chǎng)景介紹ActiveMQ、RabbitMQ、RocketMQ、Kafka對(duì)比消息中間件的編年史3.5ActiveMQ3分鐘快速安裝ActiveMQJMS規(guī)范解讀原生ActiveMQ的API編程ActiveMQ高級(jí)特性和用法限時(shí)訂單實(shí)戰(zhàn)用戶(hù)注冊(cè)的異步處理實(shí)戰(zhàn)企業(yè)級(jí)高可用集群部署實(shí)戰(zhàn)3.6RabbitMQLinux下安裝與配置消息發(fā)布與消費(fèi)權(quán)衡消息的拒絕怎么解決控制隊(duì)列與消息屬性與Spring集成完成應(yīng)用解耦實(shí)戰(zhàn)集群化與鏡像隊(duì)列實(shí)戰(zhàn)RabbitMQ常見(jiàn)面試題匯總3.7RocketMQRocketMQ快速安裝與配置消息發(fā)送與消費(fèi)流程解讀RocketMQ消息存儲(chǔ)、消

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論