{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

兩年的java工作經驗,面試時會被問到些什么問題?

ScliangScliang 回答0 收藏1
收藏問題

10條回答

neu

neu

回答于2022-06-28 14:10

java程序都會被問到的面試問題,月薪20k+

多線程相關問題

  1. 實現多線程有哪些方式?有什么異同?
  2. 線程的生命周期
  3. 線程池常用的有哪些?
  4. 線程池的工作原理
  5. 如何啟動和銷毀線程
  6. 什么是線程死鎖
  7. 悲觀鎖和樂觀鎖,公平鎖和非公平鎖

Java集合原理

  1. 集合的類圖
  2. 集合的數據結構實現
  3. 集合的效率
  4. 集合的遍歷

JVM虛擬機

  1. java的內存模型是什么樣的
  2. jvm內存分為哪些區域
  3. 內存溢出有些類型,如何解決
  4. 垃圾回收器有哪些
  5. 垃圾回收算法有哪些
  6. jvm常用的參數
  7. 如何定位分析jvm線上問題
  8. 有哪些分析jvm的工具

數據庫

  1. 索引的分類
  2. 索引的優化
  3. 索引的原理
  4. 事物的類型
  5. 聯合查詢,子查詢效率問題
  6. 如何實現讀寫分離

框架類

  1. spring(aop,依賴注入)
  2. springmvc(原理)
  3. dubbo(原理,支持哪些協議)
  4. mybites(原理,常用的配置)

算法類

  1. 常見排序原理和實現(8種)
  2. 求二叉樹的高度
  3. 二叉樹的遍歷
  4. 平衡二叉樹和紅黑樹
  5. b樹,b+樹
  6. 遞歸和分治思想
  7. 貪婪算法

linux服務器

  1. 你常用的linux命令有哪些
  2. linux權限系統
  3. 如何寫tomcat重啟腳本
  4. 如何用命令搜索日志,分析日志

web服務器

  1. nginx配置反向代理
  2. nginx配置負載均衡(哪幾種)
  3. apache配置反向代理
  4. tomcat參數調優

項目

  1. 你認為做的最有成就的一個項目
  2. 你在這個項目中負責什么內容
  3. 遇到了哪些難點,如何解決的
  4. 你認為這個項目還有哪些改進的地方,為什么這么做
那如果有感興趣老友們想要獲取完整面試題的呢...可以去我的主頁看看我的面試文章,也可以私信我【面試】獲取,很開心能分享給大家!

我的很多文章都有分享各種架構資料,相信對于已經工作和遇到技術瓶頸或者寫博客碼友,在我的主頁一定都有你需要的內容。

評論0 贊同0
  •  加載中...
mingde

mingde

回答于2022-06-28 14:10

兩年的java經驗, 找工作時候簡歷就要實事求是, 匹配一些基礎的java研發崗位去面試, 如果平時內功修煉的到位, 拿下一個offer應該不成問題。

1、會問你科班基礎: 操作系統知識, 數據庫原理、數據結構、以及軟件工程相關的測試, 流程之類知識。

2、會問你java涉及到的基礎知識: OO基礎, 常見類庫用法, 常見類的區別, 優點和缺點。

3、會問你一般問題的解決方法: 如登錄流程, 數據庫不重名的方法, 文件讀取或者處理的方法。這些都是平時應該積累的。

4、會問你一些算法的定義和區別, 可以參考一下:hihocoder.com/problemset

5、闡述問題的時候,盡量不要教科書式, 白話形式。

6、數據庫方面:關系數據庫各個范式的目的, 主鍵,索引,規則,PS,triger這些也要了解下用法。

7、能用常見BS框架做過小東西:ssh,ssi等, 能說出mvc,切面等內容。

8、記住: 不懂千萬不要裝懂亂說,態度要誠懇, 面試官看你求知欲強, 態度誠懇,也就喜歡和你聊下去, 就會有好印象。

9、面試過程不要有壓力, 也不要為不能回答問題就擔憂, 多面試總結也是提升自己的一種手段。

評論0 贊同0
  •  加載中...
tomener

tomener

回答于2022-06-28 14:10

一般兩年的工作經驗,技術上不會了解得很深,有一些項目經驗,面試官更看重的應該是你的java基礎理論的理解和項目經歷的理解。

一般兩年的工作經驗,java技術上的面試可能從以下方面可以去復習:

1、java基礎知識(包括java集合、java異常、IO與NIO,同步與異步,阻塞與非阻塞)

2、spring

3、mybaits

4、mysql(特別是索引相關的)

5、dubbo

6、jvm以及垃圾回收機制

7、簡單的排序算法(冒泡排序、快速排序、選擇排序、插入排序等等)以及他們的時間復雜度

高級一點的東西,可能就涉及到分布式和消息隊列,多線程以及鎖處理的高并發方面的知識,但是以上是比較基本的,一般都會問到,所以面試前要有一個好好的準備過程。

然后項目經驗上,對自己做過的項目,一定要有一個項目,你非常熟悉整個過程,了解整個系統的運轉,這個也是面試官比價看重的一塊,畢竟兩年的工作經驗,項目經驗肯定要有一定的積累的,雖然我們技術上由于工作經驗的原因不能做的很深,但是項目,我們是經歷過幾個月甚至是一兩年的,你得有自己的理解,最好,對你們系統能夠提出改進的意見或者建議那是最好不過的了,這樣肯定是很大的加分項,面試官覺得會對你刮目相看的。
另外,在分布式和消息隊列,多線程以及鎖處理的高并發這方面需要了解更深的同學,可以關注一下我的微信公眾號“我的個人記事”,個人有視頻資料可以奉獻,并且后續會繼續更新。

評論0 贊同0
  •  加載中...
hatlonely

hatlonely

回答于2022-06-28 14:10

兩年的java經驗, 找工作時候簡歷就要實事求是, 匹配一些基礎的java研發崗位去面試, 如果平時內功修煉的到位, 拿下一個offer應該不成問題。

1、會問你科班基礎: 操作系統知識, 數據庫原理、數據結構、以及軟件工程相關的測試, 流程之類知識。

2、會問你java涉及到的基礎知識: Java基礎, 常見類庫用法, 常見類的區別, 優點和缺點。

3、會問你一般問題的解決方法: 如登錄流程, 數據庫不重名的方法, 文件讀取或者處理的方法。這些都是平時應該積累的。

4、會問你一些算法的定義和區別, 可以參考一下:hihocoder.com/problemset

5、闡述問題的時候,盡量不要教科書式, 白話形式。

6、數據庫方面:關系數據庫各個范式的目的, 主鍵,索引,規則,PS,triger這些也要了解下用法。

7、能用常見BS框架做過小東西:ssh,ssi等, 能說出mvc,切面等內容。

8、記住: 不懂千萬不要裝懂亂說,態度要誠懇, 面試官看你求知欲強, 態度誠懇,也就喜歡和你聊下去, 就會有好印象。

9、面試過程不要有壓力, 也不要為不能回答問題就擔憂, 多面試總結也是提升自己的一種手段。

2021年很多公司都在問黑紅樹,數據結構與算法一定要看哦~

尚硅谷Java大廠面試題第3季,跳槽必刷題目+必掃技術盲點(周陽主講)_嗶哩嗶哩_bilibili

https://www.bilibili.com/video/BV1Hy4y1B78T?

尚硅谷Java大廠面試題第2季,面試必刷,跳槽大廠神器_嗶哩嗶哩_bilibili

https://www.bilibili.com/video/BV18b411M7xz?

尚硅谷經典Java面試題第一季(java面試精講)_嗶哩嗶哩_bilibili

https://www.bilibili.com/video/BV1Eb411P7bP?

強烈推薦一個網站:

Java面試題-幫助你通過Java面試 (zwmst.com)

https://zwmst.com/


兩年 java 的面試過程中遇到了很多挑戰,也遇到了一些不談技術的公司,從上面的面試題可以看出,目前對于 java 的要求越來越高,水漲船高,畢竟這個行業的人數越來越多,而保持自己的競爭力的唯一方法就是找對方向,不斷學習,注意這里我提到的第一點是方向,然后才是學習。給自己制定一個職業規劃,按照這個路線往前走,我其實還在想分布式微服務這塊以后再深入學習,可是按照市場要求,現在已經刻不容緩了,一些技術架構比如:springcloud、duboo 都得保持學習,這樣才能有競爭力!作為一名兩年的 javaSir,你必須具備以下技能

閱讀源碼的能力,多用 Intelj idea 這個開發工具,而不是 eclipse。它是直接支持反編譯 class 文件的,多讀 jdk 源碼,吸收優秀的源碼并加以復用

做到能夠手寫常見的排序算法,比如快速排序和堆排序、冒泡排序、選擇排序、二分查找這些都是必須的

對 java 的框架有很深入的認識,現在基本流行的 ssm 框架很多人都會,可是知道一些原理的人就不多了,得不斷研究這些框架本身,它們都是經過無數次錘煉 出來的優秀框架

多用 redismongodb,傳統的關系型數據庫已經無法市場需求了,這些東西也是面試中的一部分,雖不是重點,但也是加分的選項

對于微服務和分布式,這個是有一定難度的,我在面試人人車的時候,一面很順利,二面被技術總監給 pass 了,問題就是分布式不是特別熟悉!要想進入好的互聯網公司,分布式和微服務是很必須的

評論0 贊同0
  •  加載中...
TesterHome

TesterHome

回答于2022-06-28 14:10


當我刷到這條脈脈的時候,想到當年老板面試我的時候,拿多線程問題虐我時,想想當時太難了。


悄悄給大家看幾道ucloud必問的面試題,測測能完美的回答幾道呢?

1. 有沒有一種一定能保證線程安全的代碼寫法?(偷偷告訴你,真的有!)

2. 多個線程如何保持A1B2C3等順序交替輸出?

3. synchronized volatile的CPU原語是如何實現的?

4. 無鎖、偏向鎖、輕量級鎖、重量級鎖有什么差別?

5. 如何正確的啟動和停止一個線程?

6. 線程和纖程的區別的是什么?為什么纖程比較輕量級?

7. ThreadLocal有沒有內存泄漏的問題?為什么?

8. 下列三種業務,應該如何使用線程池:

高并發、任務執行時間短

并發不高、任務執行時間長

并發高、業務執行時間長


網上搜羅一堆答案,各式各樣,唉!!!

如果你平時只有CRUD的經驗,不了解多線程與高并發,面對這樣面試題,大概率一頭霧水。

如果你真是這樣,要想走到架構師的級別,不啃下高并發這塊硬骨頭是非常難的。

那么“高并發”到底該如何學呢?

不用害怕,我們為你精心準備了高并發專題課,帶你將多線程的知識系統化,幫助你理解多線程在CPU層級的實現,以及這些實現如何一層一層的映射到那些上億用戶,千萬QPS,百萬TPS的系統。

怎么樣,是不是超級酷?當然如果你還學的不過癮的話,我們Java全棧課程也是相當充實的,還會你手把手進行大型互聯網電商項目實戰演練,讓你充分將每個知識點融入實際的操作中。

課程主理人是知名院校教學總監吳剛老師,擁有數十年IT行業教學經驗,曾任職大型互聯網公司首席架構師,主導過多個高并發項目,其電商項目曾在雙十一活動中承載過億的瀏覽量和成交量。他的專業素養與實戰經驗將為課程注入豐富的趣味和營養!

課呱呱,愛她(IT)就上課呱呱,IT小白變專家,課呱呱能幫你實現!

評論0 贊同0
  •  加載中...
Shihira

Shihira

回答于2022-06-28 14:10

理論上來說,兩年工作經驗的情況下,一般會問些基礎知識,常用的開發框架,是不是碰到過一些問題,如何解決的,在之前開發的項目中是什么角色和負責什么,數據庫的相關知識,這些一般都是從比較簡單的基礎問起,然后慢慢會提一些高級點的內容,如實作答就好,沒接觸過直接說就行了,沒必要編。當然,也會問一些高級的問題,比如分布式等等這樣的問題。這樣的問題主要是看平時是否接觸過,或者學習過。

一般都是考察基礎知識,常用的框架是否熟悉,看看是不是可以直接上手做開發。新知識新理念是看下有沒有學習的欲望和學習能力。

希望對你有幫助,謝謝。

評論0 贊同0
  •  加載中...
jubincn

jubincn

回答于2022-06-28 14:10

在上周,我密集面試了若干位Java后端的候選人,工作經驗在3到5年間。我的標準其實不復雜:第一能干活,第二Java基礎要好,第三最好熟悉些分布式框架。我相信其它公司招初級開發時,應該也照著這個標準來面的。

我也知道,不少候選人能力其實不差,但面試時沒準備或不會說,這樣的人可能在進團隊干活后確實能達到期望,但可能就無法通過面試,但面試官總是只根據面試情況來判斷。

但現實情況是,大多數人可能面試前沒準備,或準備方法不得當。要知道,我們平時干活更偏重于業務,不可能大量接觸到算法,數據結構,底層代碼這類面試必問的問題點,換句話說,面試準備點和平時工作要點匹配度很小。

作為面試官,我只能根據候選人的回答來決定面試結果。不過,與人方便自己方便,所以我在本文里,將通過一些常用的問題來介紹面試的準備技巧。大家在看后一定會感嘆:只要方法得當,準備面試第一不難,第二用的時間也不會太多。

別讓人感覺你只會山寨別人的代碼

框架是重點,但別讓人感覺你只會山寨別人的代碼!在面試前,我會閱讀簡歷以查看候選人在框架方面的項目經驗,在候選人的項目介紹的環節,我也會著重關注候選人最近的框架經驗,目前比較熱門的是SSM。

不過,一般工作在5年內的候選人,大多僅僅是能“山寨”別人的代碼,也就是說能在現有框架的基礎上,照著別人寫的流程,擴展出新的功能模塊。比如要寫個股票掛單的功能模塊,是會模仿現有的下單流程,然后從前端到后端再到數據庫,依樣畫葫蘆寫一遍,最多把功能相關的代碼點改掉。

其實我們每個人都這樣過來的,但在面試時,如果你僅僅表現出這樣的能力,就和大多數人的水平差不多了,在這點就沒法體現出你的優勢了

我們知道,如果單純使用SSM框架,大多數項目都會有痛點。比如數據庫性能差,或者業務模塊比較復雜,并發量比較高,用Spring MVC里的Controller無法滿足跳轉的需求。所以我一般還會主動問:你除了依照現有框架寫業務代碼時,還做了哪些改動?

我聽到的回答有:增加了Redis緩存,以避免頻繁調用一些不變的數據。或者,在MyBitas的xml里,select語句where條件有isnull,即這個值有就增加一個where條件,對此,會對任何一個where增加一個不帶isnull的查詢條件,以免該語句當傳入參數都是null時,做全表掃描。或者,干脆說,后端異步返回的數據量很大,時間很長,我在項目里就調大了異步返回的最大時間,或者對返回信息做了壓縮處理,以增加網絡傳輸性能。

對于這個問題,我不在乎聽到什么回答,我只關心回答符不符邏輯。一般只要答對,我就會給出“在框架層面有自己的體會,有一定的了解”,否則,我就只會給出“只能在項目經理帶領下編寫框架代碼,對框架本身了解不多”。

其實,在準備面試時,歸納框架里的要點并不難,我就不信所有人在做項目時一點積累也沒,只要你說出來,可以說,這方面你就碾壓了將近7成的競爭者。

單機版夠用?適當了解些分布式

別單純看單機版的框架,適當了解些分布式!此外,在描述項目里框架技術時,最好你再帶些分布式的技術。下面我列些大家可以準備的分布式技術。

1、反向代理方面,nginx的基本配置,比如如何通過lua語言設置規則,如何設置session粘滯。如果可以,再看些nginx的底層,比如協議,集群設置,失效轉移等。

2、遠程調用dubbo方面,可以看下dubbo和zookeeper整合的知識點,再深一步,了解下dubbo底層的傳輸協議和序列化方式。

3、消息隊列方面,可以看下kafka或任意一種組件的使用方式,簡單點可以看下配置,工作組的設置,再深入點,可以看下Kafka集群,持久化的方式,以及發送消息是用長連接還是短攔截。

以上僅僅是用3個組件舉例,大家還可以看下Redis緩存,日志框架,MyCAT分庫分表等。準備的方式有兩大類,第一是要會說怎么用,這比較簡單,能通過配置文件搭建成一個功能模塊即可,第二是可以適當讀些底層代碼,以此了解下協議,集群和失效轉移之類的高級知識點。

如果能在面試中侃侃而談分布式組件的底層,那么得到的評價就會比較好了,比如“深入了解框架底層”,或“框架經驗豐富”,這樣就算去面試架構師也行了,更何況是高級開發。

別就知道增刪改查,得了解性能優化

數據庫方面,別就知道增刪改查,得了解性能優化!在實際項目里,大多數程序員用到的可能僅僅是增刪改查,當我們用Mybatis時,這個情況更普遍。不過如果你面試時也這樣表現,估計你的能力就和其它競爭者差不多了。

這方面,你可以準備如下的技能:

1、SQL高級方面,比如group by, having,左連接,子查詢(帶in),行轉列等高級用法。

2、建表方面,你可以考慮下,你項目是用三范式還是反范式,理由是什么?

3、尤其是優化,你可以準備下如何通過執行計劃查看SQL語句改進點的方式,或者其它能改善SQL性能的方式(比如建索引等)。

4、如果你感覺有能力,還可以準備些MySQL集群,MyCAT分庫分表的技能。比如通過LVS+Keepalived實現MySQL負載均衡,MyCAT的配置方式。同樣,如果可以,也看些相關的底層代碼。

哪怕你在前三點表現一般,那么至少也能超越將近一般的候選人,尤其當你在SQL優化方面表現非常好,那么你在面試高級開發時,數據庫層面一定是達標的,如果你連第四點也回答非常好,那么恭喜你,你在數據庫方面的能力甚至達到了初級架構的級別。

圍繞數據結構和性能優化準備面試題

Java核心方面,圍繞數據結構和性能優化準備面試題!Java核心這塊,網上的面試題很多,不過在此之外,大家還應當著重關注集合(即數據結構)和多線程并發這兩塊,在此基礎上,大家可以準備些設計模式和虛擬機的說辭。

下面列些我一般會問的部分問題:

  • String a = "123"; String b = "123"; a==b的結果是什么?這包含了內存,String存儲方式等諸多知識點。
  • HashMap里的hashcode方法和equal方法什么時候需要重寫?如果不重寫會有什么后果?對此大家可以進一步了解HashMap(甚至ConcurrentHashMap)的底層實現。
  • ArrayList和LinkedList底層實現有什么差別?它們各自適用于哪些場合?對此大家也可以了解下相關底層代碼。
  • volatile關鍵字有什么作用?由此展開,大家可以了解下線程內存和堆內存的差別。
  • CompletableFuture,這個是JDK1.8里的新特性,通過它怎么實現多線程并發控制?
  • JVM里,new出來的對象是在哪個區?再深入一下,問下如何查看和優化JVM虛擬機內存。
  • Java的靜態代理和動態代理有什么差別?最好結合底層代碼來說。

通過上述的問題點,我其實不僅僅停留在“會用”級別,比如我不會問如何在ArrayList里放元素。大家可以看到,上述問題包含了“多線程并發”,“JVM優化”,“數據結構對象底層代碼”等細節,大家也可以舉一反三,通過看一些高級知識,多準備些其它類似面試題。

我們知道,目前Java開發是以Web框架為主,那么為什么還要問Java核心知識點呢?我這個是有切身體會的。

之前在我團隊里,我見過兩個人,一個是就會干活,具體表現是會用Java核心基本的API,而且也沒有深入了解的意愿(估計不知道該怎么深入了解),另一位平時專門會看些Java并發,虛擬機等的高級知識。過了半年以后,后者的能力快速升級到高級開發,由于對JAVA核心知識點了解很透徹,所以看一些分布式組件的底層實現沒什么大問題。而前者,一直在重復勞動,能力也只一直停留在“會干活”的層面。

而在現實的面試中,如果不熟悉Java核心知識點,估計升高級開發都難,更別說是面試架構師級別的崗位了

至少了解如何看日志排查問題

Linux方面,至少了解如何看日志排查問題!如果候選人能證明自己有“排查問題”和“解決問題”的能力,這絕對是個加分項,但怎么證明?

目前大多數的互聯網項目,都是部署在Linux上,也就是說,日志都是在Linux,下面歸納些實際的Linux操作。

1、能通過less命令打開文件,通過Shift+G到達文件底部,再通過?+關鍵字的方式來根據關鍵來搜索信息。

2、能通過grep的方式查關鍵字,具體用法是, grep 關鍵字 文件名,如果要兩次在結果里查找的話,就用grep 關鍵字1 文件名 | 關鍵字2 --color。最后--color是高亮關鍵字。

3、能通過vi來編輯文件。

4、能通過chmod來設置文件的權限。

當然,還有更多更實用的Linux命令,但在實際面試過程中,不少候選人連一條linux命令也不知道。還是這句話,你哪怕知道些很基本的,也比一般人強了。

通讀一段底層代碼,作為加分項

如何證明自己對一個知識點非常了解?莫過于能通過底層代碼來說明。我在和不少工作經驗在5年之內的程序員溝通時,不少人認為這很難?確實,如果要通過閱讀底層代碼了解分布式組件,那難度不小,但如果如下部分的底層代碼,并不難懂。

1、ArrayList,LinkedList的底層代碼里,包含著基于數組和鏈表的實現方式,如果大家能以此講清楚擴容,“通過枚舉器遍歷“等方式,絕對能證明自己。

2、HashMap直接對應著Hash表這個數據結構,在HashMap的底層代碼里,包含著hashcode的put,get等的操作,甚至在ConcurrentHashMap里,還包含著Lock的邏輯。我相信,如果大家在面試中,看看而言ConcurrentHashMap,再結合在紙上邊說邊畫,那一定能征服面試官。

3、可以看下靜態代理和動態代理的實現方式,再深入一下,可以看下Spring AOP里的實現代碼。

4、或許Spirng IOC和MVC的底層實現代碼比較難看懂,但大家可以說些關鍵的類,根據關鍵流程說下它們的實現方式。

其實準備的底層代碼未必要多,而且也不限于在哪個方面,比如集合里基于紅黑樹的TreeSet,基于NIO的開源框架,甚至分布式組件的Dubbo,都可以準備。而且準備時未必要背出所有的底層(事實上很難做到),你只要能結合一些重要的類和方法,講清楚思路即可(比如講清楚HashMap如何通過hashCode快速定位)。

那么在面試時,如何找到個好機會說出你準備好的上述底層代碼?在面試時,總會被問到集合,Spring MVC框架等相關知識點,你在回答時,順便說一句,“我還了解這塊的底層實現”,那么面試官一定會追問,那么你就可以說出來了。

不要小看這個對候選人的幫助,一旦你講了,只要意思到位,那么最少能得到個“肯積極專業“的評價,如果描述很清楚,那么評價就會升級到“熟悉Java核心技能(或Spring MVC),且基本功扎實”。要知道,面試中,很少有人能講清楚底層代碼,所以你拋出了這個話題,哪怕最后沒達到預期效果,面試官也不會由此對你降低評價。所以說,準備這塊絕對是“有百利而無一害”的掙錢買賣。

把上述技能嵌入到你做過的項目里

一切的一切,把上述技能嵌入到你做過的項目里!在面試過程中,我經常會聽到一些比較遺憾的回答,比如候選人對SQL優化技能講得頭頭是道,但最后得知,這是他平時自學時掌握的,并沒用在實際項目里。

當然這總比不說要好,所以我會寫下“在平時自學過SQL優化技能”,但如果在項目里實踐過,那么我就會寫下“有實際數據庫SQL優化的技能”。大家可以對比下兩者的差別,一個是偏重理論,一個是直接能干活了。其實,很多場景里,我就不信在實際項目里一定沒有實踐過SQL優化技能。

從這個案例中,我想告訴大家的是,你之前費了千辛萬苦(其實方法方向得到,也不用費太大精力)準備的很多技能和說辭,最后應該落實到你的實際項目里。

比如你有過在Linux日志里查詢關鍵字排查問題的經驗,在描述時你可以帶一句,在之前的項目里我就這樣干的。又如,你通過看底層代碼,了解了TreeSet和HashSet的差別以及它們的適用范圍,那么你就可以回想下你之前做的項目,是否有個場景僅僅適用于TreeSet?如果有,那么你就可以適當描述下項目的需求,然后說,通過讀底層代碼,我了解了兩者的差別,而且在這個實際需求里,我就用了TreeSet,而且我還專門做了對比性試驗,發現用TreeSet比HashSet要高xx個百分點。

請記得,“實踐經驗”一定比“理論經驗”值錢,而且大多數你知道的理論上的經驗,一定在你的項目里用過。所以,如果你僅僅讓面試官感覺你只有“理論經驗”,那就太虧了。

這里根據自身的實際經歷,整理了一份面試這些大廠的2020-2021 最新整理的 Java 面試題,希望能幫助到大家查漏補缺,攻克面試難關。

題庫非常全面,包括 Java 集合、JVM、多線程、Spring全家桶、Redis、Dubbo、Netty、Elasticsearch、ucloud巴巴等大廠面試題等。

部分面試題預覽內容如下:

關注「java錦囊」,回復「面試」獲取。

評論0 贊同0
  •  加載中...
UsherChen

UsherChen

回答于2022-06-28 14:10

正在動力節點學Java中..不過馬上也該刷面試題了,老師給我們解釋講解了許多,還聽有經驗的學長講了很多,大概都有這些:

1)集合相關問題(必問):

HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實現。

HashMap和Hashtable的區別。

ArrayList、LinkedList、Vector的區別。

HashMap和ConcurrentHashMap的區別。

HashMap和LinkedHashMap的區別。

2)多線程并發相關問題(必問):

創建線程的3種方式。

什么是線程安全。

Runnable接口和Callable接口的區別。

wait方法和sleep方法的區別。

synchronized、Lock、ReentrantLock、ReadWriteLock。

介紹下CAS(無鎖技術)。

3)JVM相關問題:

介紹下垃圾收集機制(在什么時候,對什么,做了什么)。

垃圾收集有哪些算法,各自的特點。

類加載的過程。

雙親委派模型。

有哪些類加載器。

能不能自己寫一個類叫java.lang.String。

4)設計模式相關問題(必問):

先問你熟悉哪些設計模式

然后再具體問你某個設計模式具體實現和相關擴展問題。

5)數據庫相關問題,針對Mysql(必問):

給題目讓你手寫SQL。

有沒有SQL優化經驗。

Mysql索引的數據結構。

SQL怎么進行優化。

SQL關鍵字的執行順序。

有哪幾種索引。

6)框架相關問題:

Hibernate和Mybatis的區別。

Spring MVC和Struts2的區別。

Spring用了哪些設計模式。

