Java程序猿想超神?先回答這些問(wèn)題。

一、Java基礎(chǔ)

實(shí)例方法和靜態(tài)方法有什么不一樣?

Java中的異常有哪幾類(lèi)?分別怎么使用?

常用的集合類(lèi)有哪些?比如List如何排序?

ArrayList和LinkedList內(nèi)部的實(shí)現(xiàn)大致是怎樣的?他們之間的區(qū)別和各自適應(yīng)的場(chǎng)景是什么?

內(nèi)存溢出是怎么回事?

ClassLoader有什么用?

==和equals的區(qū)別?

hashCode方法的作用?

Object類(lèi)中有哪些方法?列舉3個(gè)以上。

NIO是什么?適用于何種場(chǎng)景?

HashMap數(shù)據(jù)結(jié)構(gòu)、擴(kuò)展策略,Hash沖突攻擊如何防范,如何實(shí)現(xiàn)線(xiàn)程安全的HashMap?

JVM內(nèi)存結(jié)構(gòu),GC算法,CMS、G1的原理

NIO模型,select/epoll的區(qū)別,多路復(fù)用的原理

Java中一個(gè)字符占多少個(gè)字節(jié),擴(kuò)展再問(wèn)int, long, double占多少字節(jié)

創(chuàng)建一個(gè)類(lèi)的實(shí)例都有哪些辦法?

final/finally/finalize的區(qū)別?

LinkingBlockingQueue與ArrayBlockingQueue的區(qū)別,他們的適用場(chǎng)景?

Session/Cookie的區(qū)別?

String/StringBuffer/StringBuilder的區(qū)別,擴(kuò)展再問(wèn)他們的實(shí)現(xiàn)?

Servlet的生命周期?

如何用Java分配一段連續(xù)的1G的內(nèi)存空間?需要注意些什么?

Java有自己的內(nèi)存回收機(jī)制,但為什么還存在內(nèi)存泄露的問(wèn)題呢?

Java里面用對(duì)象作為Key需要注意些什么? 如何實(shí)現(xiàn)hashcode?

二、JVM

JVM堆的基本結(jié)構(gòu)。

JVM的垃圾算法有哪幾種?CMS收集算法的流程?

JVM有哪些常用啟動(dòng)參數(shù)可以調(diào)整?

如何查看JVM的內(nèi)存使用情況?

Java程序是否會(huì)內(nèi)存溢出?

你常用的JVM配置和調(diào)優(yōu)參數(shù)都有哪些?分別什么作用?

Java內(nèi)存分代模型,GC算法,JVM常見(jiàn)的啟動(dòng)參數(shù);

CMS算法的過(guò)程,CMS回收過(guò)程中JVM是否需要暫停(這塊回答較好,也可以只是看畢玄的Java分布式開(kāi)發(fā)或網(wǎng)上文章的學(xué)習(xí), 可以結(jié)合JVM啟動(dòng)參數(shù)常見(jiàn)配置,jstat等命令,看下動(dòng)手能力,意愿;以及實(shí)際線(xiàn)上問(wèn)題排查)

什么情況下會(huì)出現(xiàn)OOM(堆內(nèi)存,永久區(qū),堆外區(qū),方法棧)

Java內(nèi)存結(jié)構(gòu)(堆結(jié)構(gòu),新生代[S0/S1/Elden],年老代,持久代)

常用的GC策略,什么時(shí)候會(huì)觸發(fā)YGC,什么時(shí)候觸發(fā)FGC

三、數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)

說(shuō)一下幾種常見(jiàn)的排序算法和分別的復(fù)雜度。

什么是跳表?

如何確認(rèn)一個(gè)鏈表有環(huán)?進(jìn)一步,確認(rèn)環(huán)的位置。

如何遍歷一棵二叉樹(shù)?

倒排一個(gè)LinkedList。

HashSet的實(shí)現(xiàn)方式

四、多線(xiàn)程/并發(fā)

Java中常見(jiàn)的鎖,互斥鎖,讀寫(xiě)鎖,信號(hào)量

原子Atomic類(lèi),如何保證原子性,CAS硬件指令

