[心得] C#基礎名詞解釋
會發這篇文主要是面試被洗臉
我都會做啊
但我就不會解釋啊
雖然是寫給自己看的
但就分享出來吧
有錯請各位前輩提醒,我會修改
若有需要新增也請跟我說
謝謝
此份解釋僅為簡易版,想要詳細了解的話還是建議去看書
考試時照抄會死喔>_O
-----------------------------------------------
1.OOP:
Object-oriented programming物件導向
定義:以物件做為程式導向,藉此提高程式的重用性、靈活性、擴充性
1.封裝:限制能夠存取方法、欄位的對象
2.繼承:重複的程式碼只需撰寫一次,行為定義
3.多型:用於繼承、介面,同名稱的方法,內容卻不同
4.抽象:具有共同特性的類別及方法
5.多載:呼叫同名稱的方法時傳遞不同參數以執行不同的方法
2.MVC:Model–View–Control
Model:負責處理資料,不做畫面處理
View:負責畫面顯示,不做邏輯處理
Control:負責使用者操作
3.MVVM:Model-View-ViewModel
Model:負責處理資料,不做畫面處理
View:負責畫面顯示,不做邏輯處理
ViewModel:接受View的指令,給Model做處理,並將結果回給View
4.程式模組化:將巨大的功能拆分為小功能,提高程式設計效率、功能可重複使用、方便擴充及除錯
5.Class:類別,質型別,包含屬性及方法,記憶體位在Heap上,可繼承
6.Struct:結構,參考型別,包含屬性及方法,記憶體位在Stack上,不可繼承
7.Object:物件,Class的實例化(new)
8.Variables:變數,直接對應到記憶體位置的物件
9.Field:欄位,不具有get或set的變數
10.Property:屬性,具有get或set的變數
11.Method:方法,function
12.Value Type:質型別,記憶體位置存放的是值。例:int a = 0;
13.Reference Type:參考型別,記憶體位置存放的是記憶體位置的。例int b = a;
14.Constructor:建構子,在類別中有一個與類別同名稱的方法,在實例化時設定物件
15.Global:全域記憶體,存放全域變數或宣告為static的變數。記憶體直到程式結束才會釋放。
16.Stack:存放值的記憶體區塊,系統自行配置。記憶體釋放順序為先進後出。
17.Heap:存放參考類型(物件)的記憶體區塊,由使用者配置,若其中的指向為空,則記憶體由GC自動釋放。
18.修飾子: public、private、protect、internal、sealed
19.Lambda:使用=>的匿名函式,例:(Array a, int b) => a.length > b;
20.型別:string、int、bool、List、Array等等
21.GC:Garbage Collection垃圾回收機制,系統自動搜尋記憶體中那些部分是曾用到但現在不使用的,找到後會進行記憶體釋放,其觸發時間不固定
--
類別跟結構應該是差在value type 和 reference type
漏寫了,我補上,感謝
我覺得參考型別和值型別與heap, stack是獨立的概念
物件裡的變數有執行別和參考型別但都是在 heap 裡
*值型別
stack和heap的解釋建議你再去多了解一下
區別參考類型與值類型,應該是看變數存的是資料實
例還是參考。參考類型會有參考和資料需要儲存;值
類型則是只有資料。至於參考或資料要存放在哪裡是
實作細節,視上下文而定。
認真給推 但我覺得繼承的說明改成實作多型會不會比較好
該去翻翻clr via c#了 面試真辛苦 囧
罰寫課文喔?
啥小,這還要特地記
謝謝讓我回想起大學程設課筆試部分
property 是 field + getter + setter, 然後 get/set 是
method 不是變數
存取修飾子還有 private protected 和 protected intern
al
好青春的感覺ㄛ
全都常識有什麼好記的 面試也不是要考你這些 而是能
不能舉例用過這些的例子 好壞處是什麼
只有少數幾個名詞比較少講,其他幾乎都是常識阿!
這些有要背嗎 不是常識?
這些本來就不是給老手看的啊 給新手看還可以吧
面試就會考這些 會背的也不一定會co...XD
分享給推
分享給推 不過面試如果單純考名詞解釋真的感覺蠻無聊的.
..還不如考像是String == 的結果之類的還比較好QQ
....嗯
對程式設計師,這真的是基本,不能說你工作久了就忘了
...
其實在不同地方,每個人認知會有稍微差別
這些只有在你實際使用過內心就會有一個概廓的形狀
這些比起背誦中文要來的能夠說服人
Open book:從dnSpy的RVA計算出對應的file offset#Game Mod
這些在面試答不出來挺誇張的 代表平常都在亂兜程式碼
會動就好
這個真的超基本 講不出來太扯
如果只是要你大概描述概念呢 你是真的說不出來嗎
是本科都講得出來
被考過argument和parameter的差別...
還有process vs thread也是常見考題
我反而很好奇你所謂不會解釋,是回答了什麼?
難道直接說「窩不知道」嗎,連回想自己寫過的東西加以
舉例都沒有?
老實說考這個滿無聊的 像是在質疑你會不會寫程式一樣
而且這東西可以問很細 細到底層怎麼編譯的都能問
與其面試問這個 不如先發張線上考券 限時寫完
要我到現場回答這些問題 我會覺得很浪費時間
這些答不出來基本功不太行
看起來是新手吧. 不會也沒差反正前輩code都寫好
改一改很簡單.阿如果你是前輩.工作久了自然就熟了
新手急著上工可以去面試不問這些的公司. 公司多的是
印出來帶著,下次面試官問叫他自己看XD
MVC, MVP, MVVM 你講的出來每個元件的用處是什麼 但是我
猜面試官想問的是 究竟這三個pattern的實際上的區別到底
在哪 分別解決了什麼問題 怎麼解決的 我也很常面試別人
時 問面試者一樣的問題 90%都跟你一樣 答的出來每個元件
在幹嘛 但答不出來到底每種pattern的區別在哪 最後就是
直接給他個no hire
你的stack跟heap答案看起來像是要面試寫compiler的公司
通常應該是指DS的stack跟heap吧 建議少抄課文
baobomb大說的回答方式才是對的
對老手或許是常識 但也可以留給新鮮人啊
這應該EECS常識 但是還是推熱心 給非本科系的快速導覽
我也覺得考這些很無聊啊,這週面試6間,就有1間考這種東西,
不問其他問題,就只考這些,傻眼到爆
多一點這樣的文 幫助新鮮人 也是不錯的
我比較想知道 哪間公司洗你的臉
你有些還是錯的....
有些看起來怪怪的
考這個答不出來的話那個水準...
struct是value type, class是reference type吧
Class是 reference type, Struct才是value type喔
c#不熟 但是 struct 不能allocate到heap上嗎
樓上 它是啥type跟要allocate到哪無關
你mvvm的vm,比較像在說mvc的c?vm應該不是回傳,而是
事件通知的雙向綁定,
我用xamarin後才懂mvvm,其它mvxx什麼的還是搞不懂
面試不會考這些,但五年還解釋不了這些真的慘,送分題吧
allocate在對C#來說不很重要 https://bit.ly/3fL6hwN
我覺得第一次面被洗臉正常 還是要看書的
看完這篇我就懂為啥人家要考你這些了
?????記這個要幹嘛
工作時把所有名詞術語都去掉是要怎麼溝通啦?
可愛
推分享
這些名詞包括觀念都不限於C#吧
工作五年了 這點程度的東西的確是不應該考 應該是都要會的
的基礎知識 要問的應該是更深的 如果連這都答不出來 也
很難再繼續延伸下去吧
這個在幹嘛......
我也是大概寫道第四年才有人教,算是運氣不錯。寫程式
前1~3年,看過很多版本的Code,都沒辦法滿意,直到第
四年,才學習怎麼寫框架。
目前看到的mvc 很多人還是沒有把商業邏輯拆分,然後寫
在單一controller 裡頭,寫的很攏長,應該是要區分功
能跟商業邏輯來清楚的實做。model也不是單純的bind sq
lData or view上。在用interface 去劃分的時候 應該會
發現程式架構越龐大,也能夠輕鬆拆分的好處。
但是面試考這些,實價上進到公司裡頭才發現真的理解的
人不多,都只是表面理解。
謝謝分享~
沒generics, attribute, extension 不合格啊
喔喔喔喔喔…plc砍入屎系統 Ez啦!
推分享
分享推
9
[問卦] 磁碟分頁的設定問題。我有C槽(系統碟) 與D槽(存放雜物) 兩個都是兩TB 磁碟分頁設定 是多多益善嗎? 還是夠用就好 大約幾GB (本人記憶體大約8G) 然後是系統碟需要設定 還是 非系統碟也能設定磁碟分頁2
[問題] 清理記憶體跟暫存檔大家好, 昨天之前都還在用iphone7,一直以來都時不時覺得手機慢的時候,會用電池醫生釋放一 下記憶體,雖然一直也不知道有沒有用 Orz 現在換了iphone11,當然覺得很快 但是還是想請問一下,需要去做清理記憶體跟暫存檔的動作嗎(有什麼app可以使用)?5
Re: [討論] 記憶體差2G影響有很劇烈嗎相關手機系統產業新聞, Android 11 測試版 新增與 iOS 類似的暫時釋放 app 佔用記憶體功能 以降低電力損耗 by Mash Yang 2020.10.15 10:59PM Google在Android 11測試版本中開始加入新功能,讓開啟後卻長時間未使用的app,能暫時將佔用記憶體空間釋放,同時系統會自動將app使用狀態暫停,避免app持續在背景運作佔用處理器等資源,藉此減少手機記憶體被佔用情況,同時也能降低電力損耗。1
Re: [問卦] 怎麼解釋記憶體跟硬碟的不同比較好?4這樣的 記憶體和硬碟最大的不同,大概就是記憶體可以執行程式 而硬碟要先把程式載入記憶體後才能執行 所以比喻的話有點像錢包和銀行,錢包裡的錢想花就花 如果你要用到銀行裡的錢