书摘精要

程序员要朝“内”和向“外”四个方面伸张自己的文化和技术:


—— 指的是编制代码的底蕴、数据结构思想、设计情势等。

“修内”四要素:

1.
长远掌握面向对象编程思想;

2.
精通C#编程语言特点;

3.
熟谙设计形式的23种格局,领悟各种情势UML图

4.
打听软件工程进度,了解数据结构的概念和技术;

 


—— 指的是新技巧的热心肠、知识的广度、着重扩充性等。

“修外”五要素:

1.
对新技巧的精通和远见卓识;

2.
经过品种的实践熟谙 DB 设计、SQL Server 或 Oracle 技术;

3.
清晰精晓代码完毕格局、范例、以及.NET相关接口;

4.
了然 Web 2.0 理念、Blog/Wiki/RSS 架构、SOA
理念、软件测试,领悟网络和其余操作系统;

5.
驾驭哪些面对马耳他语面试;

 

(P15)
薪资 ——
一定要问明了是税前依旧税后,这一点并非多说。此外,还要问明了,发多少个月。很多单位有年初双薪,还有一对单位会发14-17个月不等。

 

(P15)

“五险一金”
——
养老保障、医疗有限支撑、失掉工作保证、人身意外伤害保障、生育有限支撑。“一金”指的是住房公积金。

 

一些单位公积金比例上得相当高,所以您报酬扣得也很多,那表示店家交的钱越来越多,而一旦买房时,这几个钱都是你协调的。所以,那有些受益不能忽视。

 

有些单位还会向您提供补给医疗保障、补充养老有限支撑、补充意外有限支撑、住房无息贷款或经济适用房等,也要问明了。

 

亚洲成ca88手机版,(P16)
关于加班,国家有确定:假如周二、周五突击的话,可以收获正常薪金2倍的加班费;借使是五一、十一如此法定的休假加班的话,可以取得正常薪金3倍的加班费。

 

(P29)
事情都是人做出来的,关键是人。

 

(P30)
正确的做法是和那多少个比你强的人打交道,看她们是怎么想的、如何做的,学习他们,然后最后升任自己的力量才是最重点的。

 

(P35)
语言有“无类型”、“弱类型”和“强类型”3种:

1.
“无类型” —— 不检讨,甚至不区分指令和数据;

2.
“弱类型” —— 检查很弱,仅能严峻地分指令和数据;

3.
“强类型” —— 严苛地在编译期举办反省;

 

(P36) GAC
—— Global Assembly Cache
(全局应用程序集缓存),它解决了多少个程序共享某一个先后集的题材。

 

(P37)

 

值类型的实例日常是在线程栈上分红的(静态分配),但是在某些意况下得以储存在堆中。

 

引用类型的目的总是在经过堆中分配(动态分配)。

 

引用类型和值类型都继承自
System.Object 类,区其余是,大约所有的引用类型都直接从 System.Object
继承,而值类型则一连其子类,即直接接轨 System.ValueType 。

 

(P38)
所有的值类型都是密封的,所以不能派生出新的值类型。

 

(P39)
引用类型可以包括 Null 值, 值类型不可以。

 

(P40)

引用类型在栈中蕴藏一个引用,其实际的贮存地方位于托管堆。

 

值类型(不帮衬多态)适合存储C#应用程序的数量,而引用类型(帮忙多态)应该用于定义应用程序的一颦一笑。

 

(P43)
装箱就是将值类型转换为引用类型的历程,并从栈中搬到堆中。而拆箱就是把引用类型转换为值类型。

 

(P45)
DateTime 为 Struct 类型。

 

(P47)

一言九鼎字
const (静态常量):

1.
在编译时期解析的常量;

2.
务必在评释同时就开始化;

3.
既可用来修饰类中的成员,也可修饰函数体内的有的变量;

 

要害字
static readonly (静态常量):

1.
在运转时期解析的常量;