volatile,可見(jiàn)性問(wèn)題的原因,硬件架構(gòu),L3 Cache,QPI,樂(lè)觀(guān)鎖

如何實(shí)現(xiàn)一個(gè)線(xiàn)程安全的數(shù)據(jù)結(jié)構(gòu)

如何避免死鎖

如何解決ABA問(wèn)題

Synchronized關(guān)鍵字的作用?

Volatile關(guān)鍵字的作用?

Java內(nèi)存模型是怎樣的?

HashMap在多線(xiàn)程環(huán)境下使用需要注意什么?為什么?

Java程序中啟動(dòng)一個(gè)線(xiàn)程是用run()還是start()?

什么是守護(hù)線(xiàn)程?有什么用?

什么是死鎖?如何避免

線(xiàn)程和進(jìn)程的差別是什么?

Java里面的Threadlocal是怎樣實(shí)現(xiàn)的?

ConcurrentHashMap的實(shí)現(xiàn)原理是?

sleep和wait區(qū)別

notify和notifyAll區(qū)別

volatile關(guān)鍵字的作用

ThreadLocal的作用與實(shí)現(xiàn)

兩個(gè)線(xiàn)程如何串行執(zhí)行

上下文切換是什么含義

可以運(yùn)行時(shí)kill掉一個(gè)線(xiàn)程嗎?

什么是條件鎖、讀寫(xiě)鎖、自旋鎖、可重入鎖?

什么是協(xié)程(用戶(hù)態(tài)線(xiàn)程,減少數(shù)據(jù)拷貝,降低CPU開(kāi)銷(xiāo),無(wú)callback函數(shù))?

線(xiàn)程池ThreadPoolExecutor的實(shí)現(xiàn)原理?

J.U.C下的常見(jiàn)類(lèi)的使用。lock, synchronized, ThreadPool的深入考察; BlockingQueue的使用。(take,poll的區(qū)別,put,offer的區(qū)別);原子類(lèi)的實(shí)現(xiàn)。

各種常見(jiàn)鎖使用如果上面這些掌握很好,還可以看看更深一點(diǎn)的 False Sharing,Cache Line,可見(jiàn)性與原子性等;

五、Linux使用與問(wèn)題分析排查

硬鏈接和軟鏈接的區(qū)別?

inode是什么?

Linux常用命令有哪些?

怎么看一個(gè)Java線(xiàn)程的資源耗用?

Load過(guò)高的可能性有哪些?

/etc/hosts文件什么做用?

/etc/resolv.conf文件什么作用?

如何快速的將一個(gè)文本中所有“abc”替換為“xyz”?

你常用的Linux下用來(lái)進(jìn)行網(wǎng)絡(luò)和磁盤(pán)IO分析的工具有哪些?

你常用的Linux下用來(lái)進(jìn)行內(nèi)存和CPU分析的工具有哪些?

發(fā)現(xiàn)磁盤(pán)空間不夠,如何快速找出占用空間最大的文件?

Java服務(wù)端問(wèn)題排查(OOM,CPU高,Load高,類(lèi)沖突)

Java常用問(wèn)題排查工具及用法(top, iostat, vmstat, sar, tcpdump, jvisualvm, jmap, jconsole)

Thread dump文件如何分析(Runnable,鎖,代碼棧,操作系統(tǒng)線(xiàn)程ID關(guān)聯(lián))

grep,awk,sed; 是否自己寫(xiě)過(guò)shell腳本;

常見(jiàn)的cpu load過(guò)高,us過(guò)高,一般是什么問(wèn)題。引申出是否用過(guò)top,jstat,jstack等。

常見(jiàn)的內(nèi)存問(wèn)題一般有哪些。 引申出是否用過(guò)free,top, jmap等。

六、框架使用

Spring中Bean的生命周期。

SpringMVC或Struts處理請(qǐng)求的流程。

Spring AOP解決了什么問(wèn)題?怎么實(shí)現(xiàn)的?aop與cglib,與asm的關(guān)系。

Spring事務(wù)的傳播屬性是怎么回事?它會(huì)影響什么?

Spring中BeanFactory和FactoryBean有什么區(qū)別?

Spring框架中IOC的原理是什么?

spring的依賴(lài)注入有哪幾種方式

