[心得] C#基礎名詞解釋

看板Soft_Job作者 (弗朗西爾我婆)時間2年前 (2022/01/21 00:46), 2年前編輯推噓33(37463)
留言104則, 52人參與, 2年前最新討論串1/2 (看更多)
會發這篇文主要是面試被洗臉 我都會做啊 但我就不會解釋啊 雖然是寫給自己看的 但就分享出來吧 有錯請各位前輩提醒,我會修改 若有需要新增也請跟我說 謝謝 此份解釋僅為簡易版,想要詳細了解的話還是建議去看書 考試時照抄會死喔>_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垃圾回收機制,系統自動搜尋記憶體中那些部分是曾用到但 現在不使用的,找到後會進行記憶體釋放,其觸發時間不固定 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.18.123 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1642697168.A.9D1.html

01/21 00:48, 2年前 , 1F
類別跟結構應該是差在value type 和 reference type
01/21 00:48, 1F

01/21 00:49, 2年前 , 2F
漏寫了,我補上,感謝
01/21 00:49, 2F
※ 編輯: rz2x (49.216.18.123 臺灣), 01/21/2022 00:51:27

01/21 00:58, 2年前 , 3F
我覺得參考型別和值型別與heap, stack是獨立的概念
01/21 00:58, 3F

01/21 00:59, 2年前 , 4F
物件裡的變數有執行別和參考型別但都是在 heap 裡
01/21 00:59, 4F

01/21 00:59, 2年前 , 5F
*值型別
01/21 00:59, 5F

01/21 01:03, 2年前 , 6F
stack和heap的解釋建議你再去多了解一下
01/21 01:03, 6F

01/21 02:16, 2年前 , 7F
區別參考類型與值類型,應該是看變數存的是資料實
01/21 02:16, 7F

01/21 02:16, 2年前 , 8F
例還是參考。參考類型會有參考和資料需要儲存;值
01/21 02:16, 8F

01/21 02:16, 2年前 , 9F
類型則是只有資料。至於參考或資料要存放在哪裡是
01/21 02:16, 9F

01/21 02:16, 2年前 , 10F
實作細節,視上下文而定。
01/21 02:16, 10F

01/21 03:30, 2年前 , 11F
認真給推 但我覺得繼承的說明改成實作多型會不會比較好
01/21 03:30, 11F

01/21 08:59, 2年前 , 12F
該去翻翻clr via c#了 面試真辛苦 囧
01/21 08:59, 12F

01/21 09:16, 2年前 , 13F
罰寫課文喔?
01/21 09:16, 13F

01/21 09:21, 2年前 , 14F
啥小,這還要特地記
01/21 09:21, 14F

01/21 09:41, 2年前 , 15F
謝謝讓我回想起大學程設課筆試部分
01/21 09:41, 15F

01/21 10:12, 2年前 , 16F
property 是 field + getter + setter, 然後 get/set 是
01/21 10:12, 16F

01/21 10:12, 2年前 , 17F
method 不是變數
01/21 10:12, 17F

01/21 10:15, 2年前 , 18F
存取修飾子還有 private protected 和 protected intern
01/21 10:15, 18F

01/21 10:15, 2年前 , 19F
al
01/21 10:15, 19F

01/21 10:21, 2年前 , 20F
好青春的感覺ㄛ
01/21 10:21, 20F

01/21 10:35, 2年前 , 21F
全都常識有什麼好記的 面試也不是要考你這些 而是能
01/21 10:35, 21F

01/21 10:35, 2年前 , 22F
不能舉例用過這些的例子 好壞處是什麼
01/21 10:35, 22F

01/21 10:49, 2年前 , 23F
只有少數幾個名詞比較少講,其他幾乎都是常識阿!
01/21 10:49, 23F

01/21 10:52, 2年前 , 24F
這些有要背嗎 不是常識?
01/21 10:52, 24F

01/21 10:57, 2年前 , 25F
這些本來就不是給老手看的啊 給新手看還可以吧
01/21 10:57, 25F

01/21 11:24, 2年前 , 26F
面試就會考這些 會背的也不一定會co...XD
01/21 11:24, 26F

01/21 11:27, 2年前 , 27F
分享給推
01/21 11:27, 27F

01/21 11:39, 2年前 , 28F
分享給推 不過面試如果單純考名詞解釋真的感覺蠻無聊的.
01/21 11:39, 28F

01/21 11:39, 2年前 , 29F
..還不如考像是String == 的結果之類的還比較好QQ
01/21 11:39, 29F

01/21 11:47, 2年前 , 30F
....嗯
01/21 11:47, 30F

01/21 12:05, 2年前 , 31F
對程式設計師,這真的是基本,不能說你工作久了就忘了
01/21 12:05, 31F

01/21 12:05, 2年前 , 32F
...
01/21 12:05, 32F

01/21 12:07, 2年前 , 33F
其實在不同地方,每個人認知會有稍微差別
01/21 12:07, 33F

01/21 12:08, 2年前 , 34F
這些只有在你實際使用過內心就會有一個概廓的形狀
01/21 12:08, 34F

01/21 12:08, 2年前 , 35F
這些比起背誦中文要來的能夠說服人
01/21 12:08, 35F

01/21 12:14, 2年前 , 36F
Open book:從dnSpy的RVA計算出對應的file offset#Game Mod
01/21 12:14, 36F

01/21 12:28, 2年前 , 37F
這些在面試答不出來挺誇張的 代表平常都在亂兜程式碼
01/21 12:28, 37F

