作者rz2x (弗朗西尔我婆)
看板Soft_Job
标题[心得] C#基础名词解释
时间Fri Jan 21 00:46:06 2022
会发这篇文主要是面试被洗脸
我都会做啊
但我就不会解释啊
虽然是写给自己看的
但就分享出来吧
有错请各位前辈提醒,我会修改
若有需要新增也请跟我说
谢谢
此份解释仅为简易版,想要详细了解的话还是建议去看书
考试时照抄会死喔>_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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1642697168.A.9D1.html
1F:→ shomingchang: 类别跟结构应该是差在value type 和 reference type 01/21 00:48
2F:→ rz2x: 漏写了,我补上,感谢 01/21 00:49
※ 编辑: rz2x (49.216.18.123 台湾), 01/21/2022 00:51:27
3F:→ shomingchang: 我觉得参考型别和值型别与heap, stack是独立的概念 01/21 00:58
4F:→ shomingchang: 物件里的变数有执行别和参考型别但都是在 heap 里 01/21 00:59
5F:→ shomingchang: *值型别 01/21 00:59
6F:→ s06yji3: stack和heap的解释建议你再去多了解一下 01/21 01:03
7F:推 shomingchang: 区别参考类型与值类型,应该是看变数存的是资料实 01/21 02:16
8F:→ shomingchang: 例还是参考。参考类型会有参考和资料需要储存;值 01/21 02:16
9F:→ shomingchang: 类型则是只有资料。至於参考或资料要存放在哪里是 01/21 02:16
10F:→ shomingchang: 实作细节,视上下文而定。 01/21 02:16
11F:推 dog30111: 认真给推 但我觉得继承的说明改成实作多型会不会比较好 01/21 03:30
12F:→ vi000246: 该去翻翻clr via c#了 面试真辛苦 囧 01/21 08:59
13F:→ MoonCode: 罚写课文喔? 01/21 09:16
14F:嘘 pttano: 啥小,这还要特地记 01/21 09:21
15F:推 lwecloud: 谢谢让我回想起大学程设课笔试部分 01/21 09:41
16F:→ t64141: property 是 field + getter + setter, 然後 get/set 是 01/21 10:12
17F:→ t64141: method 不是变数 01/21 10:12
18F:→ t64141: 存取修饰子还有 private protected 和 protected intern 01/21 10:15
19F:→ t64141: al 01/21 10:15
20F:推 MyNion: 好青春的感觉ㄛ 01/21 10:21
21F:推 BigCockman: 全都常识有什麽好记的 面试也不是要考你这些 而是能 01/21 10:35
22F:→ BigCockman: 不能举例用过这些的例子 好坏处是什麽 01/21 10:35
23F:嘘 royyy: 只有少数几个名词比较少讲,其他几乎都是常识阿! 01/21 10:49
24F:嘘 qwer338859: 这些有要背吗 不是常识? 01/21 10:52
25F:推 bill0205: 这些本来就不是给老手看的啊 给新手看还可以吧 01/21 10:57
26F:→ hisashi: 面试就会考这些 会背的也不一定会co...XD 01/21 11:24
27F:推 saphy: 分享给推 01/21 11:27
28F:推 xx820110: 分享给推 不过面试如果单纯考名词解释真的感觉蛮无聊的. 01/21 11:39
29F:→ xx820110: ..还不如考像是String == 的结果之类的还比较好QQ 01/21 11:39
30F:→ sniper2824: ....嗯 01/21 11:47
31F:→ x246libra: 对程式设计师,这真的是基本,不能说你工作久了就忘了 01/21 12:05
32F:→ x246libra: ... 01/21 12:05
33F:推 Lhmstu: 其实在不同地方,每个人认知会有稍微差别 01/21 12:07
34F:→ Lhmstu: 这些只有在你实际使用过内心就会有一个概廓的形状 01/21 12:08
35F:→ Lhmstu: 这些比起背诵中文要来的能够说服人 01/21 12:08
36F:推 enthos: Open book:从dnSpy的RVA计算出对应的file offset#Game Mod 01/21 12:14
37F:→ ChungLi5566: 这些在面试答不出来挺夸张的 代表平常都在乱兜程式码 01/21 12:28
38F:→ ChungLi5566: 会动就好 01/21 12:28
39F:推 holebro: 这个真的超基本 讲不出来太扯 01/21 12:29
40F:→ a740125: 如果只是要你大概描述概念呢 你是真的说不出来吗 01/21 12:32
41F:推 ap954212: 是本科都讲得出来 01/21 12:41
42F:推 v7q4: 被考过argument和parameter的差别... 01/21 13:59
43F:→ foreverk: 还有process vs thread也是常见考题 01/21 14:05
44F:→ devilkool: 我反而很好奇你所谓不会解释,是回答了什麽? 01/21 14:22
45F:→ devilkool: 难道直接说「窝不知道」吗,连回想自己写过的东西加以 01/21 14:24
46F:→ devilkool: 举例都没有? 01/21 14:24
47F:推 vi000246: 老实说考这个满无聊的 像是在质疑你会不会写程式一样 01/21 14:33
48F:→ vi000246: 而且这东西可以问很细 细到底层怎麽编译的都能问 01/21 14:33
49F:→ vi000246: 与其面试问这个 不如先发张线上考券 限时写完 01/21 14:35
50F:→ vi000246: 要我到现场回答这些问题 我会觉得很浪费时间 01/21 14:36
51F:推 Wolfclaw: 这些答不出来基本功不太行 01/21 14:36
52F:推 jerry030897: 看起来是新手吧. 不会也没差反正前辈code都写好 01/21 14:56
53F:→ jerry030897: 改一改很简单.阿如果你是前辈.工作久了自然就熟了 01/21 14:56
54F:→ jerry030897: 新手急着上工可以去面试不问这些的公司. 公司多的是 01/21 14:57
55F:推 u9541526: 印出来带着,下次面试官问叫他自己看XD 01/21 15:15
56F:推 baobomb: MVC, MVP, MVVM 你讲的出来每个元件的用处是什麽 但是我 01/21 15:25
57F:→ baobomb: 猜面试官想问的是 究竟这三个pattern的实际上的区别到底 01/21 15:25
58F:→ baobomb: 在哪 分别解决了什麽问题 怎麽解决的 我也很常面试别人 01/21 15:25
59F:→ baobomb: 时 问面试者一样的问题 90%都跟你一样 答的出来每个元件 01/21 15:25
60F:→ baobomb: 在干嘛 但答不出来到底每种pattern的区别在哪 最後就是 01/21 15:26
61F:→ baobomb: 直接给他个no hire 01/21 15:26
62F:→ brucetu: 你的stack跟heap答案看起来像是要面试写compiler的公司 01/21 16:07
63F:→ brucetu: 通常应该是指DS的stack跟heap吧 建议少抄课文 01/21 16:07
64F:→ brucetu: baobomb大说的回答方式才是对的 01/21 16:07
65F:→ eric00169: 对老手或许是常识 但也可以留给新鲜人啊 01/21 16:45
66F:推 acgotaku: 这应该EECS常识 但是还是推热心 给非本科系的快速导览 01/21 17:02
67F:→ rz2x: 我也觉得考这些很无聊啊,这周面试6间,就有1间考这种东西, 01/21 17:04
68F:→ rz2x: 不问其他问题,就只考这些,傻眼到爆 01/21 17:04
69F:推 acgotaku: 多一点这样的文 帮助新鲜人 也是不错的 01/21 17:04
70F:嘘 geroge0820: 我比较想知道 哪间公司洗你的脸 01/21 18:23
71F:→ geroge0820: 你有些还是错的.... 01/21 18:24
72F:推 wulouise: 有些看起来怪怪的 01/21 19:31
73F:推 lturtsamuel: 考这个答不出来的话那个水准... 01/21 19:35
74F:推 wulouise: struct是value type, class是reference type吧 01/21 19:48
75F:推 ohhhhhhhYi: Class是 reference type, Struct才是value type喔 01/21 19:49
76F:推 lturtsamuel: c#不熟 但是 struct 不能allocate到heap上吗 01/21 20:47
77F:→ shomingchang: 楼上 它是啥type跟要allocate到哪无关 01/21 21:10
78F:→ x246libra: 你mvvm的vm,比较像在说mvc的c?vm应该不是回传,而是 01/21 21:57
79F:→ x246libra: 事件通知的双向绑定, 01/21 21:57
80F:→ OrzOGC: 我用xamarin後才懂mvvm,其它mvxx什麽的还是搞不懂 01/21 22:09
81F:→ kso60411: 面试不会考这些,但五年还解释不了这些真的惨,送分题吧 01/21 22:55
83F:推 jinmin88: 我觉得第一次面被洗脸正常 还是要看书的 01/22 01:12
84F:→ RumiManiac: 看完这篇我就懂为啥人家要考你这些了 01/22 12:15
85F:推 gs8613789: ?????记这个要干嘛 01/22 18:35
86F:推 citycode: 工作时把所有名词术语都去掉是要怎麽沟通啦? 01/22 19:01
87F:推 deeeplove: 可爱 01/23 02:38
88F:推 zxc8787: 推分享 01/23 10:42
89F:推 kuochuwon: 这些名词包括观念都不限於C#吧 01/23 10:57
90F:推 gekkou: 工作五年了 这点程度的东西的确是不应该考 应该是都要会的 01/23 14:25
91F:→ gekkou: 的基础知识 要问的应该是更深的 如果连这都答不出来 也 01/23 14:26
92F:→ gekkou: 很难再继续延伸下去吧 01/23 14:26
93F:推 weiflower520: 这个在干嘛...... 01/23 15:13
94F:推 layer0930: 我也是大概写道第四年才有人教,算是运气不错。写程式 01/23 17:15
95F:→ layer0930: 前1~3年,看过很多版本的Code,都没办法满意,直到第 01/23 17:15
96F:→ layer0930: 四年,才学习怎麽写框架。 01/23 17:15
97F:→ layer0930: 目前看到的mvc 很多人还是没有把商业逻辑拆分,然後写 01/23 17:15
98F:→ layer0930: 在单一controller 里头,写的很拢长,应该是要区分功 01/23 17:15
99F:→ layer0930: 能跟商业逻辑来清楚的实做。model也不是单纯的bind sq 01/23 17:15
100F:→ layer0930: lData or view上。在用interface 去划分的时候 应该会 01/23 17:15
101F:→ layer0930: 发现程式架构越庞大,也能够轻松拆分的好处。 01/23 17:15
102F:推 layer0930: 但是面试考这些,实价上进到公司里头才发现真的理解的 01/23 17:21
103F:→ layer0930: 人不多,都只是表面理解。 01/23 17:21
104F:推 u8351574: 谢谢分享~ 01/23 17:25
105F:→ eeccoo: 没generics, attribute, extension 不合格啊 01/28 09:36
106F:→ cathychg: 喔喔喔喔喔…plc砍入屎系统 Ez啦! 02/05 20:03
107F:推 TonyStuck: 推分享 02/10 07:09
108F:推 solay: 分享推 02/23 17:43