设计测试用 例 。
2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)
开发语言概念题
3.什么是反射?
4.用Singleton如何写设计模式
5.C#中的垃圾回收机制是怎样的?
6.什么是Application Pool?
7.链表和数组的区别,各有什么优缺点.
8.Remoting在客户端服务器怎么实现 ?
9.什么是友元函数?
10.用标准C如何实现多态?
11.什么是虚函数?
12.什么是抽象方法?
13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?
英语题
14.用英文介绍一下使用C#/C++做的项目,主要功能
15.如果要与美国开电话会议,会如何与美国的工程师沟通
16.如果老板认为你的技术落后,你会怎么回答
数据库知识题
17.使用什么工具来调用存储过程
18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
19.触发器的作用
其它知识题及问题
20.什么是Web Service?
21.什么是XML?
22.Socket怎么实现?
2.很有意思,相信不会有什么标准答案。如果是我的话,先问清楚这个杯子将用来干什么,什么人用,然后再答。
3.反射,有些书译作映射。对于编译器来说是必须的,但是并不是所有编译语言都把它交给程序员。既然这里是.net版,只说说.net里的reflection(System.Reflection空间),它让程序员可以在程序运行时得到程序集(Assembly,台湾译作装配件)、模块(Module)、类(class)的相关信息。使程序员可以在运行时动态生成代码并运行这些代码,不过这是以性能为代价的双刃剑,用好了牛逼用坏了会死人的,呵呵
4.下面用C#写一个Singleton:
public class Singleton
{
private static Singleton ins;
private Singleton()
{ //省略具体的构造函数代码
}
public static Singleton GetIns()
{
if (ins==null)
{
ins=new Singleton();
return ins;
}
else return ins;
}
}
5.这个问题估计是道听途说了,相信微软不会问“C#中的垃圾回收机制”,因为GC是.net的而不是C#的,微软自己清楚的很。.net的GC借鉴了Java中的垃圾回收,但是有区别,.net的GC优化引擎根据正在进行的分配情况确定执行回收的最佳时间,而不像Java那样,因此提供了更好的效率。一般来说GC的过程包括3步,1是搜索托管代码中引用的托管对象。2是尝试完成没有被引用的对象。3是释放没有被引用的对象并回收它们的内存。
6.Application Pool是将若干个Application 链接到若干工作进程集合的配置。因为Application Pool中的Application 被工作进程边界分隔,所以某个Application Pool中的Application 不会受到其他Application Pool中Application 所产生的问题的影响。
7.数组(顺序表)缺点:需要预先定义大小,这个定义太大了浪费太小了不够用;不方便对中间某个元素做删除操作和在中间插入一个元素;不利于排列顺序。 优点:存储密度好,查找速度快。
链表相反。
8.Remoting在客户端服务器怎么实现 ?
(略,说起来太多了。。。)
9.友元函数记得好像是C++里的概念,好像是能够直接访问类的保护数据,避免了频繁调用,节约cpu开销,提高效率,但是同样也破坏了类的封装特性,不符合“面向对象”的要求,所以我也没怎么用过,也没很多研究,大概就是这么回事吧。
10.用标准C实现多态这个以前简单研究过,其实关键在使用struct和函数指针来实现纯虚类,然后用子类(子结构吧。。。。标准C好像没“子类”这个概念。。大家知道怎么回事就行了。。)来实现虚结构,这样就实现了多态性。
11和12,虚(virtual)指定该函数(方法)可以被重载(override)。 抽象abstract,指明该方法并不直接定义具体的实现而交给子类来实现。另外。。。我几乎没听过“抽象函数”这种提法。。是不是我太孤陋寡闻了?好像习惯上只说“抽象方法”不说“抽象函数”的。。。。“抽象函数”应该是数学里的概念。
13.简单的方法没想到。。。记忆中内存泄露是一件很麻烦的事情,很不好找(还好.net不怕。。)。
英语题 就算了。。。。。。。偶阅读还可以。。跟老外对话是在需要整我的时侯才应该做的事,呵呵
17. EXEC ? 查询分析器 ? 抱歉我没看明白这个题目在说什么。。。。
18.SQL Server的两种索引?是不是说聚簇和非聚簇?如果是的话。。。好像所有数据库的索引都这2个,不是只有SQL Server吧。。。作用是提高查询速度(选择),缺点是降低修改速度(插入,更新,删除)。如果建的好,降低很小的修改速度却换来查询速度的极大优化。建的不好也能提高查询速度,只是不明显,而且有可能使修改时间增加很多。 聚簇在这2方面都比非聚簇明显的多,但一个表只允许一个聚簇(因为数据在硬盘上是根据聚簇来排列的),任何时侯都不要修改聚簇列的值是强烈建议(因为速度会哭死你。。。尤其数据稍微大点)。不过好在一般情况下你没机会修改这个值,因为默认是把聚簇索引建在主键上了(除非你自己用命令改变它。。。。)
19.触发器作用是可以在数据库某个位置发生事件(插入,查询等。。)时执行一段代码。
最后3道在这个.net版已经很多了。。略。