欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      Java程序員面試中的多線程問題

      時(shí)間:2019-05-14 20:31:45下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《Java程序員面試中的多線程問題》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《Java程序員面試中的多線程問題》。

      第一篇:Java程序員面試中的多線程問題

      Java程序員面試中的多線程問題

      摘要:很多核心Java面試題來源于多線程(Multi-Threading)和集合框架(Collections Framework),理解核心線程概念時(shí),嫻熟的實(shí)際經(jīng)驗(yàn)是必需的。這篇文章收集了 Java 線程方面一些典型的問題,這些問題經(jīng)常被高級工程師所問到。

      很多核心Java面試題來源于多線程(Multi-Threading)和集合框架(Collections Framework),理解核心線程概念時(shí),嫻熟的實(shí)際經(jīng)驗(yàn)是必需的。這篇文章收集了 Java 線程方面一些典型的問題,這些問題經(jīng)常被高級工程師所問到。

      0.Java 中多線程同步是什么?

      在多線程程序下,同步能控制對共享資源的訪問。如果沒有同步,當(dāng)一個(gè) Java 線程在修改一個(gè)共享變量時(shí),另外一個(gè)線程正在使用或者更新同一個(gè)變量,這樣容易導(dǎo)致程序出現(xiàn)錯(cuò)誤的結(jié)果。

      1.解釋實(shí)現(xiàn)多線程的幾種方法?

      一 Java 線程可以實(shí)現(xiàn) Runnable 接口或者繼承 Thread 類來實(shí)現(xiàn),當(dāng)你打算多重繼承時(shí),優(yōu)先選擇實(shí)現(xiàn) Runnable。

      2.Thread.start()與 Thread.run()有什么區(qū)別?

      Thread.start()方法(native)啟動線程,使之進(jìn)入就緒狀態(tài),當(dāng) cpu 分配時(shí)間該線程時(shí),由 JVM 調(diào)度執(zhí)行 run()方法。

      3.為什么需要 run()和 start()方法,我們可以只用 run()方法來完成任務(wù)嗎?

      我們需要 run()&start()這兩個(gè)方法是因?yàn)?JVM 創(chuàng)建一個(gè)單獨(dú)的線程不同于普通方法的調(diào)用,所以這項(xiàng)工作由線程的 start 方法來完成,start 由本地方法實(shí)現(xiàn),需要顯示地被調(diào)用,使用這倆個(gè)方法的另外一個(gè)好處是任何一個(gè)對象都可以作為線程運(yùn)行,只要實(shí)現(xiàn)了 Runnable 接口,這就避免因繼承了 Thread 類而造成的 Java 的多繼承問題。

      4.什么是 ThreadLocal 類,怎么使用它?

      ThreadLocal 是一個(gè)線程級別的局部變量,并非“本地線程”。ThreadLocal 為每個(gè)使用該變量的線程提供了一個(gè)獨(dú)立的變量副本,每個(gè)線程修改副本時(shí)不影響其它線程對象的副本(譯者注)。

      下面是線程局部變量(ThreadLocal variables)的關(guān)鍵點(diǎn):

      一個(gè)線程局部變量(ThreadLocal variables)為每個(gè)線程方便地提供了一個(gè)單獨(dú)的變量。

      ThreadLocal 實(shí)例通常作為靜態(tài)的私有的(private static)字段出現(xiàn)在一個(gè)類中,這個(gè)類用來關(guān)聯(lián)一個(gè)線程。

      當(dāng)多個(gè)線程訪問 ThreadLocal 實(shí)例時(shí),每個(gè)線程維護(hù) ThreadLocal 提供的獨(dú)立的變量副本。

      常用的使用可在 DAO 模式中見到,當(dāng) DAO 類作為一個(gè)單例類時(shí),數(shù)據(jù)庫鏈接(connection)被每一個(gè)線程獨(dú)立的維護(hù),互不影響。(基于線程的單例)

      ThreadLocal 難于理解,下面這些引用連接有助于你更好的理解它。

      《Good article on ThreadLocal on IBM DeveloperWorks 》、《理解 ThreadLocal》、《Managing data : Good example》、《Refer Java API Docs》

      5.什么時(shí)候拋出 InvalidMonitorStateException 異常,為什么?

      調(diào)用 wait()/notify()/notifyAll()中的任何一個(gè)方法時(shí),如果當(dāng)前線程沒有獲得該對象的鎖,那么就會拋出 IllegalMonitorStateException 的異常(也就是說程序在沒有執(zhí)行對象的任何同步塊或者同步方法時(shí),仍然嘗試調(diào)用 wait()/notify()/notifyAll()時(shí))。由于該異常是 RuntimeExcpetion 的子類,所以該異常不一定要捕獲(盡管你可以捕獲只要你愿意).作為 RuntimeException,此類異常不會在 wait(),notify(),notifyAll()的方法簽名提及。

      6.Sleep()、suspend()和 wait()之間有什么區(qū)別?

      Thread.sleep()使當(dāng)前線程在指定的時(shí)間處于“非運(yùn)行”(Not Runnable)狀態(tài)。線程一直持有對象的監(jiān)視器。比如一個(gè)線程當(dāng)前在一個(gè)同步塊或同步方法中,其它線程不能進(jìn)入該塊或方法中。如果另一線程調(diào)用了 interrupt()方法,它將喚醒那個(gè)“睡眠的”線程。

      注意:sleep()是一個(gè)靜態(tài)方法。這意味著只對當(dāng)前線程有效,一個(gè)常見的錯(cuò)誤是調(diào)用t.sleep

      (),(這里的t是一個(gè)不同于當(dāng)前線程的線程)。即便是執(zhí)行t.sleep(),也是當(dāng)前線程進(jìn)入睡眠,而不是t線程。t.suspend()是過時(shí)的方法,使用 suspend()導(dǎo)致線程進(jìn)入停滯狀態(tài),該線程會一直持有對象的監(jiān)視器,suspend()容易引起死鎖問題。

      object.wait()使當(dāng)前線程出于“不可運(yùn)行”狀態(tài),和 sleep()不同的是 wait 是 object 的方法而不是 thread。調(diào)用 object.wait()時(shí),線程先要獲取這個(gè)對象的對象鎖,當(dāng)前線程必須在鎖對象保持同步,把當(dāng)前線程添加到等待隊(duì)列中,隨后另一線程可以同步同一個(gè)對象鎖來調(diào)用 object.notify(),這樣將喚醒原來等待中的線程,然后釋放該鎖?;旧?wait()/notify()與 sleep()/interrupt()類似,只是前者需要獲取對象鎖。

      7.在靜態(tài)方法上使用同步時(shí)會發(fā)生什么事?

      同步靜態(tài)方法時(shí)會獲取該類的“Class”對象,所以當(dāng)一個(gè)線程進(jìn)入同步的靜態(tài)方法中時(shí),線程監(jiān)視器獲取類本身的對象鎖,其它線程不能進(jìn)入這個(gè)類的任何靜態(tài)同步方法。它不像實(shí)例方法,因?yàn)槎鄠€(gè)線程可以同時(shí)訪問不同實(shí)例同步實(shí)例方法。

      8.當(dāng)一個(gè)同步方法已經(jīng)執(zhí)行,線程能夠調(diào)用對象上的非同步實(shí)例方法嗎?

      可以,一個(gè)非同步方法總是可以被調(diào)用而不會有任何問題。實(shí)際上,Java 沒有為非同步方法做任何檢查,鎖對象僅僅在同步方法或者同步代碼塊中檢查。如果一個(gè)方法沒有聲明為同步,即使你在使用共享數(shù)據(jù) Java 照樣會調(diào)用,而不會做檢查是否安全,所以在這種情況下要特別小心。一個(gè)方法是否聲明為同步取決于臨界區(qū)訪問(critial section access),如果方法不訪問臨界區(qū)(共享資源或者數(shù)據(jù)結(jié)構(gòu))就沒必要聲明為同步的。

      下面有一個(gè)示例說明:Common 類有兩個(gè)方法 synchronizedMethod1()和 method1(),MyThread 類在獨(dú)立的線程中調(diào)用這兩個(gè)方法。

      public class Common {

      public synchronized void synchronizedMethod1(){

      System.out.println(“synchronizedMethod1 called”);

      try {

      Thread.sleep(1000);

      } catch(InterruptedException e){

      e.printStackTrace();

      }

      System.out.println(“synchronizedMethod1 done”);

      }

      public void method1(){

      System.out.println(“Method 1 called”);

      try {

      Thread.sleep(1000);

      } catch(InterruptedException e){

      e.printStackTrace();

      }

      System.out.println(“Method 1 done”);

      }

      }

      public class MyThread extends Thread {

      private int id = 0;

      private Common common;

      public MyThread(String name, int no, Common object){

      super(name);

      common = object;

      id = no;

      }

      public void run(){

      System.out.println(“Running Thread” + this.getName());

      if(id == 0){

      common.synchronizedMethod1();

      } else {

      common.method1();

      }

      } catch(Exception e){

      e.printStackTrace();

      }

      }

      public static void main(String[] args){

      Common c = new Common();

      MyThread t1 = new MyThread(“MyThread-1”, 0, c);

      MyThread t2 = new MyThread(“MyThread-2”, 1, c);

      t1.start();

      t2.start();

      }

      }

      這里是程序的輸出:

      Running ThreadMyThread-1

      synchronizedMethod1 called

      Running ThreadMyThread-2

      Method 1 called

      synchronizedMethod1 done

      Method 1 done

      結(jié)果表明即使 synchronizedMethod1()方法執(zhí)行了,method1()也會被調(diào)用。

      9.在一個(gè)對象上兩個(gè)線程可以調(diào)用兩個(gè)不同的同步實(shí)例方法嗎?

      不能,因?yàn)橐粋€(gè)對象已經(jīng)同步了實(shí)例方法,線程獲取了對象的對象鎖。所以只有執(zhí)行完該方法釋放對象鎖后才能執(zhí)行其它同步方法??聪旅娲a示例非常清晰:Common 類有 synchronizedMethod1()和 synchronizedMethod2()方法,MyThread 調(diào)用這兩個(gè)方法。

      public class Common {

      public synchronized void synchronizedMethod1(){

      System.out.println(“synchronizedMethod1 called”);

      try {

      Thread.sleep(1000);

      } catch(InterruptedException e){

      e.printStackTrace();

      System.out.println(“synchronizedMethod1 done”);

      }

      public synchronized void synchronizedMethod2(){

      System.out.println(“synchronizedMethod2 called”);

      try {

      Thread.sleep(1000);

      } catch(InterruptedException e){

      e.printStackTrace();

      }

      System.out.println(“synchronizedMethod2 done”);

      }

      }

      public class MyThread extends Thread {

      private int id = 0;

      private Common common;

      public MyThread(String name, int no, Common object){

      super(name);

      common = object;

      id = no;

      }

      public void run(){

      System.out.println(“Running Thread” + this.getName());

      try {

      if(id == 0){

      common.synchronizedMethod1();

      } else {

      common.synchronizedMethod2();

      }

      } catch(Exception e){

      e.printStackTrace();

      }

      }

      public static void main(String[] args){

      Common c = new Common();

      MyThread t1 = new MyThread(“MyThread-1”, 0, c);

      MyThread t2 = new MyThread(“MyThread-2”, 1, c);

      t1.start();

      t2.start();

      }

      10.什么是死鎖

      死鎖就是兩個(gè)或兩個(gè)以上的線程被無限的阻塞,線程之間相互等待所需資源。這種情況可能發(fā)生在當(dāng)兩個(gè)線程嘗試獲取其它資源的鎖,而每個(gè)線程又陷入無限等待其它資源鎖的釋放,除非一個(gè)用戶進(jìn)程被終止。就 JavaAPI 而言,線程死鎖可能發(fā)生在一下情況。

      當(dāng)兩個(gè)線程相互調(diào)用 Thread.join()

      當(dāng)兩個(gè)線程使用嵌套的同步塊,一個(gè)線程占用了另外一個(gè)線程必需的鎖,互相等待時(shí)被阻塞就有可能出現(xiàn)死鎖。

      11.什么是線程餓死,什么是活鎖?

      線程餓死和活鎖雖然不想是死鎖一樣的常見問題,但是對于并發(fā)編程的設(shè)計(jì)者來說就像一次邂逅一樣。

      當(dāng)所有線程阻塞,或者由于需要的資源無效而不能處理,不存在非阻塞線程使資源可用。JavaAPI 中線程活鎖可能發(fā)生在以下情形:

      當(dāng)所有線程在程序中執(zhí)行 Object.wait(0),參數(shù)為 0 的 wait 方法。程序?qū)l(fā)生活鎖直到在相應(yīng)的對象上有線程調(diào)用 Object.notify()或者 Object.notifyAll()。

      當(dāng)所有線程卡在無限循環(huán)中。

      這里的問題并不詳盡,我相信還有很多重要的問題并未提及,您認(rèn)為還有哪些問題應(yīng)該包括在上面呢?歡迎在評論中分享任何形式的問題與建議。

      第二篇:Java程序員面試中的多線程問題

      很多核心Java面試題來源于多線程(Multi-Threading)和集合框架

      (Collections Framework),理解核心線程概念時(shí),嫻熟的實(shí)際經(jīng)驗(yàn)是必需的。這篇文章收集了Java線程方面一些典型的問題,這些問題經(jīng)常被高級工程師所問到。

      0、Java中多線程同步是什么?

      在多線程程序下,同步能控制對共享資源的訪問。如果沒有同步,當(dāng)一個(gè)Java線程在修改一個(gè)共享變量時(shí),另外一個(gè)線程正在使用或者更新同一個(gè)變量,這樣容易導(dǎo)致程序出現(xiàn)錯(cuò)誤的結(jié)果。

      1、解釋實(shí)現(xiàn)多線程的幾種方法?

      一Java線程可以實(shí)現(xiàn)Runnable接口或者繼承Thread類來實(shí)現(xiàn),當(dāng)你打算多重繼承時(shí),優(yōu)先選擇實(shí)現(xiàn)Runnable。

      2、Thread.start()與Thread.run()有什么區(qū)別?

      Thread.start()方法(native)啟動線程,使之進(jìn)入就緒狀態(tài),當(dāng)cpu分配時(shí)間該線程時(shí),由JVM調(diào)度執(zhí)行run()方法。

      3、為什么需要run()和start()方法,我們可以只用run()方法來完成任務(wù)嗎? 我們需要run()&start()這兩個(gè)方法是因?yàn)镴VM創(chuàng)建一個(gè)單獨(dú)的線程不同于普通方法的調(diào)用,所以這項(xiàng)工作由線程的start方法來完成,start由本地方法實(shí)現(xiàn),需要顯示地被調(diào)用,使用這倆個(gè)方法的另外一個(gè)好處是任何一個(gè)對象都可以作為線程運(yùn)行,只要實(shí)現(xiàn)了Runnable接口,這就避免因繼承了Thread類而造成的Java的多繼承問題。

      4、什么是ThreadLocal類,怎么使用它?

      ThreadLocal是一個(gè)線程級別的局部變量,并非“本地線程”。ThreadLocal為每個(gè)使用該變量的線程提供了一個(gè)獨(dú)立的變量副本,每個(gè)線程修改副本時(shí)不影響其它線程對象的副本(譯者注)。

      下面是線程局部變量(ThreadLocal variables)的關(guān)鍵點(diǎn):

      一個(gè)線程局部變量(ThreadLocal variables)為每個(gè)線程方便地提供了一個(gè)單獨(dú)的變量。

      ThreadLocal實(shí)例通常作為靜態(tài)的私有的(private static)字段出現(xiàn)在一個(gè)類中,這個(gè)類用來關(guān)聯(lián)一個(gè)線程。

      當(dāng)多個(gè)線程訪問ThreadLocal實(shí)例時(shí),每個(gè)線程維護(hù)ThreadLocal提供的獨(dú)立的變量副本。

      常用的使用可在DAO模式中見到,當(dāng)DAO類作為一個(gè)單例類時(shí),數(shù)據(jù)庫鏈接(connection)被每一個(gè)線程獨(dú)立的維護(hù),互不影響。(基于線程的單例)ThreadLocal難于理解,下面這些引用連接有助于你更好的理解它。《Good article on ThreadLocal on IBM DeveloperWorks 》、《理解

      ThreadLocal》、《Managing data : Good example》、《Refer Java API Docs》

      6、Sleep()、suspend()和wait()之間有什么區(qū)別?

      Thread.sleep()使當(dāng)前線程在指定的時(shí)間處于“非運(yùn)行”(Not Runnable)狀態(tài)。線程一直持有對象的監(jiān)視器。比如一個(gè)線程當(dāng)前在一個(gè)同步塊或同步方法中,其它線程不能進(jìn)入該塊或方法中。如果另一線程調(diào)用了interrupt()方法,它將喚醒那個(gè)“睡眠的”線程。

      注意:sleep()是一個(gè)靜態(tài)方法。這意味著只對當(dāng)前線程有效,一個(gè)常見的錯(cuò)誤是調(diào)用t.sleep(),(這里的t是一個(gè)不同于當(dāng)前線程的線程)。即便是執(zhí)行t.sleep(),也是當(dāng)前線程進(jìn)入睡眠,而不是t線程。t.suspend()是過時(shí)的方法,使用suspend()導(dǎo)致線程進(jìn)入停滯狀態(tài),該線程會一直持有對象的監(jiān)視器,suspend()容易引起死鎖問題。

      object.wait()使當(dāng)前線程出于“不可運(yùn)行”狀態(tài),和sleep()不同的是wait是object的方法而不是thread。調(diào)用object.wait()時(shí),線程先要獲取這個(gè)對象的對象鎖,當(dāng)前線程必須在鎖對象保持同步,把當(dāng)前線程添加到等待隊(duì)列中,隨后另一線程可以同步同一個(gè)對象鎖來調(diào)用object.notify(),這樣將喚醒原來等待中的線程,然后釋放該鎖?;旧蟱ait()/notify()與sleep()/interrupt()類似,只是前者需要獲取對象鎖。

      7、在靜態(tài)方法上使用同步時(shí)會發(fā)生什么事?

      同步靜態(tài)方法時(shí)會獲取該類的“Class”對象,所以當(dāng)一個(gè)線程進(jìn)入同步的靜態(tài)方法中時(shí),線程監(jiān)視器獲取類本身的對象鎖,其它線程不能進(jìn)入這個(gè)類的任何靜態(tài)同步方法。它不像實(shí)例方法,因?yàn)槎鄠€(gè)線程可以同時(shí)訪問不同實(shí)例同步實(shí)例方法。

      8、當(dāng)一個(gè)同步方法已經(jīng)執(zhí)行,線程能夠調(diào)用對象上的非同步實(shí)例方法嗎? 可以,一個(gè)非同步方法總是可以被調(diào)用而不會有任何問題。實(shí)際上,Java沒有為非同步方法做任何檢查,鎖對象僅僅在同步方法或者同步代碼塊中檢查。如果一個(gè)方法沒有聲明為同步,即使你在使用共享數(shù)據(jù)Java照樣會調(diào)用,而不會做檢查是否安全,所以在這種情況下要特別小心。一個(gè)方法是否聲明為同步取決于臨界區(qū)訪問(critial section access),如果方法不訪問臨界區(qū)(共享資源或者數(shù)據(jù)結(jié)構(gòu))就沒必要聲明為同步的。

      9、在一個(gè)對象上兩個(gè)線程可以調(diào)用兩個(gè)不同的同步實(shí)例方法嗎?

      不能,因?yàn)橐粋€(gè)對象已經(jīng)同步了實(shí)例方法,線程獲取了對象的對象鎖。所以只有執(zhí)行完該方法釋放對象鎖后才能執(zhí)行其它同步方法。

      看下面代碼示例非常清晰:Common 類 有synchronizedMethod1()和synchronizedMethod2()方法,MyThread調(diào)用這兩個(gè)方法。

      10、什么是死鎖

      死鎖就是兩個(gè)或兩個(gè)以上的線程被無限的阻塞,線程之間相互等待所需資源。這種情況可能發(fā)生在當(dāng)兩個(gè)線程嘗試獲取其它資源的鎖,而每個(gè)線程又陷入無限等待其它資源鎖的釋放,除非一個(gè)用戶進(jìn)程被終止。就JavaAPI而言,線程死鎖可能發(fā)生在一下情況。

      ● 當(dāng)兩個(gè)線程相互調(diào)用Thread.join()

      ● 當(dāng)兩個(gè)線程使用嵌套的同步塊,一個(gè)線程占用了另外一個(gè)線程必需的鎖,互相等待時(shí)被阻塞就有可能出現(xiàn)死鎖。

      11、什么是線程餓死,什么是活鎖?

      線程餓死和活鎖雖然不想是死鎖一樣的常見問題,但是對于并發(fā)編程的設(shè)計(jì)者來說就像一次邂逅一樣。

      當(dāng)所有線程阻塞,或者由于需要的資源無效而不能處理,不存在非阻塞線程使資源可用。JavaAPI中線程活鎖可能發(fā)生在以下情形:

      ● 當(dāng)所有線程在程序中執(zhí)行Object.wait(0),參數(shù)為0的wait方法。程序?qū)l(fā)生活鎖直到在相應(yīng)的對象上有線程調(diào)用Object.notify()或者

      Object.notifyAll()。

      ● 當(dāng)所有線程卡在無限循環(huán)中。

      這里的問題并不詳盡,我相信還有很多重要的問題并未提及,您認(rèn)為還有哪些問題應(yīng)該包括在上面呢?歡迎在評論中分享任何形式的問題與建議。

      第三篇:JAVA程序員面試技巧

      java程序員面試題 第一部分:選擇題 question no: 1

      1、public class test { public static void changestr(string str){ } public static void main(string[] args){ string str=1234;changestr(str);system.out.println(str);} } please write the output result : question no:2 1.public class test { 2.static boolean foo(char c){ 3.system.out.print(c);4.return true;5.} 6.public static void main(string[] argv){ 7.int i =0;8.for(foo(a);foo(b)&&(i<2);foo(c)){ 9.i++;10.foo(d);12.} 13.} 14.} what is the result? a.abdcbdcb b.abcdabcd d.an exception is thrown at runtime.question no: 3 1.class a { 2.protected int method1(int a, int b){ return 0;} 3.} which two are valid in a class that extends class a?(choose two)a.public int method1(int a, int b){ return 0;} b.private int method1(int a, int b){ return 0;} c.private int method1(int a, long b){ return 0;} d.public short method1(int a, int b){ return 0;} e.static protected int method1(int a, int b){ return 0;} question no: 4 1.public class outer{ 2.public void someoutermethod(){ 3.// line 3 4.} 5.public class inner{} 6.public static void main(string[]argv){ 7.outer o = new outer();8.// line 8 9.} 10.} which instantiates an instance of inner? a.new inner();// at line 3 b.new inner();// at line 8 c.new o.inner();// at line 8 d.new outer.inner();// at line 8//new outer().new inner()question no: 5 which method is used by a servlet to place its session id in a url that is written to the servlet’s response output stream? question no: 6 which two are equivalent?(choose two)a.b.c.d.e.f.g.question no: 7 which of the following statements regarding the lifecycle of a session bean are correct? 1.java.lang.illegalstateexception is thrown if sessioncontext.getejbobject()is invoked when a stateful session bean instance is passivated.2.sessioncontext.getrollbackonly()does not throw an exception when a session bean with bean-managed transaction demarcation is activated.3.an exception is not thrown when sessioncontext.getusertransaction()is called in the afterbegin method of a bean with container-managed transactions.5.accessing resource managers in the sessionsynchronization.afterbegin method of a stateful session bean with bean-managed transaction does not throw an exception.第二部分:概念題

      1.描述struts體系結(jié)構(gòu)?對應(yīng)各個(gè)部分的開發(fā)工作主要包括哪些? 3.jsp有哪些內(nèi)置對象和動作?它們的作用分別是什么?

      4、sql問答題

      select * from table 和

      select * from table where name like %% and addr like %% and(1_addr like %% or 2_addr like %% or 3_addr like %% or 4_addr like %%)的檢索結(jié)果為何不同?

      5、sql問答題

      表結(jié)構(gòu):

      1、表名:g_cardapply 字段(字段名/類型/長度): g_applyno varchar 8;//申請單號(關(guān)鍵字)g_applydate bigint 8;//申請日期 g_state varchar 2;//申請狀態(tài)

      2、表名:g_cardapplydetail 字段(字段名/類型/長度): g_applyno varchar 8;//申請單號(關(guān)鍵字)g_name varchar 30;//申請人姓名 g_idcard varchar 18;//申請人身份證號 g_state varchar 2;//申請狀態(tài)

      其中,兩個(gè)表的關(guān)聯(lián)字段為申請單號。

      題目:

      1、查詢身份證號碼為***的申請日期

      2、查詢同一個(gè)身份證號碼有兩條以上記錄的身份證號碼及記錄個(gè)數(shù)

      3、將身份證號碼為***的記錄在兩個(gè)表中的申請狀態(tài)均改為07

      4、刪除g_cardapplydetail表中所有姓李的記錄

      華為java筆試題

      一、單項(xiàng)選擇題

      1.java是從()語言改進(jìn)重新設(shè)計(jì)。a.a(chǎn)da b.c++ c.pasacal d.basic篇二:java程序員面試注意事項(xiàng)

      一、回答問題的思路

      先正面敘述一些基本的核心知識,然后描述一些特殊的東西,最后再來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。把答題像寫書一樣寫。我要回答一個(gè)新技術(shù)的問題大概思路和步驟是:我們想干什么,干這個(gè)遇到了什么問題,現(xiàn)在用什么方式來解決。其實(shí)我們講課也是這樣一個(gè)思路。

      答題時(shí),先答是什么,再答有什么作用和要注意什么(這部分最重要,展現(xiàn)自己的心得)。答案的層次分明,條理清楚都非常重要,從這些表面的東西也可以看出一個(gè)人的習(xí)慣、辦事風(fēng)格、條理等。要講你做出答案的思路過程,或者說你記住答案的思想都寫下來。把答題想著是辯論賽。答題就是給別人講道理、擺事實(shí)。答題不局限于什么格式和形式,就是要將自己的學(xué)識展現(xiàn)出來!

      另外,不要因?yàn)槿思翌}目本來就模棱兩可,你就心里膽怯和沒底氣了,不敢回答了。你要大膽地指出對方題目很模糊和你的觀點(diǎn),不要把面試官想得有多高,其實(shí)他和你就是差不多的,你想想,如果他把你招進(jìn)去了,你們以后就是同事了,可不是差不多的嗎?

      二、關(guān)于就業(yè)薪水

      如果你是應(yīng)屆生,那不能要高工資,好比大餅的故事,要拿高工資,就去中關(guān)村!少數(shù)人基礎(chǔ)確實(shí)很好,在校期間確實(shí)又做過一些項(xiàng)目,那仍然是可以要到相對高的工資的。

      初級程序員薪水:2000-4500 中級程序員薪水:4000-7000 高級程序員薪水:7000以上

      公司招聘程序員更看重的要用到的編碼技術(shù)、而不是那些業(yè)務(wù)不太相關(guān)的所謂項(xiàng)目經(jīng)歷:

      三、公司想招什么樣的人

      對于一些公司接到了一些項(xiàng)目,想招聘一些初中級的程序員過來幫助寫代碼,完成這個(gè)項(xiàng)目,你更看重的是他的專業(yè)技術(shù)功底,還是以前做過幾個(gè)項(xiàng)目的經(jīng)歷呢?我們先排除掉那些編碼技術(shù)功底好,又正好做過相似項(xiàng)目的情況,實(shí)際上,這種魚和熊掌兼得的情況并不常見。其實(shí)公司很清楚,只要招聘進(jìn)來的人技術(shù)真的很明白,那他什么項(xiàng)目都可以做出來,公司招人不是讓你去重復(fù)做你以前的項(xiàng)目,而是做一個(gè)新項(xiàng)目,業(yè)務(wù)方面,你只要進(jìn)了項(xiàng)目團(tuán)隊(duì),自然就能掌握。所以,大多數(shù)招聘單位在招聘那些編碼級別的程序員時(shí)也沒指望能招聘到做過類似項(xiàng)目的人,也不會刻意去找做過類似項(xiàng)目的人,用人單位也不是想把你招進(jìn),然后把你以前做過的項(xiàng)目重做一遍,所以,用人單位更看重招進(jìn)來的人對要用到的編碼技術(shù)的功底到底怎樣,技術(shù)扎實(shí)不扎實(shí),項(xiàng)目則只要跟著開發(fā)團(tuán)隊(duì)走,自然就沒問題。除非是一些非常專業(yè)的行業(yè),要招聘特別高級的開發(fā)人員和系統(tǒng)分析師,招聘單位才特別注重他的項(xiàng)目經(jīng)驗(yàn)和行業(yè)經(jīng)驗(yàn),要去找到行業(yè)高手,公司才關(guān)心項(xiàng)目和與你聊項(xiàng)目的細(xì)節(jié),這樣的人通常都不是通過常規(guī)招聘渠道去招聘進(jìn)來的,而是通過各種手段挖過來的,這情況不再我今天要討論的范圍中。

      四、公司面試會問什么,.技術(shù)學(xué)得明白不明白,人家?guī)讉€(gè)問題就把你的深淺問出來了,只要問一些具體的技術(shù)點(diǎn),就很容易看出你是真懂還是假懂,很容看出你的技術(shù)深度和實(shí)力,所以,技術(shù)是來不得半點(diǎn)虛假的,必須扎扎實(shí)實(shí)。

      由于項(xiàng)目的種類繁多,涉及到現(xiàn)實(shí)生活中的各行各業(yè),什么五花八門的業(yè)務(wù)都有,例如,酒店房間預(yù)定管理,公司車輛調(diào)度管理,學(xué)校課程教室管理,超市進(jìn)銷存管理,知識內(nèi)容管理,等等……成千上萬等等,但是,不管是什么項(xiàng)目,采用的無非都是我們學(xué)習(xí)的那些目前流行和常用的技術(shù)。技術(shù)好、經(jīng)驗(yàn)豐富,則項(xiàng)目做出來的效率高些,程序更穩(wěn)定和更容易維護(hù)些;技術(shù)差點(diǎn),碰碰磕磕最后也能把項(xiàng)目做出來,無非是做的周期長點(diǎn)、返工的次數(shù)多點(diǎn),程序代碼寫得差些,用的技術(shù)笨拙點(diǎn)。如果一個(gè)人不是完完全全做過某個(gè)項(xiàng)目,他是不太關(guān)心該項(xiàng)目的業(yè)務(wù)的,對其中的一些具體細(xì)節(jié)更是一竅不知,(如果我招你來做圖書管理,你項(xiàng)目經(jīng)歷說你做過汽車調(diào)度,那我能問你汽車調(diào)度具體怎么回事嗎?不會,所以,你很容易蒙混過去的)而一個(gè)程序員的整個(gè)職業(yè)生涯中能實(shí)實(shí)在在和完完整整做出來的項(xiàng)目沒幾個(gè),更別說在多個(gè)不同行業(yè)的項(xiàng)目了,有的程序員更是一輩子都只是在做某一個(gè)行業(yè)的項(xiàng)目,結(jié)果他就成了這個(gè)行業(yè)的專家(專門干一件事的家伙)。所以,技術(shù)面試官通常沒正好親身經(jīng)歷過你簡歷寫的那些項(xiàng)目,他不可能去問你寫的那些項(xiàng)目的具體細(xì)節(jié),而是只能泛泛地問你這個(gè)項(xiàng)目是多少人做的,做了多長時(shí)間,開發(fā)的過程,你在做項(xiàng)目的過程中有什么心得和收獲,用的什么技術(shù)等面上的問題,所以,簡歷上的項(xiàng)目經(jīng)歷可以含有很多水分,很容易作假,技術(shù)面試官也無法在項(xiàng)目上甄別你的真?zhèn)巍?/p>

      五、簡歷怎么寫

      簡歷該怎么寫:精通哪些技術(shù),有一些什么項(xiàng)目經(jīng)歷

      六、怎樣達(dá)到簡歷上的標(biāo)準(zhǔn)(培訓(xùn)中心教項(xiàng)目的目的)教項(xiàng)目是為了鞏固和靈活整合運(yùn)用技術(shù),增強(qiáng)學(xué)習(xí)的趣味性,熟悉做項(xiàng)目的流程,或得一些專業(yè)課程中無法獲得的特有項(xiàng)目經(jīng)驗(yàn),增強(qiáng)自己面試的信心。講的項(xiàng)目應(yīng)該真實(shí)可靠才有價(jià)值,否則,表面上是項(xiàng)目,實(shí)際上還是知識點(diǎn)的整合,對鞏固技術(shù)點(diǎn)和增強(qiáng)學(xué)習(xí)的趣味性,但無法獲得實(shí)際的項(xiàng)目經(jīng)驗(yàn)。

      第四篇:java程序員面試必讀

      Java程序員,面試必讀

      ☆★☆★快來!10月25日讀者見面會☆★☆★

      清華大學(xué)出版社《Java程序員,上班那點(diǎn)事兒》作者:鐘聲 章節(jié):1.2.2:

      面試是一個(gè)“簡單”而又“復(fù)雜”的事情,正因?yàn)樗哂小昂唵巍焙汀皬?fù)雜”的雙重性質(zhì),才使我們對這個(gè)問題不敢掉以輕心。介紹如何面試,有時(shí)候甚至可以寫一本書,而有時(shí)候,你什么都不準(zhǔn)備卻可以面試成功。

      因?yàn)?,面試的成功與否完全取決于主考官,因此,這門學(xué)問的主要科目就是研究主考官的招聘心理。

      我們研究好主考官的招聘心理,自然就可以做到“知己知彼”了。

      本小節(jié)只是說說面試的“心理戰(zhàn)”,而想真正的能夠?qū)Υ鹑缌鳎枰氖恰罢婀Ψ颉?,要想具備“真功夫”還是需要真正的技術(shù)水平作為前提的,本小節(jié)的內(nèi)容只是給那些已經(jīng)具備相應(yīng)技術(shù)水平的應(yīng)聘者提供一定的應(yīng)聘技巧而已,以避免沒有把自己的“真功夫”完全展示出來從而喪失工作機(jī)會。

      面試前對自己的心理暗示:

      面試并不是考試,只是和未來的同事聊聊天。

      “心理戰(zhàn)”對象,可能出現(xiàn)的主考官如下幾類:

      人物1,人力資源部主管(HR)

      人物2,你未來的主管

      人物3,你未來主管的主管

      我們分別來分析遇到不同類型的主考官的不同情況。

      人物1:人力資源部主管(HR)

      “人物1”的出現(xiàn)往往是進(jìn)行該職位的初審,給出一個(gè)概觀定論,如果合格將會提交給“人物2”?!叭宋?”他們所要進(jìn)行的是對人的心理和基本技能方面的一個(gè)判斷。

      不過,也有一些公司,首次面試仍然是由業(yè)務(wù)主管來進(jìn)行,然后再將初審合格的人交給人力部門來復(fù)試,如果,是這種情況,你應(yīng)該就算90%入職成功了,因?yàn)椋@個(gè)復(fù)試往往是走個(gè)形式,看看此人有沒有被主管忽略的大問題,如果沒有,基本就差不多了。

      那么,我們僅僅以第一種情況為例,看看“人物1”大多提出的是哪些問題。

      常見提問1:請你自我介紹一下

      這個(gè)問題,是人力部主考官必問的問題,這個(gè)問題的提問并不是真的想了解你的個(gè)人情況,因?yàn)?,你的情況基本上在簡歷上都寫著呢。他提出這個(gè)問題的主要目的是來考察你的語言表達(dá)能力,和你在表達(dá)過程中的一些細(xì)節(jié)表現(xiàn)。

      所以,我們應(yīng)該怎么回答呢?

      看看如下對話:

      HR:“請你自我介紹一下”

      A君:“您看簡歷吧,基本上我都寫在簡歷上了。”

      HR:汗?

      HR:“請你自我介紹一下”

      B君:“我叫XXX,年齡24,性別男,籍貫??”

      HR:倒?

      HR:“請你自我介紹一下”

      C君:“這話從何說起呢?話說10年前??”

      HR:暈?

      首先,不要認(rèn)為主考官沒有認(rèn)真的看你的簡歷,沒有看你的簡歷就讓你來面試,是在浪費(fèi)他自己的時(shí)間,所以絕對是首先認(rèn)為簡歷比較合適,才約你來的。

      第二,自我介紹并不是讓你重復(fù)一下你簡歷上的所有內(nèi)容,那些內(nèi)容簡歷上都有,主考官主要是想聽聽你如何表達(dá)和語言的邏輯能力。

      第三,這個(gè)表達(dá)不要滔滔不絕,要有張有弛,有收有放,主要將自己的想說的優(yōu)勢部分分別道來,能夠通過你的介紹讓人感覺到你的“親和力”為佳。

      “語言表達(dá)能力”并非我們?nèi)粘Kf的“能侃”或者“口才”,這是片面的理解,在面試過程中,我們要展現(xiàn)的“語言表達(dá)能力”是指,“語言親和力”,能夠讓人感受到你的“溝通”能力。

      回答范例:

      您好!我來自XXX大學(xué),是應(yīng)屆畢業(yè)生,所學(xué)專業(yè)是計(jì)算機(jī)應(yīng)用技術(shù),我在校期間參加多項(xiàng)課余工作,參與了多個(gè)應(yīng)用系統(tǒng)的開發(fā)與設(shè)計(jì),熟練掌握J(rèn)ava開發(fā)工具和應(yīng)用系統(tǒng)的各種開發(fā)方法。在學(xué)習(xí)與工作期間,總結(jié)與實(shí)踐了各種技術(shù)實(shí)現(xiàn)手段,有了一些小的積累。

      近期已經(jīng)畢業(yè),看到您公司的招聘信息,感覺自己的技術(shù)與能力非常合適,就投遞了簡歷。希望能過了您這關(guān),呵呵??(注:最后的微笑最好不要太牽強(qiáng),目的是緩和氣氛)

      大家看到了,這個(gè)回答范例的自我介紹非常簡練,但是,什么也沒有落下。既實(shí)事求是的說了自己是應(yīng)屆畢業(yè)生,又說明了自己雖然是應(yīng)屆畢業(yè)生,但是參加了很多的課余工作,并且具有實(shí)際的項(xiàng)目開發(fā)經(jīng)驗(yàn),而且有了一些小的積累。

      既說了自己的對這份工作和自己能力之間的考量,又表達(dá)了自己對主考官的期望。

      意思表達(dá)時(shí)不卑不亢,言簡意賅,讓人聽起來就感覺很舒服。

      這時(shí)候你的目的就達(dá)到了,展現(xiàn)出自己的“語言表達(dá)能力”和“語言親和力”,同時(shí)又能夠讓人感受到你的“溝通”能力。

      常見提問2:你最大的優(yōu)點(diǎn)是什么?

      這個(gè)問題如果是HR問,則最好回答了。

      回答這個(gè)問題的關(guān)鍵是“圍繞自己的技術(shù)特長”展開話題,為什么這樣?

      因?yàn)椋鵋R都不懂技術(shù),圍繞技術(shù)說自己的特長很容易給他說暈(當(dāng)然,個(gè)別懂技術(shù)的HR除外)。這里要注意的是,在說技術(shù)問題的時(shí)候,不要讓HR感覺自己什么都不懂,要注意說話的節(jié)奏,不要太快,不要太驕傲。

      常見提問3:你最大的缺點(diǎn)是什么?

      這個(gè)問題是HR的殺手锏,可以說這是HR的狠招,這個(gè)問題最難回答,一般應(yīng)聘者都本著“揚(yáng)長避短”的心態(tài)去面試,冷不防冒出這么一個(gè)問題,還真是挺棘手的。

      需要清楚HR問這個(gè)問題的目的,其目的仍然不是要真的需要知道你的缺點(diǎn)是什么,還是看看你的表達(dá)能力,尤其是需要考察應(yīng)聘者面對危機(jī)的時(shí)候的處理能力。所以,我們不要用下列方式作答:

      1、說出自己的真實(shí)缺點(diǎn),尤其是在前面談話中沒有暴露出來的缺點(diǎn)

      2、認(rèn)為說說某些大眾化的缺點(diǎn)即可,認(rèn)為說一兩個(gè)無妨

      3、說自己沒有缺點(diǎn),強(qiáng)調(diào)自己比較完美

      總之,HR心里想的是:需要了解他面前的這個(gè)人在面對困難的時(shí)候,是如何處理問題的,從處理危機(jī)的方法來判斷此人的處理事情的靈活性。當(dāng)然,如果此人自己暴露出自己的缺點(diǎn)當(dāng)然更好,省得需要去想辦法問更多的問題去發(fā)現(xiàn)了。

      所以,在回答這個(gè)問題的時(shí)候,要看起來“真誠”、“坦白”,同時(shí),說出來的并非自己的缺點(diǎn),而是最好在別人看來是優(yōu)點(diǎn)的那些方面。

      這個(gè)問題問的概率很大,通常如果求職者說自己小心眼、愛忌妒人、非常懶、脾氣大、工作效率低,肯定不會錄用你。HR喜歡求職者從自己的優(yōu)點(diǎn)說起,中間加一些小缺點(diǎn),最后再把問題轉(zhuǎn)回到優(yōu)點(diǎn)上,目的還是突出自己優(yōu)點(diǎn)的部分。

      HR喜歡聰明的求職者。

      這一點(diǎn)比較難掌握,我們也給出范例:

      回答范例:

      呵呵,這個(gè)問題好難回答?。∥蚁胂??(親和力表現(xiàn),也緩解了自己的緊張情緒)

      我的缺點(diǎn)是,比較執(zhí)著,比如在技術(shù)方面比較愛鉆研,有的時(shí)候會為一個(gè)技術(shù)問題加班到深夜。還有就是,工作比較按部就班,總是按照主管的要求完成任務(wù)。另外的缺點(diǎn)是,總在自己的工作范圍內(nèi)有創(chuàng)新意識,并沒有擴(kuò)展給其他同事。這些問題我想我可以進(jìn)入公司以后以最短的時(shí)間來解決,我的學(xué)習(xí)能力很強(qiáng),我相信可以很快融入公司的企業(yè)文化,進(jìn)入工作狀態(tài)。

      嗯??,我想就這些吧。

      這個(gè)回答范例開頭第一句話就讓人覺得很自然,因?yàn)檫@個(gè)求職者所說的話恰恰表達(dá)了一般人聽到這個(gè)問題后的心理狀態(tài),還有你一定會有一個(gè)思考的時(shí)間,因?yàn)?,誰也不會立刻說出自己的缺點(diǎn)。

      后面說出的幾個(gè)缺點(diǎn)都是一環(huán)套一環(huán)的,說了自己“比較執(zhí)著”,但又說自己其實(shí)是“比較愛鉆研”,說自己總是“按部就班”,但又補(bǔ)充了其實(shí)那是“按照主管的要求完成任務(wù)”,這時(shí)候,如果用人單位覺得,此人是不是沒有“創(chuàng)新思維”的時(shí)候,馬上就補(bǔ)充道“在自己的范圍內(nèi)有創(chuàng)新意識”,至于“沒有擴(kuò)展給其他同事”這件事,其實(shí)無關(guān)緊要,干脆就賣給HR吧。

      以上回答確實(shí)賣弄了些“技巧”,相信HR也一定能看的出來,但是,即使看出來了也無妨,HR也會心領(lǐng)神會,知道你是一個(gè)比較善于溝通并且善于表達(dá)的人。

      人物2:你未來的主管

      當(dāng)見到未來主管的時(shí)候,往往是應(yīng)聘者已經(jīng)過了HR那一關(guān),或者應(yīng)聘者已經(jīng)過了筆試的那一關(guān),因此見到這位人物意味著距離成功已經(jīng)向前進(jìn)了一步。

      “人物2”的面試也有他的目的,他是和你在日常工作中接觸最多的人,作為你的直接上司,他需要在工作中經(jīng)常給你分配任務(wù),他需要對他的主管負(fù)責(zé),因此,他招聘的這個(gè)人選必須是可以幫助他完成他整個(gè)Team的目標(biāo)的人。

      往往那個(gè)吸引你來面試的“招聘啟示”就是這個(gè)人物所撰寫的,因此,其實(shí)在你和他見面以前,早已經(jīng)通過“招聘啟示”和他有過交往了。因此,從“招聘啟示”中就可以初顯這位主管的端倪。

      注意,主管同志并不是人事領(lǐng)域的高手,不會用各種語言技巧去發(fā)掘你身上的缺點(diǎn)或者優(yōu)點(diǎn),往往問題都是實(shí)打?qū)嵉模蛘弑容^一針見血的,而且,更偏重于日常工作。

      那么,我們下面和他過過招。

      常見提問1:請你自我介紹一下

      這個(gè)問題,HR也問過了,到他那里有可能還會問,主管問這個(gè)問題和HR雖然問的問題一致,但是,其目的并不是完全相同的。

      他不僅僅想考察一下你的表達(dá)能力,同時(shí)還想考察一下你思路的清晰程度。

      我們在回答他的問題前,一定要想清楚一件事:他是該技術(shù)領(lǐng)域的高手,就是我們“程序員修煉三境界”中描述的“第二層境界”的那個(gè)人物,如果還想更清楚的了解這個(gè)人物,可以去重新看看前面的那個(gè)章節(jié)。

      這個(gè)自我介紹最好說的較為簡潔,不要過分炫耀自己的技術(shù)如何如何強(qiáng),免得引起這位主管的興趣,引起他的技術(shù)興趣沒有什么好處,只會帶來更多的技術(shù)問題的發(fā)問。

      常見提問2:你最引以為自豪的項(xiàng)目是什么?

      他問這個(gè)問題的意圖是想考察你的成長路徑和編程習(xí)慣,因?yàn)?,最讓你自豪的?xiàng)目往往是你成長最快的項(xiàng)目,那個(gè)成長最快的項(xiàng)目往往會給你今后的編程習(xí)慣留下很多痕跡。

      所以,通過你對那個(gè)引以為豪的項(xiàng)目的描述,有經(jīng)驗(yàn)的他會很快鎖定你技術(shù)成長中的缺陷和閃光點(diǎn),從而判斷是否能夠“為我所用”。

      你最好拿出一個(gè)自己最擅長技術(shù)的那個(gè)項(xiàng)目進(jìn)行介紹,這個(gè)項(xiàng)目最好能夠比較貼近招聘要求的那些指標(biāo)。如果,沒有做過什么有規(guī)模的正規(guī)項(xiàng)目,你就拿些自己非常擅長或者有創(chuàng)意的開發(fā)作品來說。這樣做的好處是,他聽完你的介紹后,會接下來進(jìn)行提問,他所有發(fā)問,你都成竹在胸了。

      切忌拿一個(gè)別人的項(xiàng)目,或者自己參與很少的項(xiàng)目來介紹,如果這樣的話,一旦他深入的詢問這個(gè)項(xiàng)目的問題,很可能你會所答非所問,反而造成更嚴(yán)重的影響。你大可以和他大談特談你在那個(gè)項(xiàng)目中獲得的經(jīng)驗(yàn),那會引起此君的共鳴,有可能的話,說出一些你自己的小技巧,他會很高興。

      常見提問3:如果我錄用你,你將怎樣開展工作

      他問這個(gè)問題的意圖是,希望看看你對這個(gè)職位工作展開的一些設(shè)想,仍然是“實(shí)打?qū)崱睆墓ぷ鞒霭l(fā)來提問的。所以,你在回答這個(gè)問題的時(shí)候也要“實(shí)打?qū)崱?,切忌虛無縹緲的一通“高、大、全”。

      一般要列出自己的入職之后的工作計(jì)劃,而這些計(jì)劃需要詳盡,同時(shí)需要體現(xiàn)出你工作的嚴(yán)謹(jǐn)性,也不能是想當(dāng)然的說出一些與工作無關(guān)的計(jì)劃,這都有可能適得其反。

      回答范例:

      針對這個(gè)如何展開工作的問題,我目前僅僅是對咱們公司的大體情況有一個(gè)了解,因此,對這個(gè)職位的工作性質(zhì)僅僅是自己的一個(gè)理解。

      所以呢,我也不知道是否合適,我只能說一個(gè)大概。

      作為這個(gè)職位而言,我想我首先要對本公司的主營業(yè)務(wù)要有一個(gè)相當(dāng)?shù)牧私?,了解我們公司的業(yè)務(wù)組成部分、業(yè)務(wù)的發(fā)展方向、我們面向的客戶性質(zhì)等等。

      第二,我要了解所屬部門在公司中的地位,以及部門的工作目標(biāo),從而確定自身的工作努力方向。

      第三,了解我參與項(xiàng)目的開發(fā)方式,架構(gòu)方式,緊密配合領(lǐng)導(dǎo)工作,盡快投入具體的開發(fā)工作。

      這就是我開展工作的計(jì)劃。

      從大到小的方式進(jìn)行了解,這么說可以讓領(lǐng)導(dǎo)知道你不是一個(gè)盲目工作的人,而是一個(gè)按部就班,穩(wěn)扎穩(wěn)打的人,使人覺得和你合作很踏實(shí)。另外,一定要強(qiáng)調(diào)所屬項(xiàng)目或部門的目標(biāo),因?yàn)檫@關(guān)系到面試你的主管的切身利益。最后,強(qiáng)調(diào)“盡快”投入開發(fā)工作,這樣,領(lǐng)導(dǎo)就放心了,你不是一個(gè)“只了解,不工作”的人。

      面對主管唯一要盡量表現(xiàn)的就是,你看起來非常像一個(gè)“工具”,入職后馬上就可以發(fā)揮作用。

      人物3:主管的主管

      遇到“主管的主管”的時(shí),往往已經(jīng)是復(fù)試,這說明基本上已經(jīng)是最后一關(guān)了。但要注意,這個(gè)最后一關(guān)是非常關(guān)鍵的一“關(guān)”。因?yàn)?,往往如果你未來的主管在公司中某個(gè)專業(yè)夠權(quán)威的話,他的主管一般不會管招聘的事情。因此,你看到這位“老大”的原因,多半是你未來的那位主管的專業(yè)地位還沒有“穩(wěn)定”。

      最后的“搏殺”

      過程大概是這樣的,一般會將兩個(gè)或三個(gè)人提交給“老大”,讓“老大”定奪,去選擇其中的一個(gè)人,因此,這個(gè)階段是一個(gè)最后的“搏殺”關(guān)鍵階段。老大”關(guān)注的問題:成本+人員素質(zhì)

      所以,我們在和“老大”過招的時(shí)候,一定要注意自己的言行,切忌不要穿“奇裝異服”,或者男士留有個(gè)性的頭發(fā)或胡子,總之一定要讓人看起來特別的“平?!?,雖然不是“西裝革履”但也要“衣冠整潔”。

      因?yàn)椋习鍌冏畈幌矚g“個(gè)性”員工,而最喜歡的是“優(yōu)秀”的普通員工。

      清華大學(xué)出版社《Java程序員,上班那點(diǎn)事兒》作者:鐘聲 章節(jié):1.2.2。

      本文來自CSDN博客,轉(zhuǎn)載請http://blog.csdn.net/useway/archive/2009/08/02/4402385.aspx

      標(biāo)

      第五篇:java程序員面試要點(diǎn)

      第一,談?wù)刦inal, finally, finalize的區(qū)別。

      final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize是 Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。

      第二,Anonymous Inner Class(匿名內(nèi)部類)是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?

      可以繼承其他類或完成其他接口,在swing編程中常用此方式。

      第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統(tǒng))。

      Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。

      第四,&和&&的區(qū)別。

      &是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).第五,HashMap和Hashtable的區(qū)別。

      HashMap是Hashtable的輕量級實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.第六,Collection 和 Collections的區(qū)別。

      Collection是集合類的上級接口,繼承與他的接口主要有Set 和List.Collections是針對集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對各種集合的搜索、排序、線程安全化等操作。

      第七,什么時(shí)候用assert。

      1.4新增關(guān)鍵字(語法),用于測試boolean表達(dá)式狀態(tài),可用于調(diào)試程序。使用方法 assert,表示如果表達(dá)式為真(true),則下面的語句執(zhí)行,否則拋出AssertionError。另外的使用方式assert < boolean表達(dá)式>:,表示如果表達(dá)式為真,后面的表達(dá)式忽略,否則后面表達(dá)式的值用于AssertionError的構(gòu)建參數(shù)。注意編譯時(shí)要增加-source 1.4 參數(shù),否則報(bào)錯(cuò)。]運(yùn)行時(shí)要增加 –ea參數(shù),否則assert行被忽略

      第八,GC是什么? 為什么要有GC?

      GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達(dá)到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。

      第九,String s = new String(“xyz”);創(chuàng)建了幾個(gè)String Object?

      兩個(gè)

      第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

      Math.round(11.5)==12Math.round(-11.5)==-11round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2后求其floor.第十一,short s1 = 1;s1 = s1 + 1;有什么錯(cuò)? short s1 = 1;s1 += 1;有什么錯(cuò)?

      short s1 = 1;s1 = s1 + 1;(s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)short s1 = 1;s1 += 1;(可以正確編譯)

      第十二,sleep()和 wait()有什么區(qū)別?

      sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會自動恢復(fù)。調(diào)用 sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)行狀態(tài)。

      第十三,Java有沒有g(shù)oto?

      沒有

      很十三的問題,如果哪個(gè)面試的問到這個(gè)問題,我勸你還是別進(jìn)這家公司。

      第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

      數(shù)組沒有l(wèi)ength()這個(gè)方法,有l(wèi)ength的屬性。

      String有有l(wèi)ength()這個(gè)方法。

      第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

      方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

      第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?

      Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。equals()是判讀兩個(gè)Set是否相等。

      equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當(dāng)兩個(gè)分離的對象的內(nèi)容和類型相配的話,返回真值。

      第十七,給我一個(gè)你最常見到的runtime exception。

      參考如下:

      ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException

      第十八,error和exception有什么區(qū)別?

      error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

      exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會發(fā)生的情況。

      第十九,List, Set, Map是否繼承自Collection接口?

      List,Set是

      Map不是

      第二十,abstract class和interface有什么區(qū)別?

      聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。

      接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè) 有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對象的類是否實(shí)現(xiàn)了接口。

      第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?

      都不能

      第二十二,接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?

      接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。

      第二十三,啟動一個(gè)線程是用run()還是start()?

      啟動一個(gè)線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個(gè)線程。

      第二十四,構(gòu)造器Constructor是否可被override?

      構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

      第二十五,是否可以繼承String類?

      String類是final類故不可以繼承。

      第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?

      不能,一個(gè)對象的一個(gè)synchronized方法只能由一個(gè)線程訪問。

      第二十七,try {}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally {}里的code會不會被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?

      會執(zhí)行,在return前執(zhí)行。

      第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?

      有C背景的程序員特別喜歡問這種問題。< < 3

      第二十九,兩個(gè)對象值相同(x.equals(y)== true),但卻可有不同的hash code,這句話對不對?

      不對,有相同的hash code。

      第三十,當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

      是值傳遞。Java 編程語言只由值傳遞參數(shù)。當(dāng)一個(gè)對象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對該對象的引用。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的引用是永遠(yuǎn)不會改變的。

      第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

      switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、short、char 或者 byte。long,string 都不能作用于swtich。

      第三十二,編程題: 寫一個(gè)Singleton出來。

      Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。

      一般Singleton模式通常有幾種種形式:

      第一種形式: 定義一個(gè)類,它的構(gòu)造函數(shù)為private的,它有一個(gè)static的private的該類變量,在類初始化時(shí)實(shí)例話,通過一個(gè)public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。

      public class Singleton {

      private Singleton(){}

      //在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪?

      //注意這是private 只供內(nèi)部調(diào)用

      private static Singleton instance = new Singleton();

      //這里提供了一個(gè)供外部訪問本class的靜態(tài)方法,可以直接訪問

      public static Singleton getInstance(){

      return instance;

      } }

      第二種形式:

      public class Singleton {

      private static Singleton instance = null;

      public static synchronized Singleton getInstance(){

      //這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次

      //使用時(shí)生成實(shí)例,提高了效率!

      if(instance==null)

      instance=new Singleton();

      return instance;} }

      其他形式:

      定義一個(gè)類,它的構(gòu)造函數(shù)為private的,所有方法為static的。

      一般認(rèn)為第一種形式要更加安全些

      其中也存在一些問題,下面補(bǔ)充一下.希望大家繼續(xù)補(bǔ)充

      1.最好介紹一下final修飾變量的情形(分開說明基本類型變量和引用類型變量)。

      2.不知道如何描述比較好,匿名內(nèi)部類本身是一個(gè)實(shí)現(xiàn)了特定接口或繼承了其他類的類。

      3.非靜態(tài)類不能有static的方法。參考一下java collections framework的代碼,還能說出很多東西來。

      4.&既是位運(yùn)算符,也是邏輯操作符。

      &和&&都是邏輯運(yùn)算符,它們的區(qū)別是,&&進(jìn)行短路計(jì)算。

      6.可以補(bǔ)充一下,參考文檔。

      11.說一下具體的原因可能更好。

      13.java有g(shù)oto這個(gè)keyword,不過還沒有使用。

      15.overload和多態(tài)沒有任何關(guān)系。多態(tài)是面向?qū)ο蟮幕咎卣?,是和繼承、overriding相關(guān)的。原來以為把overload當(dāng)作多態(tài)的一種是從C++來的,后來翻了基本c++的經(jīng)典的書,也強(qiáng)調(diào)多態(tài)只是和繼承,虛函數(shù),overriding相關(guān),所以不知道這個(gè)錯(cuò)誤思想從哪來的了.16.public interface Set extends Collection 一個(gè)不包含重復(fù)元素的 collection。更確切地講,set 不包含滿足 e1.equals(e2)的元素對 e1 和 e2,并且最多包含一個(gè) null 元素。正如其名稱所暗示的,此接口模仿了數(shù)學(xué)上的 set 抽象。

      看文檔就是了.22.“抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。”什么意思?誰規(guī)定的?

      27.這個(gè)比較復(fù)雜,例如

      public class Main {

      public static void main(String[] args){

      System.out.println(test());}

      public static boolean test(){

      boolean b = false;

      try {

      return b = 4 > 3;

      } finally {

      System.out.println(b);

      //return false;} } }

      這個(gè)例子中可以看出,return后面的表達(dá)式已經(jīng)計(jì)算了,感覺return語句這里被掛起了,如果finally中沒有return,這個(gè)return就返回.如果finally也有return,那么就是finally中的return返回了.29.碰上不守規(guī)矩的程序員誰也沒辦法.31.還有枚舉呢

      32.注釋有問題.

      下載Java程序員面試中的多線程問題word格式文檔
      下載Java程序員面試中的多線程問題.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        Java程序員面試(大全5篇)

        Java程序員面試三十二問第一,談?wù)刦inal, finally, finalize的區(qū)別。 Fanal 修飾符 可以修飾類,屬性和方法。 被修飾的類不可以派生子類,不能被作為父類被繼承。它修飾的屬性......

        程序員面試個(gè)人簡歷(JAVA)

        個(gè)人簡歷 基本信息: 姓名:張三 性別:女 年 齡:23 工作經(jīng)驗(yàn):2年 專業(yè):軟件技術(shù) 教育程度:???聯(lián)系電話:xxxxxxxxx E-mail: xxxxxxxxxxx@126.com 職業(yè)技能與特長: 熟練掌握java語言,......

        Java程序員面試干貨

        有了這些,還害怕面試么? 不管你是學(xué)生還是工作者,多多少少都對面試感到困擾和無奈,為啥你總是被拒絕?為何面試官屢屢刁難讓你不知所措?原因是因?yàn)槟悴恢阑卮鸬募记?,怎樣回答面?.....

        java程序員面試必備問答匯總

        什么是類與對象? 所謂對象就是真實(shí)世界中的實(shí)體,對象與實(shí)體是一一對應(yīng)的,也就是說現(xiàn)實(shí)世界中每一個(gè)實(shí)體都是一個(gè)對象,它是一種具體的概念。 類是具備某些共同特征的實(shí)體的集合,它......

        Java程序員面試注意事項(xiàng)(模版)

        Java程序員面試注意事項(xiàng) 隨著Java框架的逐漸成熟,其功能越來越強(qiáng)大,使用越來越簡便,其使用范圍越來越廣,使用人數(shù)也越來越多。Java在帶來方便的同時(shí),無形中也帶了不便,作為軟件開......

        Java程序員面試寶典

        第3章Java語法基礎(chǔ) 基礎(chǔ)類型和語法 1、變量及其作用范圍 Java變量可以分為:靜態(tài)變量、成員變量和局部變量3種。 靜態(tài)變量:在類中用static修飾的變量,它的生存周期是由類來決定......

        面試笑話Java 程序員

        面試笑話Java 程序員 面試官:知道多態(tài)么?應(yīng)聘者:知道,我很保守的。我認(rèn)為讓心愛的女人為了自已一時(shí)的快樂去墮胎是不道德的行為!請問這和C#有什么關(guān)系?2.自行車 一個(gè)程序員騎著......

        Java程序員面試注意事項(xiàng)

        一、回答問題的思路 先正面敘述一些基本的核心知識,然后描述一些特殊的東西,最后再來一些錦上添花的東西。要注意有些不是錦上添花,而是畫蛇添足的東西,不要隨便寫上。把答題像......