1. 程式人生 > >金三銀四背後,一個JAVA程式設計師的面試心得

金三銀四背後,一個JAVA程式設計師的面試心得

開發十年,就只剩下這套架構體系了! >>>   

回顧一下自己這段時間的經歷,去年十二月份的時候,公司通知了裁員,我匆匆忙忙地出去面了幾家,但最終都沒有拿到offer,我感覺今年的寒冬有點冷。後續的面試過程我做了一些準備,基本都能走到hr面,後面我也順利地拿到了offer,我給大家分享下我的求職體會,希望能給大家一些參考。

下面說一下自己面試過程遇到的一些具體題目和麵試心得。

阿里面試題

多個執行緒同時讀寫,讀執行緒的數量遠遠大於寫執行緒,你認為應該如何解決併發的問題?你會選擇加什麼樣的鎖?

JAVA的AQS是否瞭解,它是幹嘛的?

除了synchronized關鍵字之外,你是怎麼來保障執行緒安全的?

Tomcat本身的引數你一般會怎麼調整?

你有沒有用過Spring的AOP? 是用來幹嘛的? 大概會怎麼使用?

如果一個介面有2個不同的實現, 那麼怎麼來Autowire一個指定的實現?

如果想在某個Bean生成並裝配完畢後執行自己的邏輯,可以什麼方式實現?

SpringBoot沒有放到web容器裡為什麼能跑HTTP服務?

SpringBoot中如果你想使用自定義的配置檔案而不僅僅是application.properties,應該怎麼弄?

SpringMVC如果希望把輸出的Object(例如XXResult或者XXResponse)這種包裝為JSON輸出, 應該怎麼處理?

如果有很多資料插入MYSQL 你會選擇什麼方式?

如果查詢很慢,你會想到的第一個方式是什麼?索引是幹嘛的?

查詢死掉了,想要找出執行的查詢程序用什麼命令?找出來之後一般你會幹嘛?

讀寫分離是怎麼做的?你認為中介軟體會怎麼來操作?這樣操作跟事務有什麼關係?

分庫分表有沒有做過?線上的遷移過程是怎麼樣的?如何確定資料是正確的?

你知道哪些或者你們線上使用什麼GC策略? 它有什麼優勢,適用於什麼場景?

JAVA類載入器包括幾種?它們之間的父子關係是怎麼樣的?雙親委派機制是什麼意思?有什麼好處?

如何自定義一個類載入器?你使用過哪些或者你在什麼場景下需要一個自定義的類載入器嗎?

堆記憶體設定的引數是什麼?

HashMap和Hashtable的區別。

實現一個保證迭代順序的HashMap。

說一說排序演算法,穩定性,複雜度。

說一說GC。

JVM如何載入一個類的過程,雙親委派模型中有哪些方法?

TCP如何保證可靠傳輸?三次握手過程?

京東面試題

java常用的資料結構有哪些?哪些是執行緒安全的?是怎麼保證執行緒安全的?

Redis中的Lua有沒有使用過? 可以用來做什麼? 為什麼可以這麼用?

執行緒池內部工作原理可以說一下麼?

死鎖是什麼意思,形成條件是什麼?出現死鎖是可以通過什麼方式去排查。

在交易過程中如何放在使用者在支付時的重複支付(交叉支付),請寫出你瞭解的方案或使用的過的方案。

資料庫索引有哪幾種,他們之間的區別。

程式開發時通過開發工具DeBug除錯時,控制檯顯示的內容都包含什麼?哪些內容可以幫助你發現問題和解決問題。

RPC通訊過程中,假設A系統提供了一個方法入參是一個JavaBean,出參也是一個JavaBean。另外兩個系統B系統、C系統呼叫介面,呼叫方B想讓提供方A增加一個返回引數,假設服務提供方A增加了返回引數,請問C系統呼叫方需要做什麼處理?

瞭解哪些設計模式,用虛擬碼實現一個你熟悉的設計模式。

講一下怎麼使用分散式鎖。

說說HashMap的原理, 以及HashMap如何擴充bucket的大小。

Redis的Pipeline是用來幹什麼的?

Mysql索引的分類(Btree, hash),各自使用什麼情況 。

