今天去奧博的天(objectival)面試遇到了這樣的 一道的機試題
題幹大致如下:
有關稅率的問題: 一般的商品要交的消費稅,單除了 醫藥,書籍,食品之外 不交稅,他的稅率是10%, 還有的就是 進口稅 ,進口稅 稅率是5%, .
測試用例通過xml來存放資料,
要求 本面試題完全使用了物件導向的方式來實現。 來計算商品的稅收,並且商品稅收是進行捨入0.05的操作,如13.14捨入是13.15, 60.00捨入是60.00,
13.151捨入是13.20 並且要求增加更多的稅收以後或者 消費稅增加更多的免稅商品品種以後, 要求改更少的的源**,最好只通過 配置檔案。
基本的源**:
我們 需要 稅率的 基類
/// /// 基本的稅率的基類 任何稅率繼承 此類 ///
public abstract class basetaxes
//進行捨入的0,05 操作
///
/// 計算的幫助類 任何稅類計算都 進行 捨入的0.05 操作
///
public static class calchelper
}
進口關稅繼承與他
///
/// 進口的關稅
///
public class importedtaxes:basetaxes
}由於不會直接操作xml檔案
///
/// 進行xml檔案路徑的拼接
///
public class stringhelper;}
}此消費稅也是繼承與基本稅的藉口
///消費稅
public class taxes:basetaxes
}///
/// 消費稅的那些的種類 由於會自動增加免消費稅的種類 所以寫了這個 類自動的新增
///
public class taxescategory;}
}//計算 總額和稅收的結果的類
/// /// 計算 總額和稅收的結果的類 /// public class myresult
public decimal taxes }
///通過稅收工廠產生不同的稅收
public class taxesfactory return _basetaxes; }
//進行xml檔案操作與正規的測試用例
static void test()
result = newresult(xmldocument);
xmlnode xmlthirdnode = xmlnode.selectsinglenode("result");
decimal tax = convert.todecimal(xmlthirdnode.attributes["tax"].value);
decimal total = convert.todecimal(xmlthirdnode.attributes["total"].value);
bool istaxpassed = result.taxes == tax;
bool istotal = result.total == total;
}console.writeline();
}catch (exception)
}總結 專案經理說著不是真的物件導向,當增加乙個類以後怎麼辦啊,我鬱悶啊,你自己加乙個類 繼承與 基類 當 操作的時候,你在後面增加源**。 這不是達到了修改關閉,增加開放物件導向的高階的原則嗎
乙個面試題引發的血案
今天去奧博的天 objectival 面試遇到了這樣的 一道的機試題 題幹大致如下 有關稅率的問題 一般的商品要交的消費稅,單除了 醫藥,書籍,食品之外 不交稅,他的稅率是10 還有的就是 進口稅 進口稅 稅率是5 測試用例通過xml來存放資料,要求 本面試題完全使用了物件導向的方式來實現。來計算商...
一道JS面試題引發的血案
剛入職新公司,屬於公司萌新一枚,一天下午對著螢幕看 架構時。bi專案組長給我看了一道面試別人的js面試題。雖然答對了,但把理由說錯了,照樣不及格。話不多說,直接上題 var a 1 switch a result 最後什麼都不會輸出 看完題如果答對並且知道理由的小夥伴,僅當加深印象 如果你也像我一樣...
一道JS面試題引發的血案
剛入職新公司,屬於公司萌新一枚,一天下午對著螢幕看 架構時。bi專案組長給我看了一道面試別人的js面試題。雖然答對了,但把理由說錯了,照樣不及格。話不多說,直接上題 var a 1 switch a result 最後什麼都不會輸出 看完題如果答對並且知道理由的小夥伴,僅當加深印象 如果你也像我一樣...