园子里的兄弟,谁到这家公司面试过,来评一下笔试题了

    上午去一家公司面试,给了一份题,做了二十分钟答了没几道自感功力不够, 题目不是很多,记得有这么几道:
1. 两个字符串变量 string a,b ;以ascii存储编程连接两个字符串 
    例如:string a = "abcd " , string b = "defgh" ;  返回结果:abcddefgh
 要求:
     a. 不能使用任何类库函数 
     b. 写几个测试用例测试它
     (偶感觉这道题看似简单,“不使用任何类库”,偶没什么思路。只记得上学时写汇编时做过类似的题,到c#里边还真不知道怎么办了,偶就不在写 string d = a + b ;让人家笑话了,呵呵)
2. 谈谈进程,线程,应用程序域的区别
  (偶知道一些区别,表达能力有限,就不献丑了)
3.谈谈DataSet和DataReader的区别
  答:DataSet对象是指一个内存中的数据缓存,它包含一个表和这些表之间关系的集合,每个表包含列集合;可看作是一个离线的数据库,支持断开式连接。
     DataReader提供一个来自数据库的快速、仅向前、只读数据流,从DataReader读数据时,需要将Connection对象打开,与数据库保持连接,即不支持断开式连接。 
  (DataSet与DataReader的区别不止这些,偶看过这方面的文章,之前的面试也遇到过此题,这会也就记得这些了)
4.asp.net有几种身份验证方式,在你最近的项目中用过哪种,为什么?
答:windows身份验证, Forms验证和Passport验证.
     在最近的项目中使用的是Forms验证,因为我们的系统使用的是自己的用户表,这样做也符合用户的应用场景(用户可以通过任何一台联网的计算机登录系统)。
5. 有scores表:  
id name score
1 张三 80
2 张三 89
3 张三 89
4 李四 89
5 李四 89
6 王五 89
要求:
a. 写一个sql语句,每个name只取一条记录出来
   答:SELECT *  FROM scores a   WHERE id IN
          (SELECT TOP 1 id FROM scores b    WHERE b.name = a.name)

b. 写一个语句,删除表中记录使每个name只有一条记录
   答:DELETE FROM scores  WHERE  id NOT IN
          (SELECT id
         FROM scores a
         WHERE (id IN
                   (SELECT TOP 1 id
                  FROM scores b
                  WHERE b.name = a.name)))

c. 从数据库设计层面设计数据表,使一个用户在表中只能有一条记录
   答:把name字段设为主键
 (说实话偶没理解这问是什么意思,感觉偶的答案不对,应该不是这么简单的,但又想不出其他办法,就写上了,大家别笑话啊,哪位兄弟给个标准答案?)
还有两道题:一道是翻译,另一道是汉译英,
posted @ 2008-01-14 15:08  AK47+  阅读(1085)  评论(17编辑  收藏  举报