說說Myisam, Innodb區別。

知道哪些負載均衡演算法。

說一下Btree的查詢原理。

簡述三次握手,如果c端發起握手請求,s端無法立刻建立連線應該回應什麼?

去哪兒網面試題

自我介紹,專案介紹。

mysql資料庫調優。

sql優化。

like能用索引嗎?

java物件四種引用。

GC原理。

jvm記憶體結構。

說一下你學過jvm 在書寫程式碼上對你有什麼幫助和提高。

千萬資料量的查詢你會怎麼做?

HashMap在jdk1.7和1.8的區別,為什麼引入這個概念?hash碰撞怎麼解決,為什麼1.8要比1.7更好,好在哪?

關於你的專案,如果併發很大,你會怎麼改造。

方法區裡什麼樣的物件有可能被回收。

線上cpu飆升100%你怎麼處理。

頻繁FullGC怎麼處理。

執行緒池建立有幾種,為什麼建立定長的執行緒池個數最好是5,10,15這樣的數字。

linux命令。

伊甸區和倖存區可動態變化嗎?

redis和memcached區別。

說幾個jdk命令,jmap是什麼意思。

如果併發很大,你對資料的正確性怎麼保證。

餓了麼面試題

http和https的區別,https原理,http2.0與1.0的區別。

Java的垃圾回收機制,Java檔案載入機制,tomcat類載入機制,鎖機制,jvm原理及線上調優,jvm記憶體模型。

多執行緒,有哪些可以保持程序同步的方法,建立執行緒的幾種方法,對i++多執行緒訪問你會怎麼做。

Java的設計模式,單例有什麼模式,懶漢為什麼加volotile,volotile的記憶體屏障,如何避免死鎖。

考慮單例模式的編寫,要執行緒安全且記憶體消耗小(劍指offer原題)。

String、StringBuilder、StringBuffer區別;String類能被繼承嗎?為什麼?

在白紙上手寫二分法排序演算法(lintcode上原題);二分查詢的思想。

查詢單鏈表中倒數第k個節點的演算法,手寫(lintcode上原題);最常見的排序演算法你見過哪些,快排的基本思想及時間複雜度。

常見的資料結構有哪些。

hashmap、hashcode一樣,不equals怎麼處理 ;hashcode實現原理,currentHashMap原理,實現細節,怎麼實現同步的;類為什麼要有hascode方法,是不是主要在集合類中都要實現hashcode方法;equals方法怎麼實現;兩個不同的物件可能有相同的hashcode值嗎;常用集合有哪些。

tcp三次握手,四次揮手協議。

架構設計一個開發性問題,設計一個Nginx管理的中介軟體,怎麼設計。

所有的類都繼承與object,你用過object類的直接子類有哪些,object類常用的方法有哪些。

Java會出現記憶體洩漏嗎,如果回,在哪種情況下?

抽象類和介面的區別。

平時怎麼擴充套件自己的專業知識水平。

百度面試題

什麼是 Java 的反射機制。

Cookie 和 Session的區別。

get 和 post請求的區別。

IOC的優點是什麼。

IO 和 NIO的區別,NIO優點。

JRE、JDK、JVM 及 JIT 之間有什麼不同。

Hashcode 的作用。

簡述一致性 Hash 演算法。

為什麼在重寫 equals 方法的時候需要重寫 hashCode 方法?equals與 hashCode 的異同點在哪裡。

為什麼 Map 介面不繼承 Collection 介面。

說出幾點 Java 中使用 Collections 的最佳實踐?

GC是什麼?為什麼要有GC。

什麼時候會導致垃圾回收。

GC 有幾種方式?怎麼配置。

什麼時候一個物件會被GC? 如何判斷一個物件是否存活。

垃圾回收器的基本原理是什麼?

Serial 與 Parallel GC之間的不同之處。

JVM 中一次完整的 GC 流程是怎樣的? 物件如何晉升到老年代。

吞吐量優先和響應優先的垃圾收集器選擇。

說說你知道的幾種主要的jvm 引數。

Java中存在記憶體洩漏問題嗎?請舉例說明。

什麼是執行緒,多執行緒的優點是什麼?以及簡單說一下多執行緒的幾種實現方式。

