java面試情境(java筆試面試)

  • 1、java兩年經驗面試都會問什麼問題
  • 2、北大青鳥java培訓:女生Java工作面試的時候要注意什麼?
  • 3、通常java的面試都會問些什麼?
  • 4、潤和java開發實習面試問什麼
  • 5、一般java面試都會問些什麼問題?

個人介紹:

首先介紹下我面試時的自身條件情況,我把自己的情況分為優勢和劣勢來說可能更有利於你們比較自身情況。

劣勢:

1.15年7月畢業後開始到上海工作,面試的時候是17年3月到4月,一年多的經驗,勉強算兩年經驗。分析:一年多經驗我認為是比較尷尬的,處於一個不上不下的位置,很多公司比較喜歡招三年經驗的,或者直接招應屆生來培養。

2.畢業於一個非985/211,勉強上一本的高校。分析:這個相對影響較小,因為有工作經驗後,公司對學校的要求就沒那麼高了,只要是本科就基本沒問題,但是還是有個別叼毛公司只要985/211。

3.前一家公司是傳統電信行業,加入項目組時,項目已經上線有段時間了,我們的任務就是有需求就開發,有bug就優化,其他時間就聊騷,各干各的,工作一年多跟在養老一樣,用一句話說就是編程5分鐘,扯淡2小時,項目經驗嚴重不足,沒開發過很難的需求。分析:這一點是最傷的,公司招有經驗的就想看你都幹了些什麼牛批的東西,結果你告訴面試官我寫的需求都是垃圾。

優勢:

1.大學時拿過比較多的獎,每年都是校級優秀學生,畢業時是市級優秀畢業生,拿過省級ACM二等獎等。分析:大學的榮譽對一個有工作經驗的人來說,公司不一定會看重,但是可能會對面試官產生微妙的影響,特別是ACM獎,我碰到過有的面試官也是搞過ACM的,有共同的話題聊起來總是比較容易的,但是也要注意不能把這一欄篇幅寫的過於多,只能當作點綴用,我當時是放在簡歷最後一欄,簡要的寫了最主要的幾個獎。

2.良好的溝通交流能力。分析:這個能力不會是關鍵性的,但是可以加分。

3.較強的學習能力和邏輯思維能力。分析:有些公司和面試官還是比較看重一個人的學習能力的,經驗代表着你現在在什麼級別,而學習能力則代表着你將來能到達什麼級別。

學習過程:

看了我的優劣勢介紹,你會發現我的優勢相對於我的劣勢來說,簡直不值一提。我自己對此也有清晰的認識,因此從過完年之後,我就開始抓緊空閑時間學習。學習的過程如下:

1.看面試題

正常人第一步肯定都會看面試題,我也不例外,在看的過程中,我發現有些文章寫的不錯,對我幫助不小值得推薦,如下:

Java面試題全集(上)很多基礎的東西,建議先看。

各大公司Java後端開發面試題總結

面試心得與總結—BAT、網易、蘑菇街

關於Java面試,你應該準備這些知識點

2.深入學習

在看面試題的過程,你會遇到一些自己沒接觸過的或者以前沒深入學習過的知識,例如最常問的HashMap內部實現原理,這就促使你得開始去看jdk的源碼或者是學習一些新的東西。看源碼是很重要的一步,起步很難,但是會讓你收益良多,看源碼的過程如果碰到無法理解的地方,可以百度看下別人的理解。我學習源碼的過程中,看過幾個人的關於源碼的文章寫的很不錯,如下:

五月的倉頡

佔小狼

zhangshixi的Core java系列

3.熟悉項目

找出自己工作以來開發過的最叼的功能,將整個功能的流程和涉及的東西吃透。項目是面試中必問的環節,一般是以一個功能點為基礎展開問,因此你必須對這個功能有很深的認識,不能有模糊的地方。如果有時間,能把涉及到的知識點也搞懂最好。

4.做面試題

有不少公司是有面試的,如果你沒有準備過,很容易在各種小地方犯錯,建議去一些面試題網站多做些題目,我自己是用的牛客網。

5.學習記錄

把自己每天的學習時間和學習內容記錄下來,可以讓自己更有動力的學習,學習是一個枯燥的過程,你必須讓自己時刻保持有動力。

投簡歷、約面試環節

1.在哪些網站投?

拉勾網、BOSS直聘、獵聘網。

2.是否該海投?

投簡歷分為兩個情況。

1)沒有社招面試經驗:建議採取海投的方式,只要職位要求跟自己比較匹配都可以投,累計面試經驗。這個環節可以把投簡歷的網站增加兩家:智聯和無憂。