Spring中AOP主要用來做什么。

Spring注入bean的方式。

什么是IOC,什么是依賴注入。

Spring是單例還是多例,怎么修改。

Spring事務隔離級別和傳播性。

介紹下Mybatis/Hibernate的緩存機制。

Mybatis的mapper文件中#和$的區別。

Mybatis的mapper文件中resultType和resultMap的區別。

Mybatis中DAO層接口沒有寫實現類,Mapper中的方法和DAO接口方法是怎么綁定到一起的,其內部是怎么實現的。

7)可能會遇到問題:

介紹下棧和隊列。

IO和NIO的區別。

介紹下B樹、二叉樹。

接口和抽象類的區別。

int和Integer的自動拆箱/裝箱相關問題。

xml全稱是什么。

常量池相關問題。

==和equals的區別。

重載和重寫的區別。

String和StringBuilder、StringBuffer的區別。

靜態變量、實例變量、局部變量線程安全嗎,為什么。

常用的linux命令。

try、catch、finally都有return語句時執行哪個。

ajax的4個字母分別是什么意思。

分布式鎖的實現。

分布式session存儲解決方案。

評論0 贊同0
  •  加載中...
liuhh

liuhh

回答于2022-06-28 14:10

我自己是小白,不考java吃飯,但是也有在學,也看了一些前人的經驗之談,Java畢竟功能強大,所以崗位細分相對來講也比較多,看自己主要是從事哪一塊的吧,比方說是架構師的話肯定會問一些架構相關的問題,還有就是一些算法,排序啊之類的。

????????????????????????????????????????????????????????????????????????

我就是覺得很有意思,才接觸這塊的,也沒打算用這個找工作

評論0 贊同0
  •  加載中...
Render

Render

回答于2022-06-28 14:10

講點大眾的,你也知道的。

1、自我介紹

2、項目經驗、工作履歷

3、Java高級的內容,這點我不是很清楚了。

4、有沒有blog,github上有沒有代碼等等

祝樓主一切順利~~

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<