struts工作流程

用Spring如何實(shí)現(xiàn)一個(gè)切面?

Spring 如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)?

Hibernate和Ibatis這類(lèi)ORM框架的區(qū)別?什么是ORM,解決的痛點(diǎn)是什么?

spriong ioc的生命周期,(init-method,intilizingbean接口方法afterPropertiesSet的先后順序)等。

Hibernate對(duì)一二級(jí)緩存的使用,Lazy-Load的理解;

Spring IoC AOP自己用代碼如何實(shí)現(xiàn)

RPC的負(fù)載均衡、服務(wù)發(fā)現(xiàn)怎么做的

幾種推送模型的區(qū)別,long polling,websocket

七、數(shù)據(jù)庫(kù)相關(guān)

MySQL InnoDB的特點(diǎn)?

樂(lè)觀(guān)鎖和悲觀(guān)鎖的區(qū)別?

數(shù)據(jù)庫(kù)隔離級(jí)別是什么?有什么作用?

MySQL主備同步的基本原理。

如何從一張表中查出name字段包含“XYZ”的所有行?

索引數(shù)據(jù)結(jié)構(gòu)(字典+BitTree)

如何優(yōu)化數(shù)據(jù)庫(kù)性能(索引、分庫(kù)分表、批量操作、分頁(yè)算法、升級(jí)硬盤(pán)SSD、業(yè)務(wù)優(yōu)化、主從部署)

SQL什么情況下不會(huì)使用索引(不包含,不等于,函數(shù))

一般在什么字段上建索引(過(guò)濾數(shù)據(jù)最多的字段)

如何從一張表中查出name字段不包含“XYZ”的所有行?

MySQL,B+索引實(shí)現(xiàn),行鎖實(shí)現(xiàn),SQL優(yōu)化

Redis,RDB和AOF,如何做高可用、集群

如何解決高并發(fā)減庫(kù)存問(wèn)題

mysql存儲(chǔ)引擎中索引的實(shí)現(xiàn)機(jī)制;

數(shù)據(jù)庫(kù)事務(wù)的幾種粒度;

行鎖,表鎖;樂(lè)觀(guān)鎖,悲觀(guān)鎖

八、網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)編程

TCP建立連接的過(guò)程。

TCP斷開(kāi)連接的過(guò)程。

瀏覽器發(fā)生302跳轉(zhuǎn)背后的邏輯?

HTTP協(xié)議的交互流程。HTTP和HTTPS的差異,SSL的交互流程?

Rest和Http什么關(guān)系? 大家都說(shuō)Rest很輕量,你對(duì)Rest風(fēng)格如何理解?

TCP的滑動(dòng)窗口協(xié)議有什么用?講講原理。

HTTP協(xié)議都有哪些方法?

交換機(jī)和路由器的區(qū)別?

什么是VLAN,有什么作用?

什么是VXLAN,有什么作用?

http協(xié)議(報(bào)文結(jié)構(gòu),斷點(diǎn)續(xù)傳,多線(xiàn)程下載,什么是長(zhǎng)連接)

tcp協(xié)議(建連過(guò)程,慢啟動(dòng),滑動(dòng)窗口,七層模型)

webservice協(xié)議(wsdl/soap格式,與rest協(xié)議的區(qū)別)

spdy/http2.0協(xié)議是否有了解

NIO的好處,Netty線(xiàn)程模型,什么是零拷貝

九、Redis等緩存系統(tǒng)/中間件/NoSQL/一致性Hash等

列舉一個(gè)常用的Redis客戶(hù)端的并發(fā)模型。

HBase如何實(shí)現(xiàn)模糊查詢(xún)?

列舉一個(gè)常用的消息中間件,如果消息要保序如何實(shí)現(xiàn)?

如何實(shí)現(xiàn)一個(gè)Hashtable?你的設(shè)計(jì)如何考慮Hash沖突?如何優(yōu)化?

分布式緩存,一致性hash

LRU算法,slab分配,如何減少內(nèi)存碎片

如何解決緩存單機(jī)熱點(diǎn)問(wèn)題

什么是布隆過(guò)濾器,其實(shí)現(xiàn)原理是? False positive指的是?