2.
既可以在宣称时初阶化,也可以在构造器中开首化;

3.
只好用来修饰类中的成员;

 

(P51)

问:
定制的不得了类应该继续哪个类? 应包蕴怎样构造函数?

答:
定制的卓殊类应从 Application.Exception 派生。根据约定,极度名应以
Exception 结尾, 应涵盖 Exception 基类定义的3个集体构造函数:

1.
默许的无参构造函数;

2.
带一个字符串参数(经常是音讯)的构造函数;

3.
带一个字符串参数和一个 Exception 对象参数的构造函数;

 

(P60)

“==”判断符号左右四个Object 是不是针对统一内存地址;

 

“Equals()”判断四个Object 是不是一致 (所有成员值一样);

 

(P63)

在.NET
Framework
中,由3种体系化机制:二进制、XML和省略地向访问协议(SOAP),它们的利弊如下:

1.
二进制系列化的最大优点是:
类型数据足以精确地意味着出来。因为二进制连串化对象的国有和私家成员,所以在反种类化的时候可以忠诚地重建出该目的的情状;

2.
XML 只系列化对象的公有属性和字段。在 XML
体系化时,私有字段和其余实例化对象就失去了;

3.
XML 和 SOAP 是开放标准,具有很好的移植性;

 

(P72)
Random r = new Random(unchekced(int)DateTime.Now.Ticks));

 

(P73)

进程式编程语言为:
程序 = 算法 + 数据;

面向对象编程语言为:
程序 = 对象 + 音信;

 

(P76)
抽象类或者隐含个人构造函数的类都不能够实例化。

 

(P79)
internal protected 的语意应该是 “internal || protected”

 

(P80)
栈的访问速度比堆要快,但栈的资源有限。

 

(P88)
虚函数的目的就在于完毕多态性。

 

(P92)
即使没有写静态构造函数,而类中富含带有先河值设定的静态成员,那么编译器会自动生成默许的静态构造函数。

 

(P95)

“覆盖
(Override)” —— 指子类重新定义父类的虚函数的做法;

 

“重载
(Overload)” ——
指允许存在四个同名函数,而那么些函数的参数表分歧(或许参数个数分歧,或许参数类型不相同,或许两者都不可同日而语);

 

重载只是一种语言特色,与多态无关,与面向对象也非亲非故;

 

卷入可以隐藏已毕细节,使得代码模块化;

一而再可以扩充已存在的代码模块(类);

它们的目标都是为着
—— 代码重用

 

多态是为着兑现另一个目的—— 接口重用;

 

“接口是公司最有价值的资源。设计接口比用一堆类来完毕这一个接口更费时间,而且接口必要消耗更昂贵的人力的年月”。

 

继续的为重用代码而留存的说辞已经越来越脆弱,因为“组合”可以很好地代表继承的扩张现有的代码的效应,而且“组合”的呈现更好(至少可以避免“类爆炸”)。继承的留存很大程度上是用作“多态”的基本功,而非伸张现有代码的艺术。

 

(P99)

接口:

——
从广义上说,凡是一个类提须求外部使用的片段都足以被称呼接口。广义接口的的确含义是在类的后续中显示多态的功能,这种接口又被誉为抽象类接口。

 

——
从狭义上说,接口是指特定的函数集合,一般是用 Interface
表明的,它表示一个艺术集合,那一个集合被称呼一个命名接口。

 

从上述认识来看,接口实际上是整合着多态而来的,它的最大的职分就是促成多态,而多态又是面向对象最精华的驳斥。明白了多态,也就精通了面向对象的出色。但控制多态必须先清楚和摆布接口,唯有充裕知情接口的定义,才能更好地使用多态。

 

(P104)

在C#中,new
关键字可用作运算符、修饰符或约束。

 

new
修饰符和 override
修饰符不可同时用在一个分子上,因为那四个修饰符在含义上相互排挤。

 

