摘要:的長度為什么是的冪次方多線程并發相關問題必問創建線程的種方式。什么是線程安全。盡量少通過電話面試,效果不好。通過面試官可以大概判斷這家公司的情況。
最近3個月一口氣面了十幾家公司的Java開發崗,大大小小的面試筆試加起來快20場,收獲很多。本人畢業快2年了,畢業時在學校所在的2線省會城市找了家開發公司做java的開發,前前后后做了1年半,感覺公司對技術沒有啥追求,做的項目翻來覆去就是SSM那些東西,左思右想辭了職,當了北漂,把自己包裝成2年工作經驗開始了苦逼的求職之路。
之所以面了這么多公司,是因為剛開始面試時發現自己掌握的東西與這邊流行的技術有些代差,所以一邊面試一邊總結,3個月也學到了很多,至少將一些基礎的東西加深了不少,所以后面有了底氣去面試一些大公司。感覺這邊面試時問的東西明顯和原來所在的城市不一樣,所以總結了一下給有需要的朋友參考吧。
一 面試到底在問些什么東西?首先你要明確的是面試官所問的內容一定和你簡歷所寫的東西是緊密聯系的,一般你沒有寫在簡歷上的技能,面試管很少會去提問。
面試大體上包括下面幾方面知識類型:
Java基礎、多線程、IO與NIO、虛擬機、設計模式
數據結構與算法(要有手寫算法的能力)
計算機網絡(TCP三次握手和四次揮手)
數據通信(RESTful、RPC、消息隊列)
操作系統(Linux的基本命令以及使用)
主流框架(Spring底層原理與源碼問的很多)
數據存儲(最常見的是MySQL、Redis)
分布式
除了這些東西還有什么其他問題:
實際場景題
生活方面的問題
性格/其他方面的問題
二 面試流程自我介紹;
問Java基礎知識;
對你寫在簡歷上的項目進行大量提問;
情景問題,例如:你的一個功能上了生產環境后,服務器壓力驟增,該怎么排查;
你有什么想問面試官的
三 面試常問的知識點 1)集合相關問題(必問)HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實現。
HashMap和Hashtable的區別。
ArrayList、LinkedList、Vector的區別。
HashMap和ConcurrentHashMap的區別。
HashMap和LinkedHashMap的區別。
HashMap是線程安全的嗎。
ConcurrentHashMap是怎么實現線程安全的。
HashMap 的長度為什么是2的冪次方
2)多線程并發相關問題(必問)創建線程的3種方式。
什么是線程安全。
Runnable接口和Callable接口的區別。
wait方法和sleep方法的區別。
synchronized、Lock、ReentrantLock、ReadWriteLock。
介紹下CAS(無鎖技術)。
volatile關鍵字的作用和原理。
什么是ThreadLocal。
創建線程池的4種方式。
ThreadPoolExecutor的內部工作原理。
分布式環境下,怎么保證線程安全。
3)JVM相關問題介紹下垃圾收集機制(在什么時候,對什么,做了什么)。
垃圾收集有哪些算法,各自的特點。
類加載的過程。
雙親委派模型。
有哪些類加載器。
能不能自己寫一個類叫java.lang.String。
4)設計模式相關問題(必問)先問你熟悉哪些設計模式,然后再具體問你某個設計模式具體實現和相關擴展問題。
5)數據庫相關問題,針對MySQL(必問)給題目讓你手寫SQL。
有沒有SQL優化經驗。
MySQL索引的數據結構。
SQL怎么進行優化。
SQL關鍵字的執行順序。
有哪幾種索引。
什么時候該(不該)建索引。
Explain包含哪些列。
6)框架相關問題Hibernate和Mybatis的區別。
Spring MVC和Struts2的區別。
Spring用了哪些設計模式。
Spring中AOP主要用來做什么。
Spring注入bean的方式。
什么是IOC,什么是依賴注入。
Spring是單例還是多例,怎么修改。
Spring事務隔離級別和傳播性。
介紹下Mybatis/Hibernate的緩存機制。
Mybatis的mapper文件中#和$的區別。
Mybatis的mapper文件中resultType和resultMap的區別。
7)其他遇到問題介紹下棧和隊列。
IO和NIO的區別。
接口和抽象類的區別。
int和Integer的自動拆箱/裝箱相關問題。
常量池相關問題。
==和equals的區別。
什么是JDK?什么是JRE?什么是JVM?三者之間的聯系與區別
Java和C++的區別
重載和重寫的區別。
String和StringBuilder、StringBuffer的區別。
靜態變量、實例變量、局部變量線程安全嗎,為什么。
try、catch、finally都有return語句時執行哪個。
介紹下B樹、二叉樹。
分布式鎖的實現。
分布式session存儲解決方案。
常用的linux命令。
四 一些經驗分享先投一些普通公司,等面出了心得再去投理想的公司。
不熟悉的技術不要主動提。
對于那種實習期6個月還打8折的公司,除非你沒有其他選擇了,否則不要去。
另外,小公司喜歡在薪水上壓你,開的時候適當提高。
不要去參加招聘會,純粹是浪費時間。
把面試當作一次技術的交流,不要太在意是否能被錄取。
公司一般面完就決定是否錄取了,讓你回去等消息這種情況一般沒戲,無論你自己覺得面的有多好。
盡量少通過電話面試,效果不好。
在面試的日子里,要保持每天學習,無論是學習新東西還是復習舊東西。
拿到offer了,問問自己這個公司讓自己100%滿意了嗎,如果不是,請繼續努力找更好的。
通過面試官可以大概判斷這家公司的情況。
拉勾投的簡歷很多會被篩掉,但是拉勾還是面試機會的最主要來源。
理想的公司可以多投幾次,我有好幾次都是第一次投被篩掉,多投幾次就過的經驗。
問到自己有深入研究過的知識,抓住機會好好表現,不要輕易放過。
如果你想成為一名優秀的java架構師,如果你想成為一名優秀的java架構師,想學習Java高階技術基礎、框架技術的源碼級分析、linux、SpringBoot、SpringCloud、阿里微服務框架Dubbo、Docker構建微服務或者在工作中遇到瓶頸,想跳槽加薪,面試不過, 碰到難題等等一系列問題,可以加我的架構師群:272305701,這里有最專業的人為你排憂解難,有最新的學習資源免費為你共享。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76833.html
摘要:不久前,在團隊內部和大家做了一次分享,內容就是這次要講的用認知和人性來提升自己的技術水平,大家反響不錯,所以這次整理一下也分享給大家。 不久前,在團隊內部和大家做了一次分享,內容就是這次要講的用認知和人性來提升自己的技術水平,大家反響不錯,所以這次整理一下也分享給大家。最初我是想用借優秀的產品經理思維來做最棒程序員的這個標題,但想想還是要有同理心,技術同學平時和產品同學已經是相愛相殺了...
摘要:不久前,在團隊內部和大家做了一次分享,內容就是這次要講的用認知和人性來提升自己的技術水平,大家反響不錯,所以這次整理一下也分享給大家。 不久前,在團隊內部和大家做了一次分享,內容就是這次要講的用認知和人性來提升自己的技術水平,大家反響不錯,所以這次整理一下也分享給大家。最初我是想用借優秀的產品經理思維來做最棒程序員的這個標題,但想想還是要有同理心,技術同學平時和產品同學已經是相愛相殺了...
摘要:時光飛逝,歲月如梭,我從前端開發崗位轉入測試崗位已經三年了,這期間從迷茫到熟悉,到強化,到熟練,到總結,感受還是很深的三年前的某一個晚上,我正準備下班回家,我們的項目經理把我叫到辦公司和我談話,談了很多,具體說什么不記得 ...
摘要:刷面試題偶然看到這類問題中含有時的執行順序,覺得挺有意思于是小小的研究了一下,希望經過我添油加醋天馬行空之后,能給你帶來一定的幫助原題里有一個語句,那么緊跟在這個后的里的代碼會不會被執行什么時候被執行在前還是后乍一看題目很簡單嘛,規范都說了 刷java面試題偶然看到這類問題(try/finally中含有return時的執行順序),覺得挺有意思于是小小的研究了一下,希望經過我添油加醋天馬...
摘要:十年,轉瞬即逝,人生進入下半場。沒想到,公司在短短年時間里就上市了,作為頭部員工,他獲得了不菲的回報。他其實挺喜歡寫代碼的,但程序員工資還是低了點。就像養狗一樣,要有規矩。去年為了還貸款,還變賣了一套。 風險預警。本文屬于毒雞湯系列,經過文學渲染,讀后或產生焦慮,有相關抵制者慎入。 十年,轉瞬即逝,人生進入下半場。眾生皆苦,萬相本無。且看風云變幻,慢品苦辣酸甜。小姐姐味道微信公眾號首發。 ...
閱讀 3527·2021-10-09 09:41
閱讀 2733·2021-10-08 10:18
閱讀 2164·2021-09-10 10:51
閱讀 2667·2021-09-10 10:50
閱讀 763·2021-09-09 09:33
閱讀 3369·2021-09-06 15:14
閱讀 3002·2019-08-30 11:06
閱讀 3230·2019-08-29 14:04