學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場(chǎng)>求職面試技巧>

java作為面試官如何提問(wèn)

時(shí)間: 稱紅1024 分享

  作為面試官如果要面試一個(gè)java員,那么該如何提問(wèn)呢?下面是學(xué)習(xí)啦小編給大家整理的java作為面試官如何提問(wèn),供大家參閱!

  java作為面試官如何提問(wèn)

  1、連串式提問(wèn)

  即人力資源主考官向面試者提出一連串相關(guān)的問(wèn)題,要求應(yīng)試者逐個(gè)回答。這種提問(wèn)方式主要是考察面試者的反應(yīng)能力、思維的邏輯性和條理性。

  例如:“你在過(guò)去的工作中出現(xiàn)過(guò)什么重大失誤?如果有,是什么?從這件事本身你吸取的教訓(xùn)是什么?如果今后在遇到此類情況,你會(huì)如何處理?”

  回答這個(gè)問(wèn)題,首先要保持鎮(zhèn)靜,不要被一連串的問(wèn)題嚇住,要聽(tīng)清主考官問(wèn)了哪些問(wèn)題,這些問(wèn)題一般都是相關(guān),要回答后一個(gè)必須以前一個(gè)問(wèn)題的回答為基礎(chǔ),這就更要求應(yīng)試者聽(tīng)清題目及其順序,逐一回答。

  2、開(kāi)放式提問(wèn)

  所謂開(kāi)放式提問(wèn),就是指提出的問(wèn)題應(yīng)聘者不能使用簡(jiǎn)單的“是”或“不是”來(lái)回答,而必須另加解釋才能回答圓滿。因此,主考官提出的問(wèn)題如果能引發(fā)面試者給予詳細(xì)的說(shuō)明,則符合“開(kāi)放式提問(wèn)”的要求。面試的提問(wèn)一般都應(yīng)該用開(kāi)放式的提問(wèn),以便引出應(yīng)試者的思路,真實(shí)考察其水平。

  那么,什么樣的題目是開(kāi)放式的題目,以下舉幾個(gè)的例子:

  你在大學(xué)期間,從事過(guò)那些社會(huì)工作?

  你的專業(yè)課開(kāi)了多少門?你認(rèn)為這些課將對(duì)工作有什么幫助嗎?

  什么原因促使你在二年內(nèi)換了三次工作?這類提問(wèn)的目的是為了從應(yīng)試者那里獲得大量豐富的訊息;并且鼓勵(lì)應(yīng)試者回答問(wèn)題,避免被動(dòng)。提問(wèn)方式常用“如何……”“什么……”“為什么……”“哪個(gè)……”等。

  回答這類問(wèn)題,應(yīng)試者應(yīng)該開(kāi)闊思路,對(duì)主考官提出的問(wèn)題盡量給予圓滿的回答,同時(shí)要注意做到條理清晰、邏輯性強(qiáng),說(shuō)理透徹,充分展現(xiàn)各方面的能力。這樣才能讓主考官盡可能多的了解自己,這是一個(gè)被錄用的前提條件,如果應(yīng)試者不能被主考官所了解,就根本談不上被錄用。

  3、非引導(dǎo)式提問(wèn)

  對(duì)于非引導(dǎo)式提問(wèn),應(yīng)試者可以充分發(fā)揮,盡量說(shuō)服自己心中的感受、意見(jiàn)、看法和評(píng)論。這樣的問(wèn)題沒(méi)有“特定”的回答方式,也沒(méi)有“特定”的答案。

  例如,主考官問(wèn):“請(qǐng)你談一談?chuàng)螌W(xué)生干部時(shí)的經(jīng)驗(yàn)。”這就是“非引導(dǎo)式”談話。主考官提出問(wèn)題之后,便可靜靜的聆聽(tīng)對(duì)方的敘述,而不必再有其他的表示。與引導(dǎo)式談話相比,非引導(dǎo)式談話中,應(yīng)試者可以盡量多說(shuō),該說(shuō)什么就說(shuō)什么,因此可以提供豐富的資料。應(yīng)試者的閱歷、經(jīng)驗(yàn)、語(yǔ)言表達(dá)能力、分析概括能力都得到了充分的展現(xiàn),這樣有利于主考官作出客觀的評(píng)價(jià)。

  4、封閉式提問(wèn)

  這是一種可以得到具體回答問(wèn)題。這類問(wèn)題比較簡(jiǎn)單、常規(guī),涉及范圍較小。關(guān)于下面的一些情況常用封閉式提問(wèn):工作經(jīng)歷:包括過(guò)去的工作職位、成就、工作成績(jī)、個(gè)人收入、工作滿意與否以及調(diào)動(dòng)原因。學(xué)歷:包括專業(yè)、學(xué)習(xí)成績(jī)、突出的學(xué)科、最討厭的學(xué)科、課程設(shè)置等。早期家庭狀況:包括父母的職業(yè)、家庭收入、家庭成員等。個(gè)性與追求:包括性格、愛(ài)好、愿望、需求、情緒、目標(biāo)設(shè)置與人生態(tài)度等。

  Java程序員經(jīng)典面試題

  1.Java 中能創(chuàng)建Volatile 數(shù)組嗎?

  能,Java 中可以創(chuàng)建 volatile 類型數(shù)組,不過(guò)只是一個(gè)指向數(shù)組的引用,而不是整個(gè)數(shù)組。我的意思是,如果改變引用指向的數(shù)組,將會(huì)受到 volatile 的保護(hù),但是如果多個(gè)線程同時(shí)改變數(shù)組的元素,volatile 標(biāo)示符就不能起到之前的保護(hù)作用了。

  2.volatile 能使得一個(gè)非原子操作變成原子操作嗎?

  一個(gè)典型的例子是在類中有一個(gè)long 類型的成員變量。如果你知道該成員變量會(huì)被多個(gè)線程訪問(wèn),如計(jì)數(shù)器、價(jià)格等,你最好是將其設(shè)置為 volatile。為什么?因?yàn)?Java 中讀取long 類型變量不是原子的,需要分成兩步,如果一個(gè)線程正在修改該 long 變量的值,另一個(gè)線程可能只能看到該值的一半(前 32 位)。但是對(duì)一個(gè) volatile 型的 long 或double 變量的讀寫(xiě)是原子。

  3.volatile 修飾符的有過(guò)什么實(shí)踐?

  一種實(shí)踐是用 volatile 修飾 long 和 double 變量,使其能按原子類型來(lái)讀寫(xiě)。

  double 和 long 都是64位寬,因此對(duì)這兩種類型的讀是分為兩部分的,第一次讀取第一個(gè) 32 位,然后再讀剩下的 32 位,這個(gè)過(guò)程不是原子的,但Java 中 volatile 型的 long 或 double 變量的讀寫(xiě)是原子的。volatile 修復(fù)符的另一個(gè)作用是提供內(nèi)存屏障(memory barrier),例如在分布式框架中的應(yīng)用。簡(jiǎn)單的說(shuō),就是當(dāng)你寫(xiě)一個(gè) volatile 變量之前,Java 內(nèi)存模型會(huì)插入一個(gè)寫(xiě)屏障(writebarrier),讀一個(gè)volatile 變量之前,會(huì)插入一個(gè)讀屏障(read barrier)。意思就是說(shuō),在你寫(xiě)一個(gè)volatile 域時(shí),能保證任何線程都能看到你寫(xiě)的值,同時(shí),在寫(xiě)之前,也能保證任何數(shù)值的更新對(duì)所有線程是可見(jiàn)的,因?yàn)閮?nèi)存屏障會(huì)將其他所有寫(xiě)的值更新到緩存。

  4.volatile 類型變量提供什么保證?

  volatile 變量提供順序和可見(jiàn)性保證,例如,JVM或者 JIT為了獲得更好的性能會(huì)對(duì)語(yǔ)句重排序,但是 volatile 類型變量即使在沒(méi)有同步塊的情況下賦值也不會(huì)與其他語(yǔ)句重排序。 volatile 提供 happens-before 的保證,確保一個(gè)線程的修改能對(duì)其他線程是可見(jiàn)的。某些情況下,volatile 還能提供原子性,如讀 64 位數(shù)據(jù)類型,像 long 和 double 都不是原子的,但 volatile 類型的 double 和 long 就是原子的。

  5.10個(gè)線程和2個(gè)線程的同步代碼,哪個(gè)更容易寫(xiě)?

  從寫(xiě)代碼的角度來(lái)說(shuō),兩者的復(fù)雜度是相同的,因?yàn)橥酱a與線程數(shù)量是相互獨(dú)立的。但是同步策略的選擇依賴于線程的數(shù)量,因?yàn)樵蕉嗟木€程意味著更大的競(jìng)爭(zhēng),所以你需要利用同步技術(shù),如鎖分離,這要求更復(fù)雜的代碼和專業(yè)知識(shí)。

  6.你是如何調(diào)用wait()方法的?使用if 塊還是循環(huán)?為什么?

  wait() 方法應(yīng)該在循環(huán)調(diào)用,因?yàn)楫?dāng)線程獲取到CPU 開(kāi)始執(zhí)行的時(shí)候,其他條件可能還沒(méi)有滿足,所以在處理前,循環(huán)檢測(cè)條件是否滿足會(huì)更好。下面是一段標(biāo)準(zhǔn)的使用 wait 和 notify 方法的代碼:

  // The standard idiom for using the waitmethodsynchronized (obj) {while (condition does not hold)

  obj.wait(); // (Releases lock, andreacquires on wakeup)... // Perform action appropriate to condition}

  7.什么是多線程環(huán)境下的偽共享(false sharing)?

  偽共享是多線程系統(tǒng)(每個(gè)處理器有自己的局部緩存)中一個(gè)眾所周知的性能問(wèn)題。偽共享發(fā)生在不同處理器的上的線程對(duì)變量的修改依賴于相同的緩存行。

  Java 中應(yīng)該使用什么數(shù)據(jù)類型來(lái)代表價(jià)格?

  如果不是特別關(guān)心內(nèi)存和性能的話,使用BigDecimal,否則使用預(yù)定義精度的 double 類型。

  8.怎么將byte轉(zhuǎn)換為String?

  可以使用 String 接收 byte[] 參數(shù)的構(gòu)造器來(lái)進(jìn)行轉(zhuǎn)換,需要注意的點(diǎn)是要使用的正確的編碼,否則會(huì)使用平臺(tái)默認(rèn)編碼,這個(gè)編碼可能跟原來(lái)的編碼相同,也可能不同。

  我們能將int強(qiáng)制轉(zhuǎn)換為byte 類型的變量嗎?如果該值大于byte 類型的范圍,將會(huì)出現(xiàn)什么現(xiàn)象?

  是的,我們可以做強(qiáng)制轉(zhuǎn)換,但是Java 中 int 是 32 位的,而 byte 是 8 位的,所以,如果強(qiáng)制轉(zhuǎn)化是,int 類型的高 24 位將會(huì)被丟棄,byte 類型的范圍是從 -128 到 128。

  9.哪個(gè)類包含 clone 方法?是 Cloneable 還是 Object?

  java.lang.Cloneable 是一個(gè)標(biāo)示性接口,不包含任何方法,clone 方法在 object 類中定義。并且需要知道 clone() 方法是一個(gè)本地方法,這意味著它是由 c 或 c++ 或其他本地語(yǔ)言實(shí)現(xiàn)的。

  10.Java 中++ 操作符是線程安全的嗎?

  不是線程安全的操作。它涉及到多個(gè)指令,如讀取變量值,增加,然后存儲(chǔ)回內(nèi)存,這個(gè)過(guò)程可能會(huì)出現(xiàn)多個(gè)線程交差。

  a = a + b 與a += b 的區(qū)別+= 隱式的將加操作的結(jié)果類型強(qiáng)制轉(zhuǎn)換為持有結(jié)果的類型。如果兩這個(gè)整型相加,如byte、short 或者int,首先會(huì)將它們提升到int 類型,然后在執(zhí)行加法操作。如果加法操作的結(jié)果比a 的最大值要大,則a+b 會(huì)出現(xiàn)編譯錯(cuò)誤,但是a += b 沒(méi)問(wèn)題,如下:

  byte a = 127;byte b = 127;b = a + b; // error : cannot convert from int to byteb += a; // ok(譯者注:這個(gè)地方應(yīng)該表述的有誤,其實(shí)無(wú)論 a+b的值為多少,編譯器都會(huì)報(bào)錯(cuò),因?yàn)?a+b 操作會(huì)將 a、b 提升為 int 類型,所以將 int 類型賦值給 byte 就會(huì)編譯出錯(cuò))。

java作為面試官如何提問(wèn)

作為面試官如果要面試一個(gè)java員,那么該如何提問(wèn)呢?下面是學(xué)習(xí)啦小編給大家整理的java作為面試官如何提問(wèn),供大家參閱! java作為面試官如何提問(wèn) 1、連串式提問(wèn) 即人力資源主考官向面試者提出一連串相關(guān)的問(wèn)題,要求應(yīng)試者逐個(gè)回答。這
推薦度:
點(diǎn)擊下載文檔文檔為doc格式
3629422