ThreadLocal 用途是什麼,原理是什麼,用的時候要注意什麼?

執行緒池是什麼?為什麼要使用它?如何建立一個Java執行緒池?

ThreadPool用法與優勢可以說一下麼?

synchronized 的原理是什麼?synchronized 和 ReentrantLock 有什麼不同?

有T1,T2,T3三個執行緒,怎麼確保它們按順序執行?怎樣保證T2在T1執行完後執行,T3在T2執行完後執行同步塊內的執行緒丟擲異常會發生什麼?

什麼是樂觀鎖(Optimistic Locking)?如何實現樂觀鎖?如何避免ABA問題。

Java中活鎖和死鎖有什麼區別?

Executors類是什麼? Executor和Executors的區別?

什麼是設計模式(Design Patterns)?你用過哪種設計模式?用在什麼場合?

你能寫出三種單例模式實現麼?

你知道Google是如何在一秒內把搜尋結果返回給使用者?

高併發下,如何做到安全的修改同一行資料?

如何避免瀏覽器快取。

大型網站在架構上應當考慮哪些問題?

最近有在看什麼書麼,印象最深刻的是什麼?

你們線上應用的 JVM 引數有哪些?

能簡單說下你對演算法的理解麼?

面試心得

準備要充分,知識面要儘量的廣,同時深度也要夠。

面試安排上,如果不著急,儘量給自己留多時間,兩天一家,及時做總結和補充。

心態要放平,當做一次技術交流,面試要看一部分的運氣,也要看一些眼緣,有的面試官一張嘴你就能感覺到你這次面試完了。想去的公司沒有面試好,不要氣餒,繼續加油準備。

簡歷投遞方面,拉勾上投了很多經常不匹配,可能是我學歷問題(自考本),有一些打擊自信心,如果有同樣感受的,不妨換BOSS或者其他平臺。避免打擊自信心。

寫簡歷一定要體現自己的優勢,最好能體現類似於,用到了什麼技術,解決了什麼問題。簡歷上寫到的一定要胸有成竹。

類似於你的優勢是什麼,你覺得你專案中做的比較好的地方有哪些,你能給公司帶來什麼,這種問題心裡要先想一些,免得臨場發揮容易緊張說不好。

我所經歷的面試,一般技術面最少是兩輪。如果一輪後讓你走了,而你還自我感覺良好,那我覺得你有必要回顧一下面試內容,並一條一條找找該問題的相關內容,大部分問題就在於你沒有答到點子上,可能是深度不夠,也可能是擴充套件不夠,繼續加油。

下圖中的資料都是我精心錄製視訊,感興趣的可以加群:705127209 免費獲取。希望能夠在你接下來即將應對的的面試過程中能夠盡到一份綿薄之力。

相關推薦

背後一個JAVA程式設計師面試心得

開發十年,就只剩下這套架構體系了! >>>   

跳槽季Java面試大綱及答案

本文轉載自https://blog.csdn.net/weixin_37509652/article/details/79701679 I made a slight modification. 跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚為什麼要跳槽。切不可跟風,看到同事一個

Java程式設計師面試大綱—錯過了你還要錯過2018嗎

跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚為什麼要跳槽。切不可跟風,看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準備充分),到底是因為技術原因(影響自己的發展,偏移自己規劃的軌跡),還是錢給少了,不受重視。 準備不充分的面試,完全是浪費時間,更是對