2)自認為社招面試經驗已經足夠:投那些職位匹配、公司滿意的職位。公司評價可以去看準網、百度、知乎等查詢。

3.一天約幾家面試合適?

最理想的情況為2家面試,上午一般在10點左右,下午一般在2點左右。建議把理想的公司放下午,因為下午的時間比較充足,可以讓公司更充分的了解你。我開始面的時候,每次都是上午面的不好,下午面的不錯。

4.投簡歷經常沒下文?

我當初也沒想到簡歷篩選這關有這麼難,可能是我的簡歷確實亮點不多,再者HR很多都不是行內人,因此他們看得最直接的就是你上家的公司和你畢業的學校,如果你不是從牛逼的公司/學校出來,可能會碰到和我一樣的情況,應對的辦法就是多投。

5.是否該裸辭?

我一開始是邊上班邊投,然後利用調休時間,或者請假去面試。後來,面試機會越來越多,請假太頻繁了,自己都不好意思了,並且自己也已經有足夠的信心,這個時候我選擇了裸辭。裸辭還有一個原因是,在面試過程中你會發現,有的公司要人要的緊,如果你的辭職流程過長可能會導致你錯過這個公司。

6.注意事項

1)面試前一天把路線和時間算好,最好別遲到。

2)背個書包,帶好簡歷、充電寶、紙巾、雨傘。

面試環節

1.筆試常見的問題?

面試常見的問題上面給的面試題鏈接基本都有。我只提幾點:1)寫SQL:寫SQL很常考察group by、內連接和外連接。2)手寫代碼:手寫代碼一般考單例、排序、線程、消費者生產者。我建議排序算法除了冒泡排序,最好還能手寫一種其他的排序代碼。試想:如果一般面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,肯定能給面試官留下不錯的印象。

2.面試流程?

1)讓你自我介紹

2)問Java基礎知識

3)問項目

4)情景問題,例如:你的一個功能上了生產環境後,服務器壓力驟增,該怎麼排查。

5)你有什麼想問面試官的

3.面試常問的知識點?

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

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

HashMap和Hashtable的區別。

ArrayList、LinkedList、Vector的區別。

HashMap和ConcurrentHashMap的區別。

HashMap和LinkedHashMap的區別。

HashMap是線程安全的嗎。

ConcurrentHashMap是怎麼實現線程安全的。

2)線程相關問題(必問):

創建線程的3種方式。

什麼是線程安全。

Runnable接口和Callable接口的區別。

wait方法和sleep方法的區別。

synchronized、Lock、ReentrantLock、ReadWriteLock。

介紹下CAS(無鎖技術)。

什麼是ThreadLocal。

創建線程池的4種方式。

ThreadPoolExecutor的內部工作原理。

分佈式環境下,怎麼保證線程安全。

3)JVM相關問題:

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

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

類加載的過程。

雙親委派模型。

有哪些類加載器。

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

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

先問你熟悉哪些設計模式,然後再具體問你某個設計模式具體實現和相關擴展問題。

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

給題目讓你手寫SQL。

有沒有SQL優化經驗。

Mysql索引的數據結構。

SQL怎麼進行優化。

SQL關鍵字的執行順序。

有哪幾種索引。

什麼時候該(不該)建索引。

Explain包含哪些列。

Explain的Type列有哪幾種值。

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的區別。

接口和抽象類的區別。

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

常量池相關問題。

==和equals的區別。

重載和重寫的區別。

String和StringBuilder、StringBuffer的區別。

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

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

介紹下B樹、二叉樹。

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

xml全稱是什麼。

分佈式鎖的實現。

分佈式session存儲解決方案。

常用的linux命令。

一些經驗:

1.先投一些普通公司,等面出了心得再去投理想的公司。

2.不熟悉的技術不要主動提。

3.對於那種實習期6個月還打8折的公司,除非你沒有其他選擇了,否則不要去。

4.小公司喜歡在薪水上壓你,開的時候適當提高。

5.不要去參加招聘會,純粹是浪費時間。

6.把面試當作一次技術的交流,不要太在意是否能被錄取。

7.公司一般面完就決定是否錄取了,讓你回去等消息這種情況一般沒戲,無論你自己覺得面的有多好。

8.盡量少通過電話面試,效果不好。

9.在面試的日子裏,要保持每天學習,無論是學習新東西還是複習舊東西。

10.拿到offer了,問問自己這個公司讓自己100%滿意了嗎,如果不是,請繼續努力找更好的。

11.通過面試官可以大概判斷這家公司的情況。

12.拉勾投的簡歷很多會被篩掉,但是拉勾還是面試機會的最主要來源。

13.理想的公司可以多投幾次,我有好幾次都是第一次投被篩掉,多投幾次就過的經驗。

