面試前要回傳一個問卷型的題目,主要問一些費米問題,填寫後經評估後,會有下一步的視訊面試,由於我之前沒有在看這些面試趣分享
,若有先看不會一時反應不過來那些答題,題目幾乎一模一樣,由於先前工作屬一條龍全包的工作,突如其來的要我解釋以前剛學程式能侃侃而談的的c#多型,抽象那些是什麼的問題,不過也許該公司有他的考量,也許我在更早前很會講這些不一定會寫反而能有往下一步的機會.不過這些東西其實有先稍微看一下就會講了,有面試趣的分享可以幫助到很多人事先準備.
面試問答
傳值傳址解釋
一般參數:複製一份,改不到外面的值
ref:要先給值,可以改到外面的值
out:不用先給值,但函數內一定要設定值給它
解釋多型
多型就是「一個介面,多種形式」,主要有三種:
繼承多型 介面多型 方法多型:
簡單說就是:
讓不同類別可以用相同方式呼叫
增加程式的彈性
方便維護和擴充
解釋 stackoverflow exception
StackOverflow 異常簡單來說就是程式呼叫太深,導致記憶體堆疊滿出來:
最常見的例子是遞迴沒有設定終止條件:
就像疊盤子:
一直疊(呼叫)沒有停止 → 最後會倒塌(溢位)
要設定停止的條件 → 不會一直疊下去
解釋介面,抽象
主要差異:
介面:純規格,全都要實作
抽象:可以有部分實作,省得子類重複寫
怎麼寫費氏數列
遞迴版本(簡單但效率差):
迴圈版本(效率好):
陣列版本:
細節自己查做準備
解釋多載
在 C# 中,多載(Overloading)是指同一個類別中,可以有多個方法名稱相同,但參數的數量或類型不同的情況。透過多載,方法可以根據傳入的參數自動選擇適合的版本。
多載的重點:
方法名稱相同。
方法的參數數量或類型必須不同。
與方法的回傳型別無關(回傳型別不同不算多載)。
面試建議
面試體驗感覺有點可惜,不過很值得體驗,提醒自己要時時磨練並記憶說明的技巧,(雖然現在問一下機器人就可以回想起來了 >< 趨勢所在似乎有些東西不是那麼必要