memcache與redis的區(qū)別

zookeeper有什么功能,選舉算法如何進(jìn)行

map/reduce過(guò)程,如何用map/reduce實(shí)現(xiàn)兩個(gè)數(shù)據(jù)源的聯(lián)合統(tǒng)計(jì)

十、設(shè)計(jì)模式與重構(gòu)

你在設(shè)計(jì)一個(gè)工廠(chǎng)的包的時(shí)候會(huì)遵循哪些原則?

你能列舉一個(gè)使用了Visitor/Decorator模式的開(kāi)源項(xiàng)目/庫(kù)嗎?

你在編碼時(shí)最常用的設(shè)計(jì)模式有哪些?在什么場(chǎng)景下用?

如何實(shí)現(xiàn)一個(gè)單例?

代理模式(動(dòng)態(tài)代理)

單例模式(懶漢模式,惡漢模式,并發(fā)初始化如何解決,volatile與lock的使用)

JDK源碼里面都有些什么讓你印象深刻的設(shè)計(jì)模式使用,舉例看看?

Reactor模式

十一、學(xué)習(xí)與進(jìn)取心

平時(shí)會(huì)關(guān)注哪些技術(shù)?

會(huì)看那些技術(shù)博客和網(wǎng)站?

技術(shù)上有沒(méi)有偶像?

看過(guò)哪些技術(shù)書(shū)籍?

你平常都看些什么書(shū)?你去年和今年看的書(shū)中印象最深的基本技術(shù)書(shū)籍和非技術(shù)書(shū)籍是?

(如果不看書(shū))你平常都上哪些技術(shù)論壇?最喜歡哪個(gè)?為什么?

項(xiàng)目或產(chǎn)品中用到了什么新技術(shù)或框架

最近研究過(guò)什么業(yè)界流行的技術(shù)或框架

對(duì)現(xiàn)在所做的項(xiàng)目或產(chǎn)品的缺陷是否了解,有何規(guī)劃

是否有帶過(guò)項(xiàng)目,如何管理項(xiàng)目

是否有帶過(guò)團(tuán)隊(duì),團(tuán)隊(duì)管理最大的挑戰(zhàn)點(diǎn)是什么

十二、抗壓能力及抗壓意愿

剛才你說(shuō)的XXX實(shí)現(xiàn)跟那個(gè)開(kāi)源的YYY很像,是不是抄來(lái)的?

對(duì)加班怎么看?

平臺(tái)是否有加班,是主動(dòng)還是被動(dòng),是否非常抗拒

是否有負(fù)責(zé)多件事情,多件事情如何并行處理

你對(duì)你最近負(fù)責(zé)項(xiàng)目中最自豪的點(diǎn)是什么?

十三、開(kāi)放性問(wèn)題

一個(gè)大文件4G,里面一行行的數(shù)字,這時(shí)內(nèi)存只有256M,如果做排序?

如果你部署的應(yīng)用所在機(jī)器硬盤(pán)壞了,會(huì)發(fā)生什么?你的程序要如何處理這種異常?(分布式系統(tǒng)中故障是一種常態(tài),設(shè)計(jì)要避免單點(diǎn)故障,能容錯(cuò),保證系統(tǒng)高可用)

實(shí)現(xiàn)一個(gè)消息隊(duì)列系統(tǒng)

如何設(shè)計(jì)一個(gè)高可用的架構(gòu)

多次Hash來(lái)解決URL重復(fù)訪(fǎng)問(wèn)問(wèn)題。

全局唯一ID問(wèn)題。

秒殺如何設(shè)計(jì)。

如何進(jìn)行性能優(yōu)化。

發(fā)現(xiàn)CPU 100%,如何排查?

實(shí)現(xiàn)一個(gè)分布式打點(diǎn)系統(tǒng)。

taobao.com和tmall.com的互相登錄的問(wèn)題。

如何快速對(duì)一個(gè)2億數(shù)據(jù)的List進(jìn)行排序?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評(píng)論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,013評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 177,346評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,421評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,146評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,534評(píng)論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,767評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,318評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,074評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,258評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,486評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,916評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,156評(píng)論 1 290
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,993評(píng)論 3 395
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,234評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容