Java程式員,筆試必讀

來源:互聯網
上載者:User

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

 

        清華大學出版社《Java程式員,上班那點事兒》作者:鐘聲 章節:1.2.3:
        前面我們瞭解了和不同角色的人物見面的面試技巧,下面再說說程式員們更加頻繁遇到的一個考核方式“筆試”。
        “筆試”對於初級程式員應聘者來說是一個關鍵一關,也是刷掉的可能性最大的一關,一次面試中大部分程式員都會由於“筆試”沒有過而無緣進入下一個階段,只有少數程式員得到與主考官見面的機會。
        作為即將應聘初級程式員的我們,更應該做好技術的準備工作,這部分工作恐怕要花費比較多的時間去準備。
        如何準備?
        還是那句話至少應該讀完本書,因為除了“技巧”之外,“技能”更重要。

1.2.3.1 筆試目的
(1) 為防止沒有實際開發經驗和開發技能的人來面試,可以通過“筆試”過濾掉一批人;
(2) 考察掌握知識的紮實程度,及面對問題的思考方式。 1.2.3.2 筆試誤區,這些情況在筆試時應避免
(1) 有一道題不會,就放棄了整個筆試
也許你認為這道題很難,其他競爭者也會覺得很難。
(2) 沒有看清題匆忙作答
這不是入學考試,如果沒有人給你計時間,你不用那麼匆忙,正常速度作答即可。
(3) 不能完整作答的,乾脆就空白
這和我們在學校考試不一樣,如果你不能回答完整,最好也寫上思路,或者寫上想和主考官說的話,有的時候他也會給你機會的呦。
(4) 不清楚的一些概念性的問題,用其他同樣不太清楚的概念“生搬硬套”
有些概念本來就不太清楚,就別拿另一個你不清楚的問題往上“套”啦,這樣做,往往讓主考官哭笑不得,一下暴露原來這些概念都不清楚。
(5) 筆試沒有60分及格線這麼一說
應聘職位的“筆試”和我們在學校的“考試”完全不同,不存在“及格”與“不及格”的問題,也許你某一個道題回答的很精彩,但是總分並不是很理想也會被錄用。 1.2.3.3 筆試技巧我挑了幾道筆試題,曾經給入職程式員出過的幾個測試題,大家看看應該怎麼作答,我們再看看需要注意什麼,題目如下: 1.2.3.3.1 例題1:請說出這個程式的目的是什嗎?返回結果是什嗎? public Station(URL urla){
try
{
     String a="",b="";
     InputStream ins = urla.openStream();
     BufferedReader bReader = new BufferedReader(new InputStreamReader(ins));
     String info = bReader.readLine();
     int i=1;
     info=bReader.readLine();
       while(info!=null){
          a=info.substring(0,info.indexOf("@"));
          b=info.substring(info.indexOf("@")+1,info.length());           if (i==1){
             this.X1=Integer.parseInt(a);
             this.Y1=Integer.parseInt(b);
         }                 if (i==2){
             this.X2=Integer.parseInt(a);
             this.Y2=Integer.parseInt(b);
        }
        if (i==3){
             this.X3=Integer.parseInt(a);
             this.Y3=Integer.parseInt(b);
       }
       if (i==4){
            this.X4=Integer.parseInt(a);
            this.Y4=Integer.parseInt(b);
       }
       i++;
       info=bReader.readLine();
       }
   }
   catch(MalformedURLException e){
       System.out.println(e);
   }
     catch(IOException e){
      System.out.println(e);
   }
} 該題解釋:
第二問,傳回值是什嗎?
總有人直接回答,說“沒有傳回值”,這說明沒有弄明白建構函式的聲明,如果是普通函數沒有傳回值的話,應該用“void”而不是沒有寫任何東西。 第一問,這個程式的目的是什嗎?
這個程式乍一看確實不太明白,其實,這正是在考察應聘者的想象力和理解能力,這個程式一看就應該知道這是一個建構函式,這個建構函式裡有四對變數分別是“X”和“Y”作為開頭的,讓人直接聯想到座標,另外這個建構函式的名字是Station,說明這個類的名字是Station,因此,可以想見,這個確實是這個Station的四個點的座標,是用http協議到一個Web上去取得一個字串,再去解出這個字串中的每一個數字,賦值給相應的屬性。  某君的比較精彩回答:
該函數是一個建構函式,他的目的是構造一個Station類,根據他的名字和屬性判斷,這個類有可能是描述一個物體的位置資訊,這個資訊可以解出四個變數分別賦值給不同的屬性。疑問,感覺用substring 和indexOf的方法解析出資料比較麻煩,為什麼本程式不用String的split方法呢?那會更省事點。另外這個程式是採用URL類的openStream()方法得到遠端某一個網頁上的資料,那網頁可能是一個JSP,可以直接從資料庫中取得資料,這個方法,省去了一個自建的Server程式,這種用法我是第一次看到,感覺學習到了一個新的應用方法的知識。 1.2.3.3.2 例題2:請寫一段html,完成下列表格的樣子。注意:是單線邊框。
  該題解釋:
陷阱一:這道題初看起來很簡單,似乎就是在考一個簡單的“<table>”標記,於是有很多人都直接畫出了一個table,至於單線邊框的問題,他們總是用“border="1"”來描述table。
這樣的話,畫出來的圖一定是這樣的。還是一個雙線表格,並沒有像一樣的單線邊框。 陷阱二:本題表格中的文字是大小寫不同的,有的用的是小寫,有的用的是大寫,一定要按照要求回答問題,這主要考察的是按照要求完成任務的能力。 正確答案:<table width="200" border="0" cellspacing="1" bgcolor="#000000">
  <tr>
    <td bgcolor="#FFFFFF">A</td>
    <td bgcolor="#FFFFFF">b</td>
    <td bgcolor="#FFFFFF">C</td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">D</td>
    <td bgcolor="#FFFFFF">e</td>
    <td bgcolor="#FFFFFF">F</td>
  </tr>
</table>         如果你做過網頁中的表格,一定知道應該用這個方法獲得單線邊框的表格,因為這是一個典型的單線表格設計方法。當然,有的人用CSS來回答這個問題,也可以算對,只是方法比較複雜了。 1.2.3.3.3 例題3:一個演算法題        再給大家一道據說是難倒很多人的題,這道題曾經有50人接受過提問,但是,只有3個人答對,請大家試試如何回答。
        要求:有兩個數組一個N個元素,另一個M個元素,這兩個數組中有些元素是相同的,希望通過編寫一段程式將兩個數組中的相同元素找出來,請用最少的迴圈次數完成需求,請問需要用什麼方法?
        一般程式員馬上會想到類似如下的程式:for (int j=1;j<m;j++){
     for(int i=1;i<n;i++){
       ……
    }
} 那麼,這個方法的迴圈次數是多少呢?答:M*N個。        但是,要注意這個題的要求是,最少的迴圈次數完成需求,這時候只要想想一共有幾種方法完成這個任務即可,然後從中選擇一個最快的就行了。
        正確的答案是,用雜湊表的方法,這個方法的迴圈次數是M+N,一個是將M裝入雜湊表的迴圈,一個是將N逐個放倒M雜湊表中去查詢的次數。
        這道題有兩個陷阱,第一個,“演算法題”,一般有些程式員只要聽到“演算法”這個詞,馬上暈了,從而影響合理的思考。第二個陷阱是“最少”,用最少的迴圈次數的方法,而不是普通的,但就是這麼兩個陷阱使很多應聘程式員落馬。 1.2.3.3.4 例題總結        大家看看,上面的筆試題其實從技術方面來說都不難,但是陷阱比較多,而且,需要你能夠有想象力,與出題者形成互動。從這幾個例題可以看出,招聘單位最需要的人是實踐能力強的人,因此,我們要從這個方面多下功夫,這些功夫擷取途徑仍然是加強日常的積累,本書的後面章節中也會涉及更多的類似經驗,讀者可以循序閱讀。
清華大學出版社《Java程式員,上班那點事兒》作者:鐘聲  Java程式員,上班那點事兒 》, 前言 , 目錄 卓越網銷售連結
China-pub銷售連結
噹噹網銷售連結 《Java程式員,上班那點事》紀念帖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.