(P108)
如若想调用子类的 new
方法,用子类的句柄(相对不可能用基类句柄)来调用。

 

(P110)
在构造函数中,通过 this 可以调用同一 class 中其他构造函数。

 

(P112)

子类被社团时必定会先调用父类的构造函数,但可以用
base 关键字选拔调用哪个构造函数。

 

控制调用哪一个,但不可能哪个都不调用(至少选一个)。借使不点名的话,一般会调用无参数的构造函数,因为那是一个类的默许的构造函数。

 

(P113)
抽象类允许包罗抽象成员,但那不是必不可少的(可以允许一个抽象类中平昔不其余抽象成员),抽象类中得以有非抽象方法。

 

(P116)
接口中的接口成员可以是措施、属性、事件和索引器。

 

(P188)
abstract 修饰符不得以和 static、virtual 和 sealed
修饰符一起使用,不过可以和 override 修饰符一起利用。

 

(P123)
显式为接口的不二法门指定 public 修饰符是私自的。

 

(P127)
委托在编译的时候确定会编译成类。

 

(P128)
委托是一个类,它定义了主意的品类,使得可以将艺术当做另一个方法的参数来拓展传递,那种将艺术动态地赋给参数的做法,使得程序有所更好的可增添性。

 

(P131)
声可瑞康(Karicare)个轩然大波类似于声惠氏个拓展了包装的委托项目的变量。

 

(P145)

1.
NLR : 前序遍历 (Preorder Traversal) ——
访问结点的操作发生在遍历其左右子树从前,即根左右;

2.
LNR : 中序遍历 (Inorder Traversal) ——
访问结点的操作爆发在遍历其左右子树之间,即左根右;

3.
LRN : 后序遍历 (Postorder Traversal) ——
访问结点的操作暴发在遍历其左右子树之后,即左右根;

 

(P146)

“满二叉树”
—— 对于有所结点都达成最大的二叉树;

“完全二叉树”
——
叶子结点仅在层次最大的两层出现,对于自由一结点,左子树中度只相当于右子树中度或者右子树中度加一;

 

(P153)
System.Text.Encoding.Default.GetBytes(strTmp).Length —— 里面的 Default
属性,在默许情形下,英文字母用一个字节表示,汉字用双字节表示。

 

(P160)

在待排序的公文中,若存在八个关键字相同的记录,经过排序后那一个具有相同关键字的记录之间的相对次序保持不变,该排序方法是安静的;若有所同等关键字的记录之间的相对次序暴发变化,则那种排序方法是不稳定的。

 

安静的排序
——

排序名称:
气泡排序 (Bubble Sort)

时刻复杂度:
最差、平均都是 O(n2);最好是 O(n)

空间复杂度:
1

 

排序名称:
利口酒排序 (Cocktail Sort) (双向的冒泡排序)

日子复杂度:
最差、平均都是 O(n2);最好是 O(n)

空中复杂度:
1

 

排序名称:
插入排序 (Insertion Sort)

日子复杂度:
最差、平均都是 O(n2); 最好是 O(n)

空间复杂度:1

 

排序名称:
归并排序 (Merge Sort)

光阴复杂度:
最差、平均、最好都是 O(nlogn)

空中复杂度:
O(n)

 

排序名称:
桶排序 (巴克(Buck)et Sort)

光阴复杂度:
最差、平均、最好都是 O(n)

空中复杂度:
O(k)

 

排序名称:
基数排序 (Radix Sort)

时光复杂度:
最差、平均、最好都是 O(dn) (d是常数)

空中复杂度:
O(n)

 

排序名称:
二叉树排序 (Binary Tree Sort)

时光复杂度:
最差、平均、最好都是 O(nlogn)

空中复杂度:
O(n)

 

排序名称:
教室排序 (Library Sort)

时光复杂度:
最差、平均、最好都是 O(nlogn)

