基礎(chǔ)篇
1、JAVA語(yǔ)言有哪些特點(diǎn)
2、面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別
3、八種基本數(shù)據(jù)類(lèi)型的大小,以及他們的封裝類(lèi)
4、標(biāo)識(shí)符的命名規(guī)則。
5、instanceof關(guān)鍵字的作用
6、Java自動(dòng)裝箱與拆箱
7、重載和重寫(xiě)的區(qū)別
8、equals與==的區(qū)別
9、Hashcode的作用
10、String、String StringBufer和StringBuilder的區(qū)別是什么
11、ArrayList和linkedList的區(qū)別
12、HashMap和HashTable的區(qū)別
13、Collection包結(jié)構(gòu),與Collections的區(qū)別
14、Java的四種引用,強(qiáng)弱軟虛
15、泛型常用特點(diǎn)
16、Java創(chuàng)建對(duì)象有幾種方式?
17、有沒(méi)有可能兩個(gè)不相等的對(duì)象有相同的hashcode
18、深拷貝和淺拷貝的區(qū)別是什么?
19、final有哪些用法?
20、static都有哪些用法?
21、3*0.1==0.3返回值是什么
22、a=a+b與a+=b有什么區(qū)別嗎?
23、try catch finally,try里有return,finally還執(zhí)行么?
24、Excption與Error包結(jié)構(gòu)
25、OOM你遇到過(guò)哪些情況,SOF你遇到過(guò)哪些情況
26、簡(jiǎn)述線(xiàn)程、程序、進(jìn)程的基本概念。以及他們之間關(guān)系是什么?
27、Java序列化中如果有些字段不想進(jìn)行序列化,怎么辦?
28、說(shuō)說(shuō)Java中IO流
29、Java IO與NIO的區(qū)別(補(bǔ)充)
30、java反射的作用于原理
31、說(shuō)說(shuō)List,Set,Map三者的區(qū)別?
32.、Object有哪些常用方法?大致說(shuō)一下每個(gè)方法的含義
33、Java創(chuàng)建對(duì)象有幾種方式?
34、獲取一個(gè)類(lèi)Class對(duì)象的方式有哪些?
35、ArrayList和LinkedList的區(qū)別有哪些?
36、用過(guò)ArrayList嗎?說(shuō)一下它有什么特點(diǎn)?
37、有數(shù)組了為什么還要搞個(gè)ArrayList呢?
38、說(shuō)說(shuō)什么是fail-fast?
39、說(shuō)說(shuō)Hashtable與HashMap的區(qū)別
40、HashMap中的key我們可以使用任何類(lèi)作為key嗎?
41、HashMap的長(zhǎng)度為什么是2的N次方呢?
42、HashMap與ConcurrentHashMap的異同
43、紅黑樹(shù)有哪幾個(gè)特征?
44、說(shuō)說(shuō)你平時(shí)是怎么處理Java異常的
45、說(shuō)說(shuō)深拷貝和淺拷貝?
JVM篇
1、知識(shí)點(diǎn)匯總
2、知識(shí)點(diǎn)詳解:
3、說(shuō)說(shuō)類(lèi)加載與卸載
4、簡(jiǎn)述一下JVM的內(nèi)存模型
5、說(shuō)說(shuō)堆和棧的區(qū)別
6、什么時(shí)候會(huì)觸發(fā)FullGC
7、什么是Java虛擬機(jī)?為什么Java被稱(chēng)作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)言”?
8、Java內(nèi)存結(jié)構(gòu)
9、說(shuō)說(shuō)對(duì)象分配規(guī)則
10、描述一下JVM加載class文件的原理機(jī)制?
11、說(shuō)說(shuō)Java對(duì)象創(chuàng)建過(guò)程
12、知道類(lèi)的生命周期嗎?
13、簡(jiǎn)述Java的對(duì)象結(jié)構(gòu)
14、如何判斷對(duì)象可以被回收?
15、JVM的永久代中會(huì)發(fā)生垃圾回收么?
16、你知道哪些垃圾收集算法
17、調(diào)優(yōu)命令有哪些?
18、常見(jiàn)調(diào)優(yōu)工具有哪些
19、Minor GC與Full GC分別在什么時(shí)候發(fā)生?
20、你知道哪些JVM性能調(diào)優(yōu)參數(shù)?(簡(jiǎn)單版回答)
21、對(duì)象一定分配在堆中嗎?有沒(méi)有了解逃逸分析技術(shù)?
22、虛擬機(jī)為什么使用元空間替換了永久代?
23、什么是Stop The World ?什么是OopMap?什么是安全點(diǎn)?
24、說(shuō)一下JVM的主要組成部分及其作用?
25、什么是指針碰撞?
26,什么是空閑列表?
27,什么是TLAB?
28、對(duì)象頭具體都包含哪些內(nèi)容?
29、你知道哪些JVM調(diào)優(yōu)參數(shù)?
30、說(shuō)一下JVM有哪些垃圾回收器?
31、如何選擇垃圾收集器?
32、什么是類(lèi)加載器?
33、什么是Tomcat類(lèi)加載機(jī)制?
多線(xiàn)程&并發(fā)篇
1、說(shuō)說(shuō)Java中實(shí)現(xiàn)多線(xiàn)程有幾種方法
2、如何停止一個(gè)正在運(yùn)行的線(xiàn)程
3、notify()和notifyAll()有什么區(qū)別?
4、sleep()和wait()有什么區(qū)別?
5、volatile是什么?可以保證有序性嗎?
6、Thread類(lèi)中的start()和run()方法有什么區(qū)別?
7、為什么wait, notify和notifyAll這些方法不在thread類(lèi)里面?
8、為什么wait和notify方法要在同步塊中調(diào)用?
9、Java中interrupted和isInterruptedd方法的區(qū)別?
10、Java中synchronized和ReentrantLock有什么不同?
11、有三個(gè)線(xiàn)程T1,T2,T3,如何保證順序執(zhí)行?
12、SynchronizedMap和ConcurrentHashMap有什么區(qū)別?
13、什么是線(xiàn)程安全
14、Thread類(lèi)中的yield方法有什么作用?
15、Java線(xiàn)程池中submit()和execute()方法有什么區(qū)別?
16、說(shuō)一說(shuō)自己對(duì)于synchronized關(guān)鍵字的了解
17、說(shuō)說(shuō)自己是怎么使用synchronized關(guān)鍵字?
18、什么是線(xiàn)程安全?Vector是一個(gè)線(xiàn)程安全類(lèi)嗎?
19、volatile關(guān)鍵字的作用?
20、常用的線(xiàn)程池有哪些?
21、簡(jiǎn)述一下你對(duì)線(xiàn)程池的理解
22、Java程序是如何執(zhí)行的
23、鎖的優(yōu)化機(jī)制了解嗎?
24、說(shuō)說(shuō)進(jìn)程和線(xiàn)程的區(qū)別?
25,產(chǎn)生死鎖的四個(gè)必要條件?
26、如何避免死鎖?
27,線(xiàn)程池核心線(xiàn)程數(shù)怎么設(shè)置呢?
28,Java線(xiàn)程池中隊(duì)列常用類(lèi)型有哪些?
29,線(xiàn)程安全需要保證幾個(gè)基本特征?
30,說(shuō)一下線(xiàn)程之間是如何通信的?
31、CAS的原理呢?
32、CAS有什么缺點(diǎn)嗎?
33、引用類(lèi)型有哪些?有什么區(qū)別?
34、說(shuō)說(shuō)ThreadLocal原理?
35、線(xiàn)程池原理知道嗎?以及核心參數(shù)
36、線(xiàn)程池的拒絕策略有哪些?
37、說(shuō)說(shuō)你對(duì)JMM內(nèi)存模型的理解?為什么需要JMM?
38、多線(xiàn)程有什么用?
39、說(shuō)說(shuō)CyclicBarrier和CountDownLatch的區(qū)別?
40、什么是AQS?
41、了解Semaphore嗎?
42、什么是Callable和Future?
43、什么是阻塞隊(duì)列?阻塞隊(duì)列的實(shí)現(xiàn)原理是什么?如何使用阻塞隊(duì)列來(lái)實(shí)現(xiàn)生產(chǎn)者-消費(fèi)者模型?
44、什么是多線(xiàn)程中的上下文切換?
45、什么是Daemon線(xiàn)程?它有什么意義?
46、樂(lè)觀(guān)鎖和悲觀(guān)鎖的理解及如何實(shí)現(xiàn),有哪些實(shí)現(xiàn)方式?
Spring篇
1、什么是spring?
2、你們項(xiàng)目中為什么使用Spring框架?
3、Autowired和Resource關(guān)鍵字的區(qū)別?
4、依賴(lài)注入的方式有幾種,各是什么?
5、講一下什么是Spring
6、說(shuō)說(shuō)你對(duì)Spring MVC的理解
7、SpringMVC常用的注解有哪些?
8、談?wù)勀銓?duì)Spring的AOP理解
9、Spring AOP和AspectJ AOP有什么區(qū)別?
在Spring AOP中,關(guān)注點(diǎn)和橫切關(guān)注的區(qū)別是什么?
什么是通知呢?有哪些類(lèi)型呢?
10、說(shuō)說(shuō)你對(duì)Spring的IOC是怎么理解的?
11、解釋一下spring bean的生命周期
12、解釋Spring支持的幾種bean的作用域?
13、Spring基于xml注入bean的幾種方式?
14、Spring框架中都用到了哪些設(shè)計(jì)模式?
15、說(shuō)說(shuō)Spring中ApplicationContext和BeanFactory的區(qū)別
16、Spring框架中的單例Bean是線(xiàn)程安全的么?
17、Spring是怎么解決循環(huán)依賴(lài)的?
18、說(shuō)說(shuō)事務(wù)的隔離級(jí)別
19、說(shuō)說(shuō)事務(wù)的傳播級(jí)別
20、Spring事務(wù)實(shí)現(xiàn)方式
21、Spring框架的事務(wù)管理有哪些優(yōu)點(diǎn)
22、事務(wù)三要素是什么?
23、事務(wù)注解的本質(zhì)是什么?
MyBatis篇
1、什么是MyBatis
2、說(shuō)說(shuō)MyBatis的優(yōu)點(diǎn)和缺點(diǎn)
3、#{}和${}的區(qū)別是什么?
4、當(dāng)實(shí)體類(lèi)中的屬性名和表中的字段名不一樣,怎么辦?
5、Mybatis是如何進(jìn)行分頁(yè)的?分頁(yè)插件的原理是什么?
6、Mybatis是如何將sql執(zhí)行結(jié)果封裝為目標(biāo)對(duì)象并返回的?都有哪些映射形式?
7、如何執(zhí)行批量插入?
8、Xml映射文件中,除了常見(jiàn)的select|insert|updae|delete標(biāo)簽之外,還有哪些標(biāo)簽?
9、MyBatis實(shí)現(xiàn)一對(duì)一有幾種方式?具體怎么操作的?
10、Mybatis是否支持延遲加載?如果支持,它的實(shí)現(xiàn)原理是什么?
11、說(shuō)說(shuō)Mybatis的緩存機(jī)制:
12、JDBC編程有哪些步驟?
13、MyBatis中見(jiàn)過(guò)什么設(shè)計(jì)模式?
14、MyBatis中比如UserMapper.java是接口,為什么沒(méi)有實(shí)現(xiàn)類(lèi)還能調(diào)用?
SpringBoot篇
1、為什么要用SpringBoot
2、Spring Boot的核心注解是哪個(gè)?它主要由哪幾個(gè)注解組成的?
3、運(yùn)行Spring Boot有哪幾種方式?
4、如何理解Spring Boot中的Starters?
5、如何在Spring Boot啟動(dòng)的時(shí)候運(yùn)行一些特定的代碼?
6、Spring Boot需要獨(dú)立的容器運(yùn)行嗎?
7、Spring Boot中的監(jiān)視器是什么?
8、如何使用Spring Boot實(shí)現(xiàn)異常處理?
9、你如何理解Spring Boot中的Starters?
10、springboot常用的starter有哪些
11、SpringBoot實(shí)現(xiàn)熱部署有哪幾種方式?
12、如何理解Spring Boot配置加載順序?
13、Spring Boot的核心配置文件有哪幾個(gè)?它們的區(qū)別是什么?
14、如何集成Spring Boot和ActiveMQ?
MySQL篇
1、數(shù)據(jù)庫(kù)的三范式是什么
2、MySQL數(shù)據(jù)庫(kù)引擎有哪些
3、說(shuō)說(shuō)InnoDB與MyISAM的區(qū)別
4、數(shù)據(jù)庫(kù)的事務(wù)
5、索引是什么
6、SQL優(yōu)化手段有哪些
7、簡(jiǎn)單說(shuō)一說(shuō)drop、delete與truncate的區(qū)別
8、什么是視圖
9、什么是內(nèi)聯(lián)接、左外聯(lián)接、右外聯(lián)接?
10、并發(fā)事務(wù)帶來(lái)哪些問(wèn)題?
11,事務(wù)隔離級(jí)別有哪些?MySQL的默認(rèn)隔離級(jí)別是?
12,大表如何優(yōu)化?
13、分庫(kù)分表之后,id主鍵如何處理?
14、說(shuō)說(shuō)在MySQL中一條查詢(xún)SQL是如何執(zhí)行的?
15、索引有什么優(yōu)缺點(diǎn)?
16、MySQL中varchar與char的區(qū)別?varchar(30)中的30代表的涵義?
17、int(11)中的11代表什么涵義?
18、為什么SELECT COUNT(*) FROM table在InnoDB比MyISAM慢?
19.說(shuō)說(shuō)InnoDB與MyISAM有什么區(qū)別?
20、MySQL索引類(lèi)型有哪些?
21、什么時(shí)候不要使用索引?
22、說(shuō)說(shuō)什么是MVCC?
23、MVCC可以為數(shù)據(jù)庫(kù)解決什么問(wèn)題?
24、說(shuō)說(shuō)MVCC的實(shí)現(xiàn)原理
25、MySQL事務(wù)隔離級(jí)別?
26、請(qǐng)說(shuō)說(shuō)MySQL數(shù)據(jù)庫(kù)的鎖?
27、說(shuō)說(shuō)什么是鎖升級(jí)?
28、說(shuō)說(shuō)悲觀(guān)鎖和樂(lè)觀(guān)鎖
29、怎樣盡量避免死鎖的出現(xiàn)?
30、使用MySQL的索引應(yīng)該注意些什么?
31、CHAR和VARCHAR的區(qū)別?
32、主鍵和候選鍵有什么區(qū)別?
33、主鍵與索引有什么區(qū)別?
34、MySQL如何做到高可用方案?
SpringCloud篇
1、什么是SpringCloud
2、什么是微服務(wù)
3、SpringCloud有什么優(yōu)勢(shì)
4、什么是服務(wù)熔斷?什么是服務(wù)降級(jí)?
5、Eureka和zookeeper都可以提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能,請(qǐng)說(shuō)說(shuō)兩個(gè)的區(qū)別?
6、SpringBoot和SpringCloud的區(qū)別?
7、負(fù)載平衡的意義什么?
8、什么是Hystrix?它如何實(shí)現(xiàn)容錯(cuò)?
9、什么是Hystrix斷路器?我們需要它嗎?
10、說(shuō)說(shuō)RPC的實(shí)現(xiàn)原理
11,eureka自我保護(hù)機(jī)制是什么?
12,什么是Ribbon?
13,什么是feigin?它的優(yōu)點(diǎn)是什么?
14,Ribbon和Feign的區(qū)別?
Dubbo篇
1、說(shuō)說(shuō)一次Dubbo服務(wù)請(qǐng)求流程?
2、說(shuō)說(shuō)Dubbo工作原理
3、Dubbo支持哪些協(xié)議?
4、注冊(cè)中心掛了,consumer還能不能調(diào)用provider?
5、怎么實(shí)現(xiàn)動(dòng)態(tài)感知服務(wù)下線(xiàn)的呢?
6、Dubbo負(fù)載均衡策略?
7、Dubbo容錯(cuò)策略
8、Dubbo動(dòng)態(tài)代理策略有哪些?
9、說(shuō)說(shuō)Dubbo與Spring Cloud的區(qū)別?
10、Zookeeper和Dubbo的關(guān)系?
Nginx篇
1、簡(jiǎn)述一下什么是Nginx,它有什么優(yōu)勢(shì)和功能?
2、Nginx是如何處理一個(gè)HTTP請(qǐng)求的呢?
3、列舉一些Nginx的特性
4、請(qǐng)列舉Nginx和Apache之間的不同點(diǎn)
5、在Nginx中,如何使用未定義的服務(wù)器名稱(chēng)來(lái)阻止處理請(qǐng)求?
6、請(qǐng)解釋Nginx服務(wù)器上的Master和Worker進(jìn)程分別是什么?
7、請(qǐng)解釋代理中的正向代理和反向代理
8、解釋Nginx用途
MQ篇
1、為什么要使用MQ
2、MQ有什么優(yōu)缺點(diǎn)
3、Kafka、ActiveMQ、RabbitMQ、RocketMQ都有什么區(qū)別?
4、如何保證高可用的?
5、如何保證消息的可靠傳輸?如果消息丟了怎么辦
6、如何保證消息的順序性
7、如何解決消息隊(duì)列的延時(shí)以及過(guò)期失效問(wèn)題?消息隊(duì)列滿(mǎn)了以后該怎么處理?有幾百萬(wàn)消息持續(xù)積壓幾小時(shí),說(shuō)說(shuō)怎么解決?
8、讓你來(lái)設(shè)計(jì)一個(gè)消息隊(duì)列,你會(huì)怎么設(shè)計(jì)
數(shù)據(jù)結(jié)構(gòu)與算法篇
linux篇
1、絕對(duì)路徑用什么符號(hào)表示?當(dāng)前目錄、上層目錄用什么表示?主目錄用什么表示?切換目錄用什么命令?
2、怎么查看當(dāng)前進(jìn)程?怎么執(zhí)行退出?怎么查看當(dāng)前路徑?
3、查看文件有哪些命令
4、列舉幾個(gè)常用的Linux命令
5、你平時(shí)是怎么查看日志的?
Zookeeper篇
1,說(shuō)說(shuō)Zookeeper是什么?
2,ZooKeeper有哪些應(yīng)用場(chǎng)景?
3、說(shuō)說(shuō)Zookeeper的工作原理?
4,請(qǐng)描述一下Zookeeper的通知機(jī)制是什么?
5,Zookeeper對(duì)節(jié)點(diǎn)的watch監(jiān)聽(tīng)通知是永久的嗎?
6,Zookeeper集群中有哪些角色?
7,Zookeeper集群中Server有哪些工作狀態(tài)?
8,Zookeeper集群中是怎樣選舉leader的?
9,Zookeeper是如何保證事務(wù)的順序一致性的呢?
10,ZooKeeper集群中個(gè)服務(wù)器之間是怎樣通信的?
11,ZooKeeper分布式鎖怎么實(shí)現(xiàn)的?
12、了解Zookeeper的系統(tǒng)架構(gòu)嗎?
13、Zookeeper為什么要這么設(shè)計(jì)?
14、你知道Zookeeper中有哪些角色?
15、你熟悉Zookeeper節(jié)點(diǎn)ZNode和相關(guān)屬性嗎?
16、請(qǐng)簡(jiǎn)述Zookeeper的選主流程
17、為什么Zookeeper集群的數(shù)目,一般為奇數(shù)個(gè)?
18、知道Zookeeper監(jiān)聽(tīng)器的原理嗎?
19、說(shuō)說(shuō)Zookeeper中的ACL權(quán)限控制機(jī)制
20、Zookeeper有哪幾種幾種部署模式?
21、Zookeeper集群支持動(dòng)態(tài)添加機(jī)器嗎?
22、描述一下ZAB協(xié)議
23、ZAB和Paxos算法的聯(lián)系與區(qū)別?
24、ZooKeeper宕機(jī)如何處理?
25、描述一下ZooKeeper的session管理的思想?
26、ZooKeeper負(fù)載均衡和Nginx負(fù)載均衡有什么區(qū)別?
27、說(shuō)說(shuō)ZooKeeper的序列化
28,在Zookeeper中Zxid是什么,有什么作用?
29、講解一下ZooKeeper的持久化機(jī)制
30、Zookeeper選舉中投票信息的五元組是什么?
31、說(shuō)說(shuō)Zookeeper中的腦裂?
32、Zookeeper腦裂是什么原因?qū)е碌模?/p>
33、Zookeeper是如何解決腦裂問(wèn)題的?
34、說(shuō)說(shuō)Zookeeper的CAP問(wèn)題上做的取舍?
35、watch監(jiān)聽(tīng)為什么是一次性的?
redis篇
1,為什么要用緩存
2,使用Redis有哪些好處?
3,什么是Redis?
4,為什么使用Redis而不是用Memcache呢?
5,為什么Redis單線(xiàn)程模型效率也能那么高?
6,說(shuō)說(shuō)Redis的線(xiàn)程模型
7,為什么Redis需要把所有數(shù)據(jù)放到內(nèi)存中?
8,Redis的同步機(jī)制了解是什么?
9,pipeline有什么好處,為什么要用pipeline?
10,說(shuō)一下Redis有什么優(yōu)點(diǎn)和缺點(diǎn)
11,Redis緩存刷新策略有哪些?
12,Redis持久化方式有哪些?以及有什么區(qū)別?
13,持久化有兩種,那應(yīng)該怎么選擇呢?
14,怎么使用Redis實(shí)現(xiàn)消息隊(duì)列?
15,說(shuō)說(shuō)你對(duì)Redis事務(wù)的理解
16,Redis為什么設(shè)計(jì)成單線(xiàn)程的?
17,什么是bigkey?會(huì)存在什么影響?
18,熟悉哪些Redis集群模式?
19,是否使用過(guò)Redis Cluster集群,集群的原理是什么?
20,Redis Cluster集群方案什么情況下會(huì)導(dǎo)致整個(gè)集群不可用?
21,Redis集群架構(gòu)模式有哪幾種?
22,說(shuō)說(shuō)Redis哈希槽的概念?
23,Redis常見(jiàn)性能問(wèn)題和解決方案有哪些?
24,假如Redis里面有1億個(gè)key,其中有10w個(gè)key是以某個(gè)固定的已知的前綴開(kāi)頭的,如果將它們?nèi)空页鰜?lái)?
25,如果有大量的key需要設(shè)置同一時(shí)間過(guò)期,一般需要注意什么?
26,什么情況下可能會(huì)導(dǎo)致Redis阻塞?
27,緩存和數(shù)據(jù)庫(kù)誰(shuí)先更新呢?
28,怎么提高緩存命中率?
29,Redis如何解決key沖突?
30,Redis報(bào)內(nèi)存不足怎么處理?
31、說(shuō)說(shuō)Redis持久化機(jī)制
32、緩存雪崩、緩存穿透、緩存預(yù)熱、緩存更新、緩存降級(jí)等問(wèn)題
33、熱點(diǎn)數(shù)據(jù)和冷數(shù)據(jù)是什么
34、Memcache與Redis的區(qū)別都有哪些?
35、單線(xiàn)程的redis為什么這么快
36、redis的數(shù)據(jù)類(lèi)型,以及每種數(shù)據(jù)類(lèi)型的使用場(chǎng)景
37、redis的過(guò)期策略以及內(nèi)存淘汰機(jī)制
38、Redis為什么是單線(xiàn)程的
39、Redis常見(jiàn)性能問(wèn)題和解決方案?
40、為什么Redis的操作是原子性的,怎么保證原子性的?
41、了解Redis的事務(wù)嗎?
42、Redis的數(shù)據(jù)類(lèi)型及使用場(chǎng)景
分布式篇
1、分布式冪等性如何設(shè)計(jì)?
2,簡(jiǎn)單一次完整的HTTP請(qǐng)求所經(jīng)歷的步驟?
3、說(shuō)說(shuō)你對(duì)分布式事務(wù)的了解
4、你知道哪些分布式事務(wù)解決方案?
5,什么是二階段提交?
6、什么是三階段提交?
7、什么是補(bǔ)償事務(wù)?
8、消息隊(duì)列是怎么實(shí)現(xiàn)的?
9、那你說(shuō)說(shuō)Sagas事務(wù)模型
10,分布式ID生成有幾種方案?
11,冪等解決方法有哪些?
12,常見(jiàn)負(fù)載均衡算法有哪些?
13、你知道哪些限流算法?
14、說(shuō)說(shuō)什么是計(jì)數(shù)器(固定窗口)算法
15、說(shuō)說(shuō)什么是滑動(dòng)窗口算法
16、說(shuō)說(shuō)什么是漏桶算法
17、說(shuō)說(shuō)什么是令牌桶算法
18、數(shù)據(jù)庫(kù)如何處理海量數(shù)據(jù)?
19、如何將長(zhǎng)鏈接轉(zhuǎn)換成短鏈接,并發(fā)送短信?
20、長(zhǎng)鏈接和短鏈接如何互相轉(zhuǎn)換?
21、長(zhǎng)鏈接和短鏈接的對(duì)應(yīng)關(guān)系如何存儲(chǔ)?
22、如何提高系統(tǒng)的并發(fā)能力?
網(wǎng)絡(luò)篇
1,HTTP響應(yīng)碼有哪些?分別代表什么含義?
2,F(xiàn)orward和Redirect的區(qū)別?
3,Get和Post請(qǐng)求有哪些區(qū)別?
4,說(shuō)說(shuō)TCP與UDP的區(qū)別,以及各自的優(yōu)缺點(diǎn)
5,說(shuō)一下HTTP和HTTPS的區(qū)別
6,說(shuō)說(shuō)HTTP、TCP、Socket的關(guān)系是什么?
7,說(shuō)一下HTTP的長(zhǎng)連接與短連接的區(qū)別
8,TCP為什么要三次握手,兩次不行嗎?為什么?
9,說(shuō)一下TCP粘包是怎么產(chǎn)生的?怎么解決粘包問(wèn)題的?
10,TCP如何保證可靠性
11,OSI的七層模型都有哪些?
12,瀏覽器中輸入:“ www.woaijava.com”之后都發(fā)生了什么?請(qǐng)?jiān)敿?xì)闡述
13,如何實(shí)現(xiàn)跨域?
14,TCP為什么要三次握手,兩次不行嗎?為什么?
15,說(shuō)一下TCP粘包是怎么產(chǎn)生的?怎么解決粘包問(wèn)題的?
16,HTTP1.0、HTTP1.1、HTTP2.0的關(guān)系和區(qū)別
17,說(shuō)說(shuō)HTTP協(xié)議與TCP/IP協(xié)議的關(guān)系
18,如何理解HTTP協(xié)議是無(wú)狀態(tài)的?
19,什么是長(zhǎng)連接和短連接?
20,長(zhǎng)連接和短連接的優(yōu)缺點(diǎn)?
21,說(shuō)說(shuō)長(zhǎng)連接短連接的操作過(guò)程
22,說(shuō)說(shuō)TCP三次握手和四次揮手的全過(guò)程
23、OSI的七層模型都有哪些?
24、OSI這樣分層有什么好處?
25、說(shuō)說(shuō)TCP/IP四層網(wǎng)絡(luò)模型
26、說(shuō)說(shuō)域名解析詳細(xì)過(guò)程?
27、IP地址分為幾類(lèi),每類(lèi)都代表什么,私網(wǎng)是哪些?
28、說(shuō)說(shuō)TCP如何保證可靠性的?
設(shè)計(jì)模式
1、說(shuō)說(shuō)什么是單例模式
2、說(shuō)說(shuō)你對(duì)代理模式的理解
3、說(shuō)說(shuō)工廠(chǎng)模式
4、抽象工廠(chǎng)模式
5、裝飾器模式是什么
6、代理模式和裝飾器模式有什么區(qū)別?
7、模板方法模式
8、知道享元模式嗎?
9、享元模式和單例模式的區(qū)別?
10、說(shuō)說(shuō)策略模式在我們生活的場(chǎng)景?
11、知道責(zé)任鏈模式嗎?
12、了解過(guò)適配器模式么?
13、知道觀(guān)察者模式嗎?
maven篇
1、什么是maven?
2、Maven能為我們解決什么問(wèn)題?
3、說(shuō)說(shuō)maven有什么優(yōu)缺點(diǎn)?
5、什么是Maven的坐標(biāo)?
6、講一下maven的生命周期
7、說(shuō)說(shuō)你熟悉哪些maven命令?
8、如何解決依賴(lài)傳遞引起的版本沖突?
9、說(shuō)說(shuō)maven的依賴(lài)原則
10、說(shuō)說(shuō)依賴(lài)的解析機(jī)制?
11、說(shuō)說(shuō)插件的解析機(jī)制
ElasticSearch篇
1、談?wù)劮衷~與倒排索引的原理
2、說(shuō)說(shuō)分段存儲(chǔ)的思想
3、談?wù)勀銓?duì)段合并的策略思想的認(rèn)識(shí)
4、了解文本相似度TF-IDF嗎
5、能說(shuō)說(shuō)ElasticSearch寫(xiě)索引的邏輯嗎?
6、熟悉ElasticSearch集群中搜索數(shù)據(jù)的過(guò)程嗎?
7、了解ElasticSearch深翻頁(yè)的問(wèn)題及解決嗎?
8、熟悉ElasticSearch性能優(yōu)化
9、ElasticSearch查詢(xún)優(yōu)化手段有哪些?
10、elasticsearch是如何實(shí)現(xiàn)master選舉的?
11、elasticsearch索引數(shù)據(jù)多了怎么辦,如何調(diào)優(yōu),部署?
12、說(shuō)說(shuō)你們公司es的集群架構(gòu),索引數(shù)據(jù)大小,分片有多少?
13、什么是ElasticSearch?
14、ElasticSearch中的集群、節(jié)點(diǎn)、索引、文檔、類(lèi)型是什么?
15、ElasticSearch中的分片是什么?
16,ElasticSearch中的副本是什么?
19,ElasticSearch中的分析器是什么?
20,什么是ElasticSearch中的編譯器?
21,什么是ElasticSearch中的過(guò)濾器?
22,啟用屬性,索引和存儲(chǔ)的用途是什么?
tomcat篇
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的哪些配置?
7、Tomcat是什么?
8,什么是Servlet呢?
9,什么是Servlet規(guī)范?
10、為什么我們將tomcat稱(chēng)為Web容器或者Servlet容器?
11,tomcat是如何處理Http請(qǐng)求流程的?
12、tomcat結(jié)構(gòu)目錄有哪些?
Git篇
1、Git和SVN有什么區(qū)別?
2、什么是Git?
3、在Git中提交的命令是什么?
4、什么是Git中的“裸存儲(chǔ)庫(kù)”?
5 Git是用什么語(yǔ)言編寫(xiě)的?
6、在Git中,你如何還原已經(jīng)push并公開(kāi)的提交?
7、git pull和git fetch有什么區(qū)別?
8、git中的“staging area”或“index”是什么?
9、什么是git stash?
10、什么是git stash drop?
11.、如何找到特定提交中已更改的文件列表?
12、git config的功能是什么?
13、提交對(duì)象包含什么?
14、如何在Git中創(chuàng)建存儲(chǔ)庫(kù)?
15、怎樣將N次提交壓縮成一次提交?
16、什么是Git bisect?如何使用它來(lái)確定(回歸)錯(cuò)誤的來(lái)源?
17、如果想要在提交之前運(yùn)行代碼性檢查工具,并在測(cè)試失敗時(shí)阻止提交,該怎樣配置Git存儲(chǔ)庫(kù)?
18.、描述一下你所使用的分支策略?
19、如果分支是否已合并為master,你可以通過(guò)什么手段知道?
20、什么是SubGit?
21、列舉工作中常用的幾個(gè)git命令?
22、如果本次提交誤操作,如何撤銷(xiāo)?
23、你使用過(guò)git stash命令嗎?你一般什么情況下會(huì)使用它?
24、如何查看分支提交的歷史記錄?查看某個(gè)文件的歷史記錄呢?
25、使用過(guò)git merge和git rebase嗎?它們之間有什么區(qū)別?
26、使用過(guò)git cherry-pick,有什么作用?
軟實(shí)力篇
1、為什么說(shuō)簡(jiǎn)歷很重要?
2、先從面試來(lái)說(shuō)
3、再?gòu)拿嬖囌f(shuō)起
4、必知必會(huì)的幾點(diǎn)
5、必須了解的兩大法則
6、項(xiàng)目經(jīng)歷怎么寫(xiě)
7、專(zhuān)業(yè)技能怎么寫(xiě)
8、排版注意事項(xiàng)
9、其他一些小tips
10、你對(duì)我們公司有什么想問(wèn)的嗎?
11、很多人都倒在自我介紹上
13,如何與HR交談,如何談薪水
14、HR最喜歡問(wèn)程序員的20個(gè)問(wèn)題
15、面試中的禮儀與舉止