java工程師面試題,Java高級工程師面試題

本文目錄一覽:

面試java開發工程師一般會提什麼問題

首先都是問工作經歷,上一家公司的工作情況(應屆生會問些學校表現、畢業設計之類的)。然後問些技術問題,JAVA基礎的概念,線程、並發、網絡、文件操作、數據庫操作之類等等。學習java推薦選擇千鋒教育,千鋒教育擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。

java開發工程師的就業方向有:

1.Android開發

Android是世界上最大的智能手機操作系統。根據Strategyalytics的最新研究報告,2016年第三季度全球智能手機出貨量達到3.75億台。Android操作系統獲得了創紀錄的88%全球市場份額,擠壓了蘋果IOS等平台。Java是Android應用的主要開發語言。

2.web開發

Web開發語言很多,Java就是其中之一。Java在開發高訪問、高並發、集群的大型網站方面有很大的優勢,比如去哪兒網、美團等。

3.客戶端開發

Java客戶端開發主要針對政府、事業單位和大型企業,如醫療、學校、OA、郵箱、投票、財務、考試、物流、礦山等信息系統。然而,客戶端開發只是為了幫助自己企業的主營業務。

想要了解更多關於java的相關信息,推薦諮詢千鋒教育。千鋒教育成立教研學科中心,推出貼近企業需求的線下技能培訓課程。課程包含HTML5大前端培訓、JavaEE+分布式開發培訓、Python人工智能+數據分析培訓、全鏈路UI/UE設計培訓、雲計算培訓、全棧軟件測試培訓、大數據+人工智能培訓、智能物聯網+嵌入式培訓、Unity遊戲開發培訓、網絡安全培訓、區塊鏈培訓、影視剪輯包裝培訓、遊戲原畫培訓、全媒體運營培訓。

作為一個面試官,我會問初級java工程師哪些問題?

初級java工程師多數是剛畢業或者工作1,2年的新人。對於新人,面試中基礎問題會問道很多,因為先要考察這個人的基礎。

關於基礎類的題目,我在面試初級java工程師的時候一般會問下面兩大類問題,每類5個題目,這樣下來我就基本可以了解這位工程師的程度了。

java基礎類

面向對象基礎類

java基礎類

1.描述一下java的訪問修飾符,和它們之間的區別?

回答:如果可以回到出public,private,protected,就算是ok;回答出default的,加分。

2. int和Integer 區別?

回答:如果回答出Integer是int的包裝類,就算ok;回答出其他的基本類型和它們相應的包裝類,加分。

3.如何定義一個單精度浮點類型的變量?

回答:float 變量名=1.2f ;回答出不加最後的f為雙精度浮點類型,加分

4. equals和==的區別?

回答: equals是值比較(一般處理java開發都會這麼說,算是ok的)而==是引用比較(或者對象比較);回答equals是可以自定義的,加分

5.將一個數組作為參數傳遞到一個方法中,在方法中,數組內的元素值被改變了,那麼在方法外部,這個數組內的元素是否也被改編了?

回答:是,因為java方法中傳遞的是引用,就ok。如果回答中,將引用說明了自己的理解,加分。

面向對象基礎類

1.重載和重寫的區別?

回答:這個看個人理解,理解沒有什麼大的偏差就ok;回答出多態相關的,加分。

2.構造方法能不能重載?

回答:可以重載,ok;回答構造方法時不能繼承的,所以如果要調用指定父類構造器就必須重寫子類構造方法,加分。

3.抽象方法(abstract)是否可以被final、static、native修飾?

回答:都不可以,因為抽象方法是必須子類實現的,final方法時不可以被重寫的,static是父類必須實現的方法,native是本地語言實現的方法。回答出封裝和繼承相關的,加分

4.當父類引用指向子類對象的時候,子類重寫了父類方法和屬性,那麼當訪問屬性的時候,訪問是誰的屬性?調用方法時,調用的是誰的方法?