01/21 12:28, 2年前 , 38F
會動就好
01/21 12:28, 38F
還有 26 則推文
01/21 16:45, 2年前 , 65F
對老手或許是常識 但也可以留給新鮮人啊
01/21 16:45, 65F

01/21 17:02, 2年前 , 66F
這應該EECS常識 但是還是推熱心 給非本科系的快速導覽
01/21 17:02, 66F

01/21 17:04, 2年前 , 67F
我也覺得考這些很無聊啊,這週面試6間,就有1間考這種東西,
01/21 17:04, 67F

01/21 17:04, 2年前 , 68F
不問其他問題,就只考這些,傻眼到爆
01/21 17:04, 68F

01/21 17:04, 2年前 , 69F
多一點這樣的文 幫助新鮮人 也是不錯的
01/21 17:04, 69F

01/21 18:23, 2年前 , 70F
我比較想知道 哪間公司洗你的臉
01/21 18:23, 70F

01/21 18:24, 2年前 , 71F
你有些還是錯的....
01/21 18:24, 71F

01/21 19:31, 2年前 , 72F
有些看起來怪怪的
01/21 19:31, 72F

01/21 19:35, 2年前 , 73F
考這個答不出來的話那個水準...
01/21 19:35, 73F

01/21 19:48, 2年前 , 74F
struct是value type, class是reference type吧
01/21 19:48, 74F

01/21 19:49, 2年前 , 75F
Class是 reference type, Struct才是value type喔
01/21 19:49, 75F

01/21 20:47, 2年前 , 76F
c#不熟 但是 struct 不能allocate到heap上嗎
01/21 20:47, 76F

01/21 21:10, 2年前 , 77F
樓上 它是啥type跟要allocate到哪無關
01/21 21:10, 77F

01/21 21:57, 2年前 , 78F
你mvvm的vm,比較像在說mvc的c?vm應該不是回傳,而是
01/21 21:57, 78F

01/21 21:57, 2年前 , 79F
事件通知的雙向綁定,
01/21 21:57, 79F

01/21 22:09, 2年前 , 80F
我用xamarin後才懂mvvm,其它mvxx什麼的還是搞不懂
01/21 22:09, 80F

01/21 22:55, 2年前 , 81F
面試不會考這些,但五年還解釋不了這些真的慘,送分題吧
01/21 22:55, 81F

01/21 22:57, 2年前 , 82F
allocate在對C#來說不很重要 https://bit.ly/3fL6hwN
01/21 22:57, 82F

01/22 01:12, 2年前 , 83F
我覺得第一次面被洗臉正常 還是要看書的
01/22 01:12, 83F

01/22 12:15, 2年前 , 84F
看完這篇我就懂為啥人家要考你這些了
01/22 12:15, 84F

01/22 18:35, 2年前 , 85F
?????記這個要幹嘛
01/22 18:35, 85F

01/22 19:01, 2年前 , 86F
工作時把所有名詞術語都去掉是要怎麼溝通啦?
01/22 19:01, 86F

01/23 02:38, 2年前 , 87F
可愛
01/23 02:38, 87F

01/23 10:42, 2年前 , 88F
推分享
01/23 10:42, 88F

01/23 10:57, 2年前 , 89F
這些名詞包括觀念都不限於C#吧
01/23 10:57, 89F

01/23 14:25, 2年前 , 90F
工作五年了 這點程度的東西的確是不應該考 應該是都要會的
01/23 14:25, 90F

01/23 14:26, 2年前 , 91F
的基礎知識 要問的應該是更深的 如果連這都答不出來 也
01/23 14:26, 91F

01/23 14:26, 2年前 , 92F
很難再繼續延伸下去吧
01/23 14:26, 92F

01/23 15:13, 2年前 , 93F
這個在幹嘛......
01/23 15:13, 93F

01/23 17:15, 2年前 , 94F
我也是大概寫道第四年才有人教,算是運氣不錯。寫程式
01/23 17:15, 94F

01/23 17:15, 2年前 , 95F
前1~3年,看過很多版本的Code,都沒辦法滿意,直到第
01/23 17:15, 95F

01/23 17:15, 2年前 , 96F
四年,才學習怎麼寫框架。
01/23 17:15, 96F

01/23 17:15, 2年前 , 97F
目前看到的mvc 很多人還是沒有把商業邏輯拆分,然後寫
01/23 17:15, 97F

01/23 17:15, 2年前 , 98F
在單一controller 裡頭,寫的很攏長,應該是要區分功
01/23 17:15, 98F

01/23 17:15, 2年前 , 99F
能跟商業邏輯來清楚的實做。model也不是單純的bind sq
01/23 17:15, 99F

01/23 17:15, 2年前 , 100F
lData or view上。在用interface 去劃分的時候 應該會
01/23 17:15, 100F

01/23 17:15, 2年前 , 101F
發現程式架構越龐大,也能夠輕鬆拆分的好處。
01/23 17:15, 101F

01/23 17:21, 2年前 , 102F
但是面試考這些,實價上進到公司裡頭才發現真的理解的
01/23 17:21, 102F

01/23 17:21, 2年前 , 103F
人不多,都只是表面理解。
01/23 17:21, 103F

01/23 17:25, 2年前 , 104F
謝謝分享~
01/23 17:25, 104F
文章代碼(AID): #1XwP7GdH (Soft_Job)
文章代碼(AID): #1XwP7GdH (Soft_Job)