空中复杂度:
(L+&)n

 

不平静的排序
——

排序名称:
选拔排序 (Selection Sort)

时间复杂度:
最差、平均都是 O(n2)

空中复杂度:
1

 

排序名称:
希尔(Hill)排序 (Shell Sort)

岁月复杂度:
最差、平均、最好都是 O(nlogn)

空间复杂度:
1

 

排序名称:
堆排序 (Heap Sort)

岁月复杂度:
最差、平均、最好都是 O(nlogn)

空间复杂度:
1

 

排序名称:
连忙排序 (Quick Sort)

时间复杂度:
平均是 O(nlogn); 最坏的图景下是 O(n2)

空中复杂度:
O(logn)

(P165)
应用交流排序基本思想的最主要排序方法有: 冒泡排序和急迅排序。

 

(P183)
作为设计者,应该拥抱变化、利用生成,而不是避开变化。

 

(P192)

MVC
(Model / View / Controller) 方式是一种采用的较多的设计方式。 MVC
包罗了类对象: Model 是应用对象;View是它在屏幕上的意味; Controller
定义用户会师对用户输入的响应措施。

 

1.
模子
(Model):是应用程序的器重点部分,模型表示业务数据,或者工作逻辑;

 

2.
视图 (View):
是应用程序中用户界面相关的一对,是用户看到并与之并行的界面;

 

3.
操纵器 (Controller):工作就是基于用户输入控制用户界面数据浮现和换代
Model 对象的事态;

 

(P201)

类与类之间存在以下关系:

1.
泛化 (Generalization)

2.
关联 (Association)

3.
依赖 (Dependency)

4.
聚合 (Aggregation)

 

泛化 ——
指类与类之间的继续关系、接口与接口之间的延续关系或类对接口的贯彻关系;

 

倚重 ——
指对五个相对独立的对象,当一个目的承担构成另一个对象的实例,或者依赖另一个度喜爱那一个的劳务时,那四个对象时期紧要浮现为借助关系;

 

关联 ——
指对于多少个相对独立对象,当一个目标的实例与另一个对象的部分特定实例存在一定的相应关系时,那五个对象时期为涉嫌关系;

 

聚合 ——
指当对象 A 被参加到对象 B 中,成为目的 B 的组成部分时,对象 B 和 对象 A
之间为汇集关系;

 

会面是事关关系的一种,是较强的涉嫌关系,强调的是完全与部分之间的涉及;

 

事关与聚集的界别:

1.

涉及关系所提到的三个目的是高居同一个层次上的;

聚集关系所波及的三个目标是地处不一样等的层系上,一个意味着全部、一个意味着有些;

 

2.
对此持有聚合关系的八个目标,全体目的会制约它的重组对象的生命周期。部分类的靶子不可能独立存在,它的生命周期信赖于全体类的对象的生命周期,当全体消失,部分也就随即消失;

 

(P222)

一个经过至少含有一个线程;

 

当一个顺序开首运行时,它就是一个经过。进度包蕴运转中的程序和次序所利用到的内存和系统资源;

 

(P227)

作业调度算法:

1.
先来先服务;

2.
轮转法;

3.
层层反馈队列算法;

4.
事先级法;

5.
最短作业优先法;

6.
高高的响应比优先法;

 

进度调度算法:

1.
先进先出算法;

2.
最短 CPU 运行期优先调度算法;

3.
轮转法;

4.
多样反馈队列;

 

(P228)

“sleep()”
—— 是使线程甘休一段时间的不二法门。在 sleep
时间距离期满后,线程不自然马上过来运行。

 

“wait()”
—— 是线程交互时,如若线程对一个合伙对象 X 发出一个 wait
的调用,该线程会暂停实施,被调用对象进入等待情状,知道被唤醒或等待时间到。

 

(P238)

“存储进度”
—— 是用户定义的一多重 SQL
语句的聚合,涉及特定表或任何对象的义务,用户可以调用存储进程;

 