回答:訪問的是父類的屬性,調用的是子類的方法,ok;如果可以畫圖解釋的話,加分

5.抽象類和接口有什麼異同?

回答:一些類定義上的區別,ok;回答在應用過程中,如何根據業務定義接口,加很多分

最後,如果前面問題回答的不錯,會補充兩個編程習慣問題。

1.在你寫過的代碼中,你寫過超過2層的循環嗎,怎麼實現的?

回答:沒有,就算ok;如果回答有,聽一下實現,如果原因說不出來,扣分。

2.在你寫過的代碼中,if語句最多嵌套了幾層,最多有多少分支,怎麼實現的?

回答:3層以下,就算ok;如果回答3層以上,聽一下實現,如果原因說不出來,扣分。

4,5個分支,就算ok;如果回答5個分支以上,聽一下實現,如果原因說不出來,扣分。

最後兩個題其實比較陷阱,但是正是一個反向的思考才能了解面試者之前的工作狀態。

如果面試者在平日里就有好的習慣,自然不用擔心。

誰知道JAVA工程師面試的腦筋急轉彎,越多越好,要有答案的,謝謝~~!

1.有一個人的了一種很嚴重的疾病,醫生給他開了兩種藥片,分別稱為 A 藥片和 B 藥片,每種分別為 4 片,每天必須吃兩次,每次必須吃 A 和 B 藥片各一片,出現錯誤就會死掉,第一天,他正常吃藥,但是,第二天吃藥的時候,他不小心把藥片搞混了,這兩種藥片的外觀完全一樣,他也沒有別的辦法再獲取藥片,那麼,他應該怎麼辦?

答案

把剩下的四片葯全部分開成兩半,一半放一堆,另一半放另一堆,第二天每次吃其中一堆就行了

2.5000的階乘末尾有幾個0

答案:

1249個

因為一個5的倍數產生一個零,25的倍數產生二個零

125的倍數產生三個零,625的倍數產生四個零

3025產生五個零,前面計算過的不說,都比前面的多產生一個零

5,10,15,…,5000 一共1000個

25,50,75,…,5000 共200個

125,250,…,5000 共40個

625,1250,…,5000 共8個

3125 只有1個

所以共有1249個零

3.一頭母牛在3—10歲的時候每年可以生一頭小牛,生公牛和母牛的比率是50%,在牛12歲的時候就送入屠宰場買了。現在有一個農夫有1頭1歲大的母牛,在母牛3歲的時候就送到附近的農場去配種,請問40年後這個農夫可能會有多少頭牛,寫出相關的代碼或答題思路,最好用面向對象。

答案:

Java代碼

package com.polaris.test;

import java.util.*;

/**

* 問題描述:

*

* 一頭母牛在3—10歲的時候每年可以生一頭小牛,生公牛和母牛的比率是50%,

* 在牛12歲的時候就送入屠宰場買了。現在有一個農夫有1頭1歲大的母牛,

* 在母牛3歲的時候就送到附近的農場去配種,請問40年後這個農夫可能會有多少頭牛,

* 寫出相關的代碼或答題思路,最好用面向對象。

* @author polaris

* @version 1.0

*/

public class ComputeCattleNum {

// 保存所有母牛

private static ListCattle cows = new ArrayListCattle();

// 保存所有當前農夫擁有的牛

private static ListCattle cattles = new ArrayListCattle();

public static void main(String[] args) {

// 第一頭母牛

Cattle cow = new Cattle(0,3);

cows.add(cow);

// 40年

for(int i=0;i40;++i) {

// 大於等於12歲的牛送到屠宰場賣掉;同時每年,所有的牛

for(int j=0;jcattles.size();++j) {

Cattle temp = cattles.get(j);

if(temp.getDead()) {

cattles.remove(temp);

}

// 開始只有一頭母豬,年齡不生長

if(i0) {

cattles.get(j).grow();

}

}

// 母牛生小牛

for(int j=0;jcows.size();++j) {

Cattle calf = cows.get(j).bear();

if(calf!=null) {

if(calf.getSex()==0)

cows.add(calf);

cattles.add(calf);

}

}

}

System.out.println(“40年後農夫擁有” + cattles.size() + “頭牛”);

}

}

