软件公司常问的技术面试题

1. 你以前项目中承担什么角色, 主要负责什么方面的工作?
<略>
 
2. web service 数据传输有什么限制? 为什么?DataTable 可以作为web service 参数传递么?
所传输的数据必须是可序列化的。因为需要转换为 XML格式以可以穿越防火墙,做到真正的数据共享.因为 DataSet 处理 DataTable 的序列化以便进行封送处理,所以您也无法传递单个 DataTable。
参考:http://www.microsoft.com/china/MSDN/library/data/dataAccess/hcvb04vb04i7.mspx?mfr=true
 
3. url 重写有几种方式?
1).通过 HttpContext 类的 RewriteUrl() 方法来执行 URL 重写;
2).通过自定义HTTP Module或 HTTP Handler来重写 URL;
3).借助正则表达式来重写URL:
4)....
参考:http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true
 
 
4. 简述.net 中有哪几钟事务?
按事务是否跨越多数据资源分类:   
1)本地事务:事务操作一个数据资源,如数据库和消息队列。在物理上表现为位于同一台计算机。分2)2)布式事务:事务跨越多个数据资源,如操作两个服务器上的数据库。
按事务处理方式划分:
1) 手动事务:使用显示指令来控制事务的开始和结束,这种方式可以处理嵌套事务。SqlServer,ADO.Net都提供手动事务处理。
2)自动事务:通过为组件声明事务特性,把组件自动置于事务环境中。使用自动事务不能处理嵌套事务。自动事务的本质是依托于COM+。
 
本地事务的实现方式:
1) 数据库:一般DBMS都提供了自己的事务支持,如SqlServer,Oracle,属于手动处理方式。
2)ADO.Net:使用 Connection 和 Transaction 对象来控制事务。Connection.BeginTransaction 启动本地事务; Command 对象的 Transaction 属性在该事务中登记命令;然后 Transaction 对象提交或回滚在数据源中所做的修改。也属于手动处理方式。
3)使用消息队列:内部事务使用MessageQueueTransaction,属于手动处理;外部事务则要用自动事务处理方式。
分布式事务的实现:
1)数据库之间的事务:
    手动处理方式:对每一个参与的原子操作用一个Trans来控制;当最后一个操作执行成功后,事务全部提交;其中一个出错或异常,事务全部回滚。
   自动处理方式:借助于.Net EnterpriseServices提供的自动事务处理。
2)不同类型数据资源之间:
 借助于.Net EnterpriseServices提供的自动事务处理。当然,可以用COM+实现事务。
 
 
5. DataReader 和 DataSet 有什么区别?
1)DataReader要保持连接;DataSet可以离线,当取回数据后可断开连接;
2)DataReader只能快速只进读取;DataSet可以顺序逆序读取;
3)DataReader中的数据只读;DataSet数据可以修改;
4)DataReader只能保持一个二维表结构;DataSet中可以含多个二维表,且能包含复杂关系;
5)...
 
6. Repeater 控件不支持分页功能, 简述如何实现它的分页功能?( 说说实现思路)
分页思路:一般采取两种方式。后台分页和前台分页。
后台分页:即在业务逻辑中按照当前请求返回当页数据。
 
7. 如何实现自定义用户控件( 复合控件), 自定义事件如何实现? 简述委托原理.
(到底是几个题目?)
 
自定义事件的实现:
1)、声明事件
  如:public delegate void ValueChangedEventHandler(object sender,EventArgs e);
    如果使用自定义的事件参数,还需要定义事件参数类。
2). 在引发事件的类SourceClass中定义事件;
public event ValueChangedEventHandler Changed;  
3)SourceClass中在需要触发事件的位置,调用事件
  private void button1_Click(object sender, System.EventArgs e)
  {
      if (Changed != null)
       {
          (Changed (this, e);
       }
  }
4)、在使用方DestClass关联事件,并处理
  //与事件挂钩
  this.sourceClassInstance.Changed += new ValueChangedEventHandler (ProcessChanged);
   
  private void ProcessChanged(object sender, EventArgs e)
  {
       //处理事件
  }
 
