面试者自述
2010年07月20日
You should answer 7 optional questions plus all 3 required questions. SQL (Required): 1. Table: Student (Student ID, Student Name) Lesson (Lessoned, LessonName, StudentID) There are students without Lesson information. Please write Sql script to create table and get all students and their lesson information. CREATE TABLE [dbo].[Student] ( [StudentID] [varchar] (50) AS NOT NULL , [StudentName] [varchar] (50) AS NOT NULL ) ON [PRIMARY] GO Select Student.*, Lesson.* from Student inner join Lesson ON Student.StudentID= Lesson. LessonID 2. Please list out the difference between Cluster index and Non-cluster index. 聚簇索引是跟数据的物理排列顺序相关的,所以查询起来效率相对高一些,找到了索引值,也就找到了这个数据,非聚簇索引可以理解为数据的逻辑存储相关,找到了非聚簇索引,不一定找到了这个数据,因为它不包含实际的数据,所以效率相对低一些。
3. How to get the last day of a month using Sql script from any given date?
Declare @year (int)
Declare @month (int)
Declare @day (int)
Declare @newDate (varchar20)
Declare @nextMonth (int)
Declare @endDate (DateTime)
@year=YEAR(@givenDate)
@month=MONTH(@givenDate)
@day=DAY(@givenDate)
@nextMonth=@month+1
@endDate=
@newDate=DATEDIFF(@givenDate,@endDate)
@day=@newDate+@day
Print @day
General Questions (optional)
1. Does C# support multiple-inheritance?
C#不支持多重继承
2. Who is a protected class-level variable available to?
只有继承了该类的子类才能具有可用的权限。
3. Are private class-level variables inherited?
private变量不能被继承的。
4. Describe the accessibility modifier "protected internal".
在一个程序集中具有继承关系的类之间可以具有访问性
5. What's the top .NET class that everything is derived from?
System.Object
6. What does the term immutable mean?
7. What's the difference between System.String and System.Text.StringBuilder classes?
String是恒定变量字符串,当重新赋值或追加值时候,需要重新分配空间,
stringBuilder不是恒定变量,是可变变量,追加赋值的时候不需要重新分配空间。
8. What's the advantage of using System.Text.StringBuilder over System.String?
在进行大量的字符串处理操作时候stringBuilder效率和性能会很高,不需要分配太多的空间
9. Can you store multiple data types in System.Array?
不能
10. What's the difference between the System.Array.CopyTo() and System.Array.Clone()?
copyTo()方法是拷贝元素到另一个存在的数组里面,是元素值的拷贝;而clone()方法是对象的克隆技术来实现,有浅拷贝和深拷贝,浅拷贝是:返回一个新的对象,该对象包含了所有原始对象的元素,深拷贝是:拷贝引用,可以看作是为每个元素都创建一个引用实例,然后拷贝值。
11. How can you sort the elements of the array in descending order?
调用sort()方法,然后调用Reverse()倒叙。
12. What's the .NET collection class that allows an element to be accessed using a unique key?
HashTable.
13. What class is underneath the SortedList class?
A sorted HashTable.
14. Will the finally block get executed if an exception has not occurred? ??
Finally块会执行的。
15. What's the C# syntax to catch any possible exception?
Catch(Exception ex)捕获System.Expection类型任何可能的异常。
16. Can multiple catch blocks be executed for a single try statement?
不能捕获,只能捕获跟try块相匹配的异常,如果没有找到,则CLR会沿着调用栈向更高一层搜索能够接受该异常的捕获块。
17. Explain the three services model commonly know as a three-tier application.
UI Business Logic DataAccess层层之间实现松散的耦合关系,通过相关的设计模式实现依赖注入、动态绑定等来提高架构的灵活性和高维护性。
Class Questions (optional)
1. What is the syntax to inherit from a class in C#?
public class1 : BaseClass,使用":"来实现。 Can you prevent your class from being inherited by another class?
Yes "sealed" keyword
可以将方法和类标记成sealed。
3. Can you allow a class to be inherited, but prevent the method from being over-ridden?
方法不要定义成:virtual就可以了。
4. What's an abstract class?
具有抽象方法的,可以被其他类继承的通用性的类,不能被实例化的,可以理解为具有架构和蓝图性的类,可以定义成抽象类。
5. When do you absolutely have to declare a class as abstract?
这个类具有被继承类的一些通用特征,至少有一个方法定义成抽象的,6. What is an interface class?
用来实现多重继承,具有一些属性、方法和事件等特性,不像类,接口是没有实现的,只是实现了类之间的一个契约。说明这个类能够做什么。
7. Why can't you specify the accessibility modifier for methods inside the interface?
接口是用来定义类之间的的一个协定,所以必须定义为public,以便类和类之间的通信。默认是public
8. Can you inherit multiple interfaces?
是的,可以继承多重接口
9. What happens if you inherit multiple interfaces and they have conflicting method names?
显式的实现接口的方法调用方法。
(Interface1)Interface1.Method ()
(Interface2)Interface2.Method ()
10. What's the difference between an interface and abstract class?
表面上,接口是用来实现多重继承的,接口中的方法是没有实现的,抽象类中的方法只要不是定义成抽象方法,是可以有方法的实现的。本质上,接口定义了类之间的协定,说明了这个类能够做什么,而抽象类是定义了类的一些本质的特性,一些通用的性的蓝图性的特性。
11. What is the difference between a Struct and a Class?
Struct 是个值类型,不能被继承,Class是个引用类型,可以被继承。Struct是在线程堆栈上分配的,不受垃圾回收机制控制,class是在托管堆上分配的,收垃圾回收机制控制。
Method and Property Questions(optional)
1. What's the implicit name of the parameter that gets passed into the set method/property of a class?
value关键字是get/set操作的一个隐含的参数。
2. What does the keyword "virtual" declare for a method or property?
这个方法被定义成virtual后,继承这个类的的子类,可以重写这个方法,具有重写这个方法的权利。 How is method overriding different from method overloading?
overriding是重写这个方法,如上面描述的,重写父类被定义成virtual的方法。
Overloading是重载这个方法,方法名称是不变的,可以是改变这个方法的参数类型,增加方法的参数等,以来实现一个方法具有不同的功能,改变方法的行为,封装好了接受调用。
4. Can you declare an override method to be static if the original method is not static?
不能的,虚方法的版本要同步。
5. What are the different ways a method can be overloaded?
函数名称相同,参数类型可以不同,参数个数可以不同,参数顺序可以不同。
6. If a base class has a number of overloaded constructors, and an inheriting class has a number of overloaded constructors; can you enforce a call from an inherited constructor to a specific base constructor?
可以的,使用":"
关键字是基于(参数列表调用适当的构造函数)在被继承类中定义的重载构造函。
Events and Delegates (optional)
1. What's a delegate?
delegate就是委托,是函数指针的概念。在事件编程中提供回调函数机制。
2. What's a multicast delegate?
一个delegate可以触发多个函数被调用
Debugging and Testing Questions (optional)
1. What debugging tools come with the .NET SDK?
DbgCLR:Visual Studio 使用的
2. What does assert () method do?
断言和断言方法是用来验证自己写的代码是否满足需要的功能,断言为真的时候,说明程序运行正常,没有什么问题,如果为假,证明程序发生意料之外的错误。 What's the difference between the Debug class and Trace class?
Debug class是需要Debug Builds Trace class 需要debug和释放builds
4. Why are there five tracing levels in System.Diagnostics.TraceSwitcher?
5. Where is the output of TextWriterTraceListener redirected?
6. How do you debug an ASP.NET Web application?
通过aspnet_wp.exe进程,可以设置断点,单布跟踪,看堆栈调用情况,值的变化情况。
7. What are three test cases you should go through in unit testing?
1、积极的正确的测试用例Positive test cases(正确的数据输入,正确的输出)
2、消极的测试用例Negative test cases(错误的数据,看是否有错误的输出,是否有出错处理等)
3、例外的测试用例Exception test cases (异常被捕获,并处理了异常等).
8. Can you change the value of a variable while debugging a C# application?
可以,如果用Visual Studio来调试,可以使用窗口来查看和改变值。
ADO.NET and Database Questions (optional)
1. What is the role of the DataReader class in ADO.NET connections?
数据阅读器,获取一个数据阅读器记录集,提供只向前读和只读的的功能,对于简单的读取数据来说,性能较高,是基于连接的,所以读完以后需要手动的关闭。
2. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET?
.NET框架附带了两个.NET数据提供程序:SQLServer.NET数据提供程序和OLEDB.NET数据提供程序。SQLServer.NET数据提供程序是高速的和高性能的,但是需要SQL Server许可来从OLEDB.NET获取,但相对OLEDB.NET会快很多。
3. What is the wildcard character in SQL?
确定特定字符串是否与指定模式相匹配,如like '%"+L +"%, _(下划线),[ ]等.
4. Explain ACID rule of thumb for transactions.
事务必须是
(1)原子级的;
(2)具有一致性的,定义事务必须保持数据一致;
(3)具有隔离性的,一个事务是必须独立于其他事务的;
(4)具有持久性的,一个事务完成后,它的影响永久地保留在数据库中了。
5. What connections does Microsoft SQL Server support?
Windows 验证 ( Active Directory) 和 SQL Server 验证 (Microsoft SQL Server username and password).
6. Between Windows Authentication and SQL Server Authentication, which one is trusted and which one is untrusted?
Windows验证具有更高的可信任性,SQL Server验证是不太可信任的, Windows验证是通过Active Directory来验证用户名和密码,
7. What does the Initial Catalog parameter define in the connection string?
databaseName(数据库名称),详细如下:
Initial Catalog=databaseName;User ID=UserName;Password=password
8. What does the Dispose method do with the connection object?
用来释放一些非托管资源的。关闭一个连接,释放一个连接到连接池中。
9. What is a pre-requisite for connection pooling?
连接池的大小,同一时间允许共享的连接数,安全设置等一些属性。
Assembly Questions (optional)
1. How is the DLL Hell problem solved in .NET?
将类型生成模块,然后将模块组合成程序集,这些程序集能够重用的、具有版本控制和实施安全策略的单元。
2. What is a satellite assembly?
具有特定语言文化资源的程序集为卫星程序集,该程序集反映了其中的一些语言文化特性。
3. What namespaces are necessary to create a localized application?
System.Globalization 和 System.Resources
4. What is the smallest unit of execution in .NET?
应用程序域是.net一个执行单元,应用程序域中加载相应的程序集。
5. Whet is the garbage collector in Net. When should you call the garbage collector in .NET?
GC是.NET中垃圾回收器,当分配在托管堆中的对象将托管堆内存空间占用满了,垃圾回收器就开始工作了,它是个多线程的。
6. How do you convert a value-type to a reference-type?
显式类型转换,隐式类型转换,存在装箱的操作,
Int i=10;
Object o=i;
i=(int)o
7. What happens in memory when you Box and Unbox a value-type?
当存在装箱时候,内存托管堆要分配空间,分配引用类型的指针,然后进行值的一个拷贝, 当存在拆箱操作的时候,线程堆栈上要进行分配空间,然后进行值的拷贝,然后垃圾回收器来进行回收无用的对象引用。
面试者:
1. 给定一个字符串(包含有空格,数字,控制符等),求其中单词的个数;
2. 给定一个字符串,将其内容反转,并写出测试用例;
总结:
1. 对C语言和数据结构、算法等有较高的要求;
2. 白板代码书写能力。
发表评论
-
visual studio 2008下装CGAL
2012-01-20 10:17 1033visual studio 2008下装CGAL 2010年 ... -
tomcat 优化(转)
2012-01-20 10:17 452tomcat 优化(转) 2010年08 ... -
OGRE基础教程1
2012-01-20 10:17 815OGRE基础教程1 2011年06月 ... -
vs2008安装boost库
2012-01-20 10:17 975vs2008安装boost库 2010年06月10日 首 ... -
掌握这些电脑知识,你可以玩的很无耻
2012-01-19 15:18 558掌握这些电脑知识,你可以玩的很无耻 2011年09月05日 ... -
lamp升级
2012-01-19 15:18 504lamp升级 2011年08月23日 -- lamp ... -
硬盘知识大全(含主板、BIOS)
2012-01-19 15:18 904硬盘知识大全(含主板、 ... -
oracle错误一览表三
2012-01-19 15:18 985oracle错误一览表三 2011年02月15日 OR ... -
WinCE驱动开发问题精华集锦
2012-01-19 15:18 559WinCE驱动开发问题精华 ... -
[转]Linux Socket编程(不限Linux)
2012-01-17 05:05 539[转]Linux Socket编程(不限L ... -
常见电脑技术问题解决方法
2012-01-17 05:05 809常见电脑技术问题解决方法 2011年05月03日 问: ... -
计算机英语词汇大全(1)
2012-01-17 05:05 565计算机英语词汇大全(1) ... -
C#面试题集锦(你值得拥有!)
2012-01-17 05:05 751C#面试题集锦(你值得拥有!) 2011年04月22日 ... -
Struts2入门碰钉记
2012-01-16 03:56 722Struts2入门碰钉记 2010年 ... -
新Eclipse插件可以快速构建主流java框架
2012-01-16 03:56 681新Eclipse插件可以快速构建主流java框架 2010年 ... -
flex安装
2012-01-16 03:56 600flex安装 2011年03月30日 需要软件: a ... -
网站开发的几种软件的搭配
2012-01-16 03:56 729网站开发的几种软件的搭配 2009年07月14日 几种不 ... -
SSH2 手工配置(转)
2012-01-16 03:56 312SSH2 手工配置(转) 2010年 ...
相关推荐
扔鸡蛋leetcode 准备 动态规划 递归和回溯 排序和搜索 数据结构 图算法 树木 链表 各种各样的
博士申请者的有用资源当我们找到更多资源时,此列表会不断更新我们发现,对于正在申请或计划申请博士课程的人,缺乏妥善维护的网站和其他链接列表。 随意对自述文件和索引文件进行相同的更改并提交您的拉取请求。 ...
程序员面试刷题的书哪个好网络技能 Web Skills 是对作为 Web 开发人员学习的有用技能的直观概述。 转到查看可视化概览或滚动浏览此自述文件以获取概览。 如果你喜欢这个项目,非常欢迎你 :open_book: 目录 ➤ 目录 ...
对于初学者来说,寻找一种有趣的方法来学习React 它们如何运作? 脚手架已为您完成。 只需在任何目录中运行yarn即可启动该应用程序。 每个应用程序都有一个自述文件及其要求。 有些可能需要连接到外部API,但是...
用作简短的编码练习,例如面试自我测试/在压力下测试您的编码能力对于初学者来说,寻找一种有趣的方法来学习React 它们如何运作? 脚手架已为您完成。 只需在任何目录中运行yarn即可启动该应用程序。 每个应用程序...
自述文件面试准备WomanWhoCode如何设置? 设置摘要配置依存关系数据库配置如何进行测试部署说明贡献准则编写测试代码审查其他指引我要和谁说话? 回购所有者或管理员其他社区或团队联系
样板源自: : 所有学分归原始创作者所有,我只是将其用于面试测试:) 请参阅上面链接中的自述文件,以获取有关样板的详细说明 可以在/ src / api / object文件夹中找到测试的相关代码 (将下面介绍的路线添加到此...
LeetCode,它支持多种语言并展示您的运行时和内存与其他参与者的比较。 本自述文件的其余部分包含我们选择的问题列表。 这些都是免费版的; 您还可以付费访问其他问题。 LeetCode 有论坛,如果你卡住了,可以查看,...
参见中文自述文件。 网站 网络化: Gitee 页面: GitHub 页面: 所有者 ,后端开发人员。 微信:YLB0109 电子邮件: GitHub: 项目 Doocs 现在有以下项目: # 项目 描述 1 Java开发者的高级知识,涵盖高并发、分布式...
参见中文自述文件。 链接 GitHub页面: 吉蒂页面: 所有者 ,后端开发人员。 微信:YLB0109 电子邮件: GitHub: 项目 Doocs 现在有以下项目: # 项目 描述 1 Java开发者的高级知识,涵盖高并发、分布式系统、高可用...
使用模板来了解动画但找不到所有者(会找到它给予应有的信用),因为错误地删除了自述文件。 了解有关使用 CSS 和 Javascript 的动画的更多信息 项目 6 - Git Fake Commit Bot 尝试使用 selenium 制作一些很酷的...