class Cattle {

// 牛的雌雄:0代表雌,1代表雄

private int sex;

// 牛的年齡

private int age;

// 是否賣掉(已死)

private boolean dead = false;

public Cattle(int sex, int age) {

this.sex = sex;

this.age = age;

}

/**

* 生小牛

* @return 生出的小牛

*/

public Cattle bear() {

Cattle calf = null;

if(this.sex==0) {

if(this.age=3 this.age=10) {

calf = new Cattle(random(),0);

} else {

//System.out.println(“抱歉,此牛太小或太老,不能生育。”);

}

} else {

//System.out.println(“有沒有搞錯,公牛也想讓它生小牛?”);

}

return calf;

}

private int random() {

return (int)Math.round(Math.random());

}

/**

* 長大一歲,如果當前大於等於12歲,則賣掉

*/

public void grow() {

if(this.age=12) dead = true;

else this.age++;

}

public int getSex() {

return this.sex;

}

public boolean getDead() {

return this.dead;

}

}

4.宴會桌旁

在某賓館的宴會廳里,有4位朋友正圍桌而坐,侃侃而談。他們用了中、英、法、日4種語言。現已知:

A.甲、乙、丙各會兩種語言,丁只會一種語言;

B.有一種語言4人中有3人都會;

C.甲會日語,丁不會日語,乙不會英語;

D. 甲與丙、丙與丁不能直接交談,乙與丙可以直接交談;

E. 沒有人既會日語,又會法語。

請問:甲乙丙丁各會什麼語言?

答案:

第一題正解

甲:中日

乙:中法

丙:英法

丁:中

5.藉機發財

從前有A、B兩個相鄰的國家,它們的關係很好,不但互相之間貿易交往頻繁,貨幣可以通用,匯率也相同。也就是說A國的100元等於B國的100 元。可是兩國關係因為一次事件而破裂了,雖然貿易往來仍然繼續,但兩國國王卻互相宣布對方貨幣的100元只能兌換本國貨幣的90元。有一個聰明人,他手裡 只有A國的100元鈔票,卻藉機撈了一大把,發了一筆橫財。請你想一想,這個聰明人是怎樣從中發財的?

答案:

拿着A國100在A國換好B國的錢,然後再拿着換好的B國的錢去B國換A國的錢

如此循環

6.快馬加鞭

墨西哥農村現在仍然可以看到人們用馬和驢運載貨物。一位商人把四匹馬從甲村拉到乙村,而從甲村到乙村,A馬要花一小時,B馬要花兩小時,C馬要花四小時,D馬要花五小時。

這位商人一次只能拉兩匹馬,回來時他還要騎一匹馬,其中以走得慢的那匹馬作為從甲村拉到乙村所需的時間。聽說有人花了12小時就把四匹馬全部從甲村拉到乙村,請問:他是如何辦到的?

答案:

AB一起過B回來 4小時

CD 一起過A回來 6小時

AB 一起過 2小時

一共12小時

7.擊鼠標

擊鼠標比賽現在開始!參賽者有拉爾夫、威利和保羅。

拉爾夫10秒鐘能擊10下鼠標;威利20秒鐘能擊20下鼠標;保羅5秒鐘能擊5下鼠標。以上各人所用的時間是這樣計算的;從第一擊開始,到最後一擊結束。

他們是否打平手?如果不是,誰最先擊完40下鼠標?

答案:

拉爾夫

一個加速然後減速的過程。三個人平均速度相等。達到平均速度時間在中間的人可能性最大。

8.感覺

用第一感覺判斷8+8=91這個等式正確嗎?說明理由。

答案:

不正確。8+8=16

9.謊話