“函数” ——
常常是数据库已定义的章程,它接受参数并回到某系列型的值,并且不关乎特定用户表;

 

“事务” ——
作为一个逻辑单元执行的一多样操作,一个逻辑工作单元必须有4个属性,成为
ACID (原子性、一致性、隔离性和持久性) 属性,
唯有那样才能成为一个作业;

 

(P275)

“单项绑定”
—— <%# Eval(“username”) %>

“双向绑定”
—— <%# Bind(“title”) %>

 

(P276)
在多少绑定控件的 EditItemTemplate 或 InsertItemTemplate 中要使用 Bind
函数。

 

(P278)

ASP.NET
页面在触及各种子控件的轩然大波过后,会递归调用控件的 OnPreRender ,
然后递归地将控件的 ViewState 系列化成一个字符串,最后递归调用控件的
Render 输出结果。

 


DataBind 的轩然大波中,ItemCreated 和 ItemDataBind
是尤其主要而且日常要用到的多少个事件。

 

ItemCreated
事件在 DataGrid 创造表格时接触。

 

ItemDataBound
事件在数码绑定到对应的行后触及。

 

(P283)
Session 在服务器和客户端各保留一个副本,关闭浏览器与否与 Session
是不是留存尚未其余关联。

 

(P284)
Session 机制可能必要信赖 Cookie
机制来达到保存表示的目标,但实则还有其它选取。

 

(P285)

“Application”
—— 是公共的,所有人都能观望;

 

“Session”
—— 是个人的,每个客户端都留存一个例外的 Session 生存期;

 

“库克ie”
—— 是保存在本机的公文,记录短小的音信,除非 库克(Cook)ie
过期,否则会直接存在;

 

“ViewState”
—— 类似于 ASP 中的 Hidden
控件,用来记录页面中控件的处境,首要在页面间传递音讯时用;

 

“Cache”
——
是缓存,用来记录已经实施过的一部分数量,比如读取数据库目标是加速彰显,收缩服务器的承担,过期时刻也是足以协调设定的;

 

(P288)
XML 注释 : <!– –>

 

(P288)

ASP.NET页面之间传递参数:

1.
URL 链接地址传递 —— QueryString

2.
Post 方式 —— Request.Form[“***”]

3.
Session 传递

4.
Application 传递

5.
Server.Transfer 传递

 

(P290)

GET
请求:

1.
利用一个问号“?”代表 URL 地址的终极数据参数的开首;

2.
背后的参数每一个数据参数以 “名称 = 值”的款型出现;

3.
参数与参数之间采取一个连接符“&”来区分;

 

(P291)

防盗链:

1.
检查Refer;

2.
为资源文件添加数据签名;

3.
Session验证;

 

(P288)
XML Web Service 与 .NET Remoting

1.

名称:
XML Web Service

不难操作:
简单

跨平台:

足够利用
.NET Framework 作用:不充足

规范传递数据格式:
不准确

扶助状态:
Stateless

目标作业形式:

支撑通信协议:
HTTP

实践功用:

 

2.

名称:
.NET Remoting

简单操作:
较难

跨平台:

丰富利用
.NET Framework 效率:丰盛

准确传递数据格式:
精确

支撑状态:
Stateful 或 Stateless

目的作业方式:
丰裕(单次呼叫、单一对象、前端启用)

帮忙通信协议:
HTTP、TCP(可增加)

举行效能:

 

(P304)

“Finalize()”
—— 用于隐式释放资源;

“Dispose()”
—— 用于显式释放资源;

 

(P311)
在面试面前,面试者应对应聘企业具有了然。比如集团的层面、业务、将来进步等。对合营社文化明白是还是不是深刻,是您超出其余应聘者的一个独到之处。

 

(P366)
知识是用来用的,不是用来当摆饰唬人的。

网站地图xml地图