14.問到自己有深入研究過的知識,抓住機會好好表現,不要輕易放過。

我們知道當下學Java的,還是男生比較多,如果Java面試中出現一兩個女生,那麼勢必是很引起Java面試官關注的,這時候Java面試官難免會對女生多一份關注,也有一些經常性的問題想問女生,那麼女生Java面試常見問題有哪些?跟IT培訓一起來關注下。

女生Java面試常見問題有哪些?1.Java男生學的多,你是女生為什麼選擇學Java呢?這時候你的回答應該強調你很喜歡Java,你喜歡跟計算機打交道,興趣是你選擇學Java的主要理由,你相信Java不止只有男生學得好,女生也可以,並且通過你自身的努力,你已經做到了,相應的Java技能你全部過關,你能勝任Java工作安排。

2.Java工作需要經常性的加班,你能做到嗎?你的回答應該是既然選擇了這一行,早已做好了加班的準備,在工作上以完成工作任務為前提,不分男女,我也知道Java行業壓力也很大,但是我頂着女生學不好Java的壓力,把Java學好了,就證明我不服輸,能吃苦,願意服從公司的一切工作安排。

3.你跟男生比,優勢在哪呢?這個時候就耐心的列舉下自己的優點,比如我細心、耐心、有毅力,喜歡高難度智力挑戰、思維也跟得上、不嬌氣、能吃苦,遇到問題沉着冷靜,可以理性的看待並處理工作上的事情,只要有發揮的平台,那麼我一定會成為此平台上的螺絲釘。

首先,你先向面試官自我介紹一下。

我:「我做過兩個項目。寫過幾篇論文和專利。還參加過XX大數據競賽。同時,出於個人興趣,我還閱讀了一下xxxx的少部分源碼,理解了一下xxxx的核心思想,實現了一個功能非常簡單,並且還不完善的xxxx。」

有可能剛開始,還是討論比賽和分佈式。後面就會問你一道大量文本處理的問題,例如「找出一個大文本中的Top3的字符串」,沒有做過這方面的研究。

Java問題:「講一下JVM的結構。」

網絡問題:「TCP/IP的三次握手、四次揮手」

問關於JavaWEB的問題。

或者是「淘寶用戶的數據(購物車……)存在那裡?怎麼滿足高並發?」

問一下你的算法問題「輸入兩個整型數組,返回一個數組:兩個數組中的公共值。」

「考一下你對遞歸的掌握。寫一個函數,輸入int型,返回整數逆序後的字符串。如:輸入123,返回「321」。 要求必須用遞歸,不能用全局變量,輸入必須是一個參數,必須返回字符串。」

問完之後可能會說「就當做我們在聊天,討論技術問題。講一下你的相關經歷吧。「

這時候你就可以很輕鬆地在聊比賽相關的事情,以及自己對數據的理解。

總結:

對於,基礎比較紮實的人,那就讓面試官隨便問吧。不過,我覺得任何人都有可能別問死的,因為他們想通過這種方式看看你的掌握深度。

如果只是基礎知識一般:數據結構、排序算法和遞歸,能寫出來;操作系統,懂一些基本理論;計算機網絡,懂一些基本概念和理論。就必須要充分發揮自己的競賽、項目、論文和專利的優勢了。

面試過程中,有一點很重要,把握面試官的興趣點,並將面試官帶入自己的優勢。當然,如果自己的優勢不是面試官非常了解的領域,但是面試官又比較感興趣,那就更好了。最好能把面試官帶入你的話題中,讓他對你產生興趣,然後,大部分時間就都可以花在在討論這些內容了。

可以肯定的說,JAVA目前的就業還是很緊缺。總體來看,就業崗位有的是,要就業的JAVA人才也很多,但是目前大多數求職者的水平與就業崗位的要求有一定的差距,所以目前的JAVA求職者很有必要提升自己。我和一群java的愛好者創建的一個免費學習的qun,開頭的三個數字是四二六,中間的三位數就是三九六,最後面的三位數就是二八四。你可以與java愛好者共同學習和交流經驗。無論是從技術上,還是從實際工作的執行上,都要提升,這樣才能從眾多的從業人員中脫穎而出。成為領高薪資,有高職位的人上人。

如果你還沒有足夠的勇氣去面試,覺得自己的能力還達不到企業的高水平要求,可以來一起交流一下。

總而言之,把自己的優勢發揮到極致。祝你面試成功!

關於Java面試,一般應該會問到下面這些問題。

[編程工具]

你常用的編程工具有哪些?這個問題主要是考察你工作的專業性,你是不是具有大型項目的工作經驗.