8. 同一应用中页面间传值有哪些方式?
1)服务端方式:Application,Session,Cache
2)客户端方式:cookie,QueryString,InputHidden,ViewState等.
 
9. 强数据类型和弱数据类型有什么区别?
强数据类型是指在在传递时进行严格的类型检查,必须与要求的为完全一致的数据类型;C#属于强数据类型,如不能用1代表true,0代表false赋值给Bool型,编译器会报错.
弱数据类型在传递时不进行严格类型检查,编译器可能会进行隐式数据转换,但可能导致不可预见的异常;
C++属于弱数据类型,可以用1赋值给Bool型,代表true,0代表false.
 
10. 简述fcl 中常用到类库, 分web 表单, 数据访问,io 操作, 网络应用等.
 
 
system.web.caching;
system.web.htmlconrols;
system.web.ui.webcontrols;
system.web.configuration;
system.web.util;
system.web.mail;
system.web.security;
system.data;
system.data.sqlclient;
system.xml;
system.collections;
system.collections.specified;
system.net;
system.text.
...
复杂一点真记不住。
 
 
11. 项目分层有什么优缺点? 分层一般采用什么依据?
优点:1)易于分工协作;2)易于代码维护;3)易于移植;4)易于重用;5)清晰的架构;6)...
缺点:1)为效率带来影响;
分层的依据:
      分层的依据主要是在满足业务需求的基础上,取得上述优缺点之间取得平衡。
      不要为了分层而分层。另外分层是逻辑上的,并不一定非要独立为dll。
 
12. .net 中的gc 如何理解?
垃圾回收器。所有通过new产生的资源都由GC来统一进行回收。
当申请资源的时候在一个Heap上进行分配,由DotNet运行时来判断当前资源是否还在使用并决定合适的时机去回收资源。一般情况不需要主动调用GC。
 
//css
 
1. css 中id 和class 如何定义, 哪个定义的优先级别高?
   如class定义一个html元素没有边框,而id定义这个元素有边框,结果呢?
id的级别高。会有边框。
 
 
2. 如何指定div 元素中样式类为c1, 字体大小为9pt 的css 样式?
1)在css文件中定义类c1
.c1
{
FONT-SIZE: 10pt;
}
2)设置div使用该样式。
<div Class=’c1’>…</div>
 
//html
 
1. 用html 实现如下表格( 不如嵌套实用表格)
   三行三列,其中第一行第一列和第二行第一列合并;
   第二行第二列和第二行第三列合并(现场画表)
<略>
 
2. web 标准网站有那些优点
可以使用于多种浏览器。
//js
1.       简述ajax 的原理.
利用XmlHttpQuest实现在脚本中访问web服务,并可使用回调函数来实现页面的异步调用,就是当用户在页面上操作的时候,可以不用页面刷新就完成服务端的一次调用。
 
2. js 中如何定义class, 如何扩展prototype?
大概知道,不熟,略。
 
2.       如何添加html 元素的事件, 有几钟方法. (什么意思?不太明白)
1)      直接在页面html元素中添加;
2)      通过页面设计器添加;
 
//数据库
1. 如何定义存储过程的默认参数值.
 
CREATE PROCEDURE dbo.Proc_Test_Defaults ( @p1 smallint = 42)
2. 写sql语句实现下列查询
(表)t
a b(列)
1 2
1 3
1 4
2 1
2 2
3 1
4 1
5 3
5 2
查询结果要求
a b
1 2
2 1
3 1
4 1
5 2
(join查询,略)
3.       简述项目中优化sql的方法,从哪些方面,sql语句性能如何分析?
可使用查询分析优化工具;多总结积累。
//专项
1. sso 基础知识?
不懂
2. 统计报表/ 图表一般采用哪些方式实现?
不明白到底问什么,是图形报表还是说图表控件?还是说自己如何开发?
4.       对sps 是否有过研究?  ad 是否了解?  域方面的基础知识
了解,但未深入研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值