上海求职记
之前几天已经在网上投递了一部分简历了,因为这是自己第一次找工作,真心不知道如果去甄别什么公司适合自己,只能大面积撒网,到时候面试的时候在看看这个公司是非适合自己的发展。
言归正传,今天接到了,一个电话面试;在这把题目记录下来;
1.数据库索引分为几种?
根据数据库的功能,可以在数据库设计器中创建四种索引:唯一索引、非唯一索引、主键索引和聚集索引。 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
唯一索引:
唯一索引是不允许其中任何两行具有相同索引值的索引。 当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (name) 上创建了唯一索引,则任何两个员工都不能同姓。
非唯一索引:
非唯一索引是相对唯一索引,允许其中任何两行具有相同索引值的索引。 当现有数据中存在重复的键值时,数据库是允许将新创建的索引与表一起保存。这时数据库不能防止添加将在表中创建重复键值的新数据。
主键索引:
数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。 在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。
聚集索引(也叫聚簇索引):
在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。 如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。
2.启动多线程有几种方式?
这题目我不可能有点不太清楚考官问的意思,
我的答案是两种方式,一种使用Thread 一种使用 Timer ,前一种,是开启一个线程就OK了,如果这个线程需要一直运行就在线程中写一个死循环,然后在程序最后加一个线程休眠.后一种是定时器,每个一定的时间间隔来开启一个线程,不管之前开启的线程是否运行完毕;
之后我看了一些网上的帖子,可能考官要问我的是线程参数传递问题,ThreadStart 无参数的线程启动类,ParameterizedThreadStart 带一个Object 类型的线程启动类,可能他想问我的是这方面的问题。
3.简述MVVM模型?
这是我自己总结的答案不知道对不对,请大家指正;
MVVM 即Model-View-ViewModel 模式 ,是使界面与业务逻辑分离的一种模型,这里的Model 代表着数据库对象,View 代表界面, 他们之间的连接为ViewModel。因为WPF的绑定模式,即数据驱动模式,使界面的变化直接导致与之相应绑定的实体跟着一起变化,反之也一样,所以,使用View 和ViewModel 来进行绑定关联,然后通过ViewModel的变化来对Model就行数据整理,最后来进行对象的持久化。由于有ViewModel的存在,将Model和View分隔开来。来做到解耦的目的;
4.依赖注入?
此题也给我一种不知道怎么回答的感觉,在我的理解依赖注入就是一种利用反射技术来实现对象的创建啊赋值之类的。平时没有用到。但我感觉考官想问的可能是WPF中的依赖属性;
依赖属性就是自己自己没有值,通过Binding从数据源获得值,就是依赖在别人身上,拥有依赖属性的对象称为依赖对象;
5.样式模板怎么处理?
在我之前的开发中,样式文件是单独抽出来的,页面上只有控件和布局;
6.WCF有过了解吗?
之前的数据通信我使用的是webservice ,WCF只是知道有这个技术没有具体使用开发过项目