.net 機試題回顧
阿新 • • 發佈:2018-12-07
銷售稅問題:
重點:
- 按型別徵稅,某些型別免稅;
- 還有出口稅,按是否出口收稅;
- 稅收取值問題,稅金上舍入 0.05
N久沒有做過類似的題了,略分析,便可知道考核點:策略模式,以及基礎的演算法,這樣的考試其實比單純的做題面試要好很多,直接考核程式設計能力,並可以從程式碼上分析出個人編碼風格。
好吧,先說結果,題做的不錯,面試也不錯,可惜HR忽悠我不太考核英語,恰恰英語口語把我刷了,哎~~~浪費時間啊!英語是短板,是短板,是短板!需要好好補充,以後不受這歧視!
上舍入
先說上舍入,以下是google出來的,簡潔哦:
public static decimal roundUpToZeroPZeroFive2(decimal input) {
var output = Math.Ceiling(input*20)/20;
return output;
}
以下是自己寫的,按照演算法推導的。
public static decimal roundUpToZeroPZeroFive2v2(decimal input)
{
decimal dPrecent = 100;
var nTmp = (long)Math.Floor(input * 100);
if ((nTmp % 5) == 0)
{
return (nTmp / 5 ) * 5 / dPrecent;
}
else
{
return (nTmp / 5 + 1) * 5 / dPrecent;
}
}
看起來基礎不夠紮實,寫的有點囉嗦。。。
策略模式
我的思路跟上圖類似,抽象出一個額外稅收的基本介面,實現兩個稅收類(銷售稅和出口稅),
定義一個商品類,一個商品集合類;
商品集合類處理稅和總價。
一氣呵成,對方給的三個測試用例,也一次成功!
優化
感覺優化的地方不多,因為沒有擴充套件的需求,盲目優化導致專案複雜而難以維護,本著能少寫程式碼就少寫的原則,不做不必要的優化。啊哈哈,估計不優化並不是對方的目的。但按本心走,over!
結論
老外面試一把到底,暈菜了,HR是拿我沖人數的嗎~~~~
老外的面試及其給的學習建議:多讀,閱讀掌握詞彙量,這和之前看的培訓有很多相似之處!也算是略有所得!感謝這外美國老外!
在此我向大家推薦一個微服務架構學習交流群。QQ交流學習群號:864759589 裡面會分享一些資深架構師錄製的視訊錄影:高併發、高效能、分散式、微服務架構的原理,分散式架構等這些成為架構師必備的知識體系。