一般好的,Java的編程工具,你比如說,Eclipse, netbeans, Intelli J 等等。

[局部變量和類變量的區別]

這個問題主要是考察選手對於scope的概念。回答這個問題,

就是局部變量是在方法裏面定義的。這個變量只能在方法內部才可以被調用。

類變量呢,可以在類的內部,任何地方都可以被調用。類變量還可以添加一些修飾符,限制或者允許外部類調用。

[什麼是繼承? ]

繼承就是說子類可以享有父類的一些定義。

[什麼是封裝?]

封裝是通過類定義的方式,把一些方法和數據包裹起來。

[什麼是多態?]

多態是指一個對象可以通過具體的引用類型來調用父類和子類的一些方法。

這三個問題主要是考察選手對於面向對象編程的概念。

[ Overriding 和 overloading的區別]

這兩種方法在編程中會經常用到。被問的可能性非常大。

Overriding主要用在子類要使用父類的一些方法定義。方法名必須相同,方法參數必須相同, 返回值類型必須相同。使用這種方法, 子類既可以調用父類的方法也可以添加自己個性化的實現。

Overloading主要用在方法這一層次上。具有同樣的方法名,不同的參數類型, 可能會返回不同的數據類型。

[接口和抽象的區別?]

這個問題在面向對象編程裏面也是經常被問到的一個問題。

在Java中,無法實現多類繼承,所以就引入了接口的概念。接口中,主要是類的聲明,沒有實現內容。

抽象類中至少要含有一個抽象方法。這個抽象方法只有聲明沒有實現。抽象類的非抽象方法,需要有實現內容。

[說一下訪問修飾符]

這也是面向對象編程裏面非常重要的一個概念。

private, protected, public。沒有修飾符,就是default。

private只能在本類內部訪問。

protected在本類和子類中訪問。

public在其他類中都可訪問。

default在包內可訪問。

[數組和數組列表的區別?]

[String, StringBuilder, StringBuffer的區別? ]

string不可修改。

string builder可修改,線程不安全的。

string buffer可修改,線程安全的。

[HashMap, HashTable 的區別? ]

都是字典類型。

hash map 是線程不安全的。

hash table 是線程安全的。

[Set 相關的問題]

Set裏面的數據是唯一的。

sorted set是可排序的。

[Queue 相關的問題]

priority queue先進先出。

[Map相關的問題]

有hash map, linked hash map, tree map.

1、請你自我介紹一下你自己?

回答提示:一般人回答這個問題過於平常,只說姓名、年齡、愛好、工作經驗,這些在簡歷上都有。其實,企業最希望知道的是求職者能否勝任工作,包括:最強的技能、最深入研究的知識領域、個性中最積極的部分、做過的最成功的事,主要的成就等,這些都可以和學習無關,也可以和學習有關,但要突出積極的個性和做事的能力,說得合情合理企業才會相信。

企業很重視一個人的禮貌,求職者要尊重考官,在回答每個問題之後都說一句「謝謝」,企業喜歡有禮貌的求職者。

2、你覺得你個性上最大的優點是什麼?

回答提示:沉着冷靜、條理清楚、立場堅定、頑強向上、樂於助人和關心他人、適應能力和幽默感、樂觀和友愛。我在北大青鳥經過一到兩年的培訓及項目實戰,加上實習工作,使我適合這份工作。

3、說說你最大的缺點?

回答提示:這個問題企業問的概率很大,通常不希望聽到直接回答的缺點是什麼等,如果求職者說自己小心眼、愛忌妒人、非常懶、脾氣大、工作效率低,企業肯定不會錄用你。絕對不要自作聰明地回答「我最大的缺點是過於追求完美」,有的人以為這樣回答會顯得自己比較出色,但事實上,他已經岌岌可危了。

企業喜歡求職者從自己的優點說起,中間加一些小缺點,最後再把問題轉回到優點上,突出優點的部分,企業喜歡聰明的求職者。

4、你對加班的看法?

回答提示:實際上好多公司問這個問題,並不證明一定要加班,只是想測試你是否願意為公司奉獻。

回答樣本:如果是工作需要我會義不容辭加班,我現在單身,沒有任何家庭負擔,可以全身心的投入工作。但同時,我也會提高工作效率,減少不必要的加班。

5、你對薪資的要求?

回答提示:如果你對薪酬的要求太低,那顯然貶低自己的能力;如果你對薪酬的要求太高,那又會顯得你分量過重,公司受用不起。

一些僱主通常都事先對求聘的職位定下開支預算,因而他們第一次提出的價錢往往是他們所能給予的最高價錢,他們問你只不過想證實一下這筆錢是否足以引起你對該工作的興趣。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127100.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論