Java程式設計師求職季這些多執行緒面試題你會嗎?

  多執行緒是Java技術面試中面試官比較喜歡問的問題之一。在這裡,從面試的角度列出了大部分重要的問題,但是作為一個程式設計師仍然應該牢固的掌握Java多執行緒基礎知識來對應日後碰到的問題。 1. 程序和執行緒之間有什麼不同? 一個程序是一個獨立(self contain

跳槽季Java面試大綱

點選上方“程式設計師小灰”,選擇“置頂公眾號”有趣有內涵的文章第一時間送達!本文轉載自公眾號 

【備戰Java程式設計師面試題彙總直擊BATJ

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

Java面試通關要點匯總集(大牛歸納)

Java 面試 Java面試通關要點匯總集(部分解答)說明如果你有幸能看到的話, 1、本文整體框架來自@阿裏.梁桂釗的博文,總結的非常不錯。值得我們學習,它的博客部分做了解答。2、由於自己能力有限,沒能實現心中那個想法,就是第一遍自己寫,第二遍書本查詢3、文章會放到GitHub,用Git控制。可能是一

Java面試前的準備。

AI load java基礎 樂觀鎖 map req java的反射機制 反射 多例 感謝您參加我們的面試:   以下是我們總結一些面試前準備和技術參考題,希望對你有所幫助。   首先,你需要先準備下工作相關的自我介紹,包括以下內容:   1.幾年Java開發經驗,大概概括

跳槽季你拿到心目中的Offer了嗎?你薪水升上去了嗎?

java 分布式 面試 程序員 後端 簡歷怎麽投? 有工作經驗的人。一般情況下有工作經驗的人,技術也有了,人脈也有了。那麽我們找工作的時候,可以依靠這些人脈。正所謂,出了學校,進了社會,你的技能不是最重要的,人脈才是。所以你可以先去打聽打聽你的那些朋友,或者認識的一些技術大V有沒有工作介紹

Java高級程序員面試大綱——備戰跳槽季

協作能力 開發經驗 都沒有 信號燈 text 異常 array 程序員面試 finall 跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚為什麽要跳槽。切不可跟風,看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準備充分),到底是因為技術原因(影響自己的發展

Java高階程式設計師面試大綱——備戰跳槽季

跳槽時時刻刻都在發生,但是我建議大家跳槽之前,先想清楚為什麼要跳槽。切不可跟風,看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準備充分),到底是因為技術原因(影響自己的發展,偏移自己規劃的軌跡),還是錢給少了,不受重視。 準備不充分的面試,完全是浪費時間,更是對

2018Android大廠面試題整理

目錄 (1)java面試題 (2)Android面試題 (3)高階技術面試題 (4)非技術性問題&HR問題彙總 java面試題 熟練掌握java是很關鍵的,大公司不僅僅要求你會使用幾個api,更多的是要你熟悉原始碼實現原理,甚至要你知道有哪些不

跳槽季上週剛面試回來後的面試總結想進BAT必看

上週陪同之前一起工作的同事去面試(喬治,小袁,鵬飛(面試人)),第一站是去深圳,第二站上海,第三

三月已經過去馬上畢業

哎,大大的嘆息…… 到底什麼工作才是一個正確的選擇呢? 目前想換工作,但是目前這個公司拽著、畢設也拽著、只有這個四月份卻哪兒也去不了, 五月份也有各種事兒,6月份回去準備畢業事宜。哎,馬丹爭取五月份

四季!測試一下Java 面試題能答對60%就去BAT~~~

專題 企業 年終 廣告 java面試 alt 搜索 涵蓋 ima 2019,相對往年我們會發現今年獵頭電話少了,大部分企業年終獎縮水,加薪幅度也不如往年,選擇好offer就要趁早,現在開始準備吧,刷一波Java面試題,能回答70%就去BATJTMD大膽試試~ 以下是2018

你可以行動了

android 加班 聯網 後臺 讀者 推薦閱讀 職業規劃 關註 art 為什麽會離職 又要交房租了,工資怎麽還不發?每個月總覺得錢不夠花,工資總是跟不上消費,什麽時候能漲個工資呢? 現在上班猶如上墳一樣,已經找不到半點成就感,每天各種煩心事,各種瑣事永遠做不到。 我們為什

記阿里巴巴的一次面試教你怎樣應對到來的“”!

浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>   

跳槽季你應該如何逆襲沖進BATJ?

時間 感受 微服務 分布式協調服務 幾分鐘 jenkins 每天 模板 技術文章 想起剛剛入門的時候,工作和學習上是完全找不到方向的,再然後渡過了一段時間的新手期之後,工作的方向雖然逐漸變得清晰起來,但是沒過多久,能了解到的資料就開始超過每天學習的能力,像是買了沒看的書、收

:螞蟻JAVA開發面試題及答案之一面(持續更新)

開發十年,就只剩下這套架構體系了! >>>   

:螞蟻JAVA後端面試題及答案之二面

開發十年,就只剩下這套架構體系了! >>>