如果下列每個人說的話都是假話,那麼是誰打碎了花瓶?

夏克:吉姆打碎了花瓶。

湯姆:夏克會告訴你誰打碎了花瓶。

埃普爾:湯姆,夏克和我不太可能打碎花瓶。

克力斯:我沒打碎花瓶。

艾力克:夏克打碎了花瓶,所以湯姆和埃普爾不太可能打碎花瓶。

吉姆:我打碎了花瓶,湯姆是無辜的。

答案:克力斯。吉姆的話有兩個條件,只要一個為false就為false。

10.大有作為

魯道夫、菲利普、羅伯特三位青年,一個當了歌手,一個考上大學,一個加入美軍陸戰隊,個個未來都大有作為。現已知:

A. 羅伯特的年齡比戰士的大;

B. 大學生的年齡比菲利普小;

C. 魯道夫的年齡和大學生的年齡不一樣。

請問:三個人中誰是歌手?誰是大學生?誰是士兵?

歌手 大學 美軍陸戰隊

魯道夫 X true

菲利普 true X X

羅伯特 true X

由A B=》羅伯特比菲利普小比戰士大。所以菲利普不是戰士

11.麻省理工大學的學生

美國麻省理大學的學生來自不同國家。

大衛、比利、特德三名學生,一個是法國人,一個是日本人,一個是美國人。現已知:

1、 大衛不喜歡麵條,特德不喜歡漢堡包;

2、 喜歡麵條的不是法國人;

3、 喜歡漢堡包的是日本人;

4、 比利不是美國人。

請推測出這三名留學生分別來自哪些國家?

答案:

法國人 日本人 美國人

大衛 true X

比利 true X

特德 X true

喜歡漢堡的是日本人,特德不喜歡漢堡=》特德不是日本人

喜歡漢堡的是日本人,所以喜歡麵條的可暫假設也不是日本人=》美國人喜歡麵條,大衛不喜歡麵條=》大衛也不是美國人。所以特德是美國人

喜歡麵條的不是法國人可暫假設不喜歡麵條的是法國人=》大衛是法國人

所以=》 比利時日本人

然後在那上面假設的結果挨個判斷原題條件。每個條件都符合。所以以上假設成立。

如需更多(包括各種面經,筆經)加我QQ:719116861。註明java!

JAVA高級軟件工程師面試題

第七題是每小時25公里

假定火車的速度為X,時間為T,隧道長度為S

火車:X×T=S

人:10×T=2/5S(五分之二S)

應聘JAVA工程師,面試官常問一些什麼問題?

面試啊,一般不會問太具體的問題,語法會在筆試里考,然後一般面試分技術面試和綜合面試。一般情況是,你過了筆試,然後去技術面試,然後綜合面試。技術面試官一般是拿着你的簡歷和筆試試卷,一開始會問你那些寫錯的地方。然後問你有什麼項目經驗,如果有,會追問項目的種種,比如你開發了一個圖書館信息管理系統,會問你用了什麼框架,比如你說用了struts,然後他會問你struts的基本原理,你大致講一下對struts框架對servlet的封裝和配置文件,然後他會問一些你數據庫的東西,主要是你數據是如何設計的~。大致是這個流程。然後綜合面試就是問你在學校幹了什麼 班幹部什麼 學校活動 學生會 還有 項目都可以隨便說說,聊聊。

有些技術面試官會問你一些智力題(通常這樣的面試官都不是項目經理,是稍微懂點技術的人力資源,比較2的反正)

技術題目可以在網上搜索,另外就是看程序員面試寶典這本書。

技術面試官還會問你對其他技術,(你會的東西都應該寫在簡歷上),比如你簡歷上說你會Hibernate,那他也會問你Hibernate的相關東西。OOP思想什麼的,設計模式也會涉及的

原創文章,作者:RYAI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132509.html

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

相關推薦

  • Java JsonPath 效率優化指南

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

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

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

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

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

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

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

    編程 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

發表回復

登錄後才能評論