2014-03-19 25 views
3

我將接受一個初級java開發人員的面試。我在編程方面沒有 專業經驗,這意味着我從未爲任何人制作任何 應用程序。我被要求準備面試 一些例子:一種計算器應用程序。他們把2個條件:在java中輸入 - 準備面試

  1. API應該是:

    public int calculate(String action, int a, int b) 
    
  2. 例如:

輸入:乘5 4 輸出:20

他們是什麼意思通過API和輸入/輸出?我總是輸入簡單的數據作爲字符串[]參數我應該有像 這樣的主類(我主要是指與用戶通信的類)?

class MainClass { 
    public static void main(String[] args){ 
     String action = args[0]; 
     int a = Integer.parseInt(args[1]); 
     int b = Integer.parseInt(args[2]); 
     SomeClass calculator = new SomeClass(); 

     // Is this using of API? 
     int result = calculator.calculate(action, a, b); 

     System.out.println(result); 
    } 
} 

其他方法的輸入和輸出(如掃描儀,InputStream,控制檯)呢?如果你進行這樣的面試,你會期望什麼?

+4

如果你不知道這一點,你應該成爲一名初級開發人員....至少在那個位置/語言。 – Fallenreaper

+0

但我會說,是的。你大部分都是正確的。如果你需要創建一個API,你需要有一個類,並且在很多情況下,重載這些函數,以便接受多種輸入類型。 – Fallenreaper

回答

1

只要實施方法public int calculate(String action, int a, int b)

API代表應用程序編程接口。它或多或少是可用於其他地方的可用函數,方法和類。您不必擔心數據如何輸入到程序中,它可以被硬編碼,從用戶讀取,從文件中讀取等。

還要注意,很多時間,這些看似簡單問題,他們正在尋找安全的代碼。這是如何反應不好的輸入,例如calculate("invalid operation", 2, 1);在這種情況下,因爲你不能返回一個錯誤代碼,你可能想拋出某種Exception

1

API(WikiPedia def)不僅在Java中與「main」方法相關,除了(可能)如果您正在開發CLI(命令行界面)工具。 API是您的應用程序或組件中第三方可用的一組公共服務,類和方法。

因此,你的方法似乎是正確的,因爲CLI工具適合它們所要求的接口,但是如果你只是用該方法實現一個類,那麼calculate(...)也是正確的,在這種情況下,把它想象成一個「數學庫「需要適合該API。

我認爲在這種情況下重要的是如何實現該方法,而不是API的概念。

1

API代表應用程序編程接口,它只是您的應用程序應該爲其他應用程序提供的方法。無論如何,你的主要方法只能用於測試你的API。如果我正在採訪你,我會期望一個完整的類實現方法,如添加,乘法等與他們的輸入(例如兩個數字)和一個類來測試它,用一種主要方法。