zoukankan      html  css  js  c++  java
  • 面试题三


    1、ajax主要用在哪些地方?
    答:登陆,注册,页面中某一个地方要局部动态更新
    2、webservers的工作原理?
    答:WS主要是可利用HTTP,穿透防火墙
    3、层能否隐藏?
    :1. 在js 中
    document.getElementById("div_id").style.display = "none";
         2.在后置代码中,在层中加属性 runat="server" 属性
              div_id.Visible = false;
    4、在项目中哪些地方用到萦引?索引的好处。举例说明为什么要用索引?处理大批理数据的方法?
    5、dataitem
    6、socket
    答:套子节网络编程    
    7、调用webservers的几种方式?
    答:1.使用WSDL.exe命令行工具。
        2.使用VS.NET中的Add Web Reference菜单选项
    8、存储过程的事务怎么创建?
    答:begin transaction
    Commit transaction
    Rollback transaction
    9、sql  注入?
    答:利用sql关键字对网站进行攻击。过滤关键字'等
    10、存储过程当中的分页语句怎么写
    答:create procedure page
         @pageIndex int,          --当前页         
         @pageSize int     --页面大小
      as
    create table #temp
    (
      EID int,
      tempId int identity(1,1)
    )
    insert into #temp(EID) select EID from Employee  --将表Employee的EID作为一个新的列插入到虚表#temp
    select * from (
    select * from Emplyee inner join #temp.EId = Employee.EID --查询要执行分页的数据
    )as temp
    where tempId between(@pageIndex-1)*(@pageSize+1) and @pageIndex*@pageSize                             
    11、ado.net如何与数据库连接
    答:data souce=.sqlexpress;initial catalog=;integrated security=sspi;
    12、iso   5.0是怎么部署的?
    13、WF怎么抓取页面?
    14、接口和抽象类的区别?
    答:区别一:抽象类是一类事物的高度聚合   接口是定义行为规范
    区别二,抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。
    区别三:继承类对于抽象类所定义的抽象方法,可以不用重写   而对于接口类所定义的方法或者属性来说,在继承类中必须要给出相应的方法和属性实现。
    区别四:在抽象类中,新增一个方法的话,继承类中可以不用作任何处理  接口:需要修改继承类,提供新定义的方法
    15、做电子商务的时候是否用到用户控件?具体怎么运用?
    答:用到
    16、页面传值的方式?cookie和session的区别。
    答:1).使用QueryString, 如....?id=1; response. Redirect()....
        2).使用Session变量
        3).使用Server.Transfer
    17、什么是封装?
    答:把方法,属性,     封装到类里面,以便重复使用
    18、委托?如何申明委托?
    答:委托把一个方法作为参数代入另一个方法,委托可以理解为指向一个函数的引用
    申明委托:public delegate void ProcessBookDelegate();
    19、asp.net如何优化代码?
    答:1.跟踪页面执行
    2.在服务器端控件中添加客户端属性
    3.表单数据的服务器端验证
    4保持滚动条位置
    5禁用不必要的ViewState
    6.少使用服务器端控件,采用部分提交表单
    20、用户控件与自定义控件的区别?
    答:
    Web 用户控件     Web 自定义控件
    易于创建     难于创建
    为使用可视化设计工具的使用者提供有限支持     为使用者提供完全的可视化设计工具支持

    每个应用程序中需要控件的一个单独副本     仅在全局程序集缓存中需要控件的单个副本
    不能添加到 Visual Studio 中的工具箱     可以添加到 Visual Studio 中的工具箱
    适用于静态布局     适用于动态布局

    21、参与数据库的设计,规范。
    答:1.数据库涉及字符规范
    2.数据库对象命名规范
    3.数据库表命名规范
    4.字段命名规范      
    5.视图命名规范
    6.存储过程命名规范
    7.数据库设计文档规范
    8.sql语句规范
    22、反射的概念?
         答:反射就是动态加载程序集。反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。

    23、项目中用ajax的好处和缺点。
    优点:
         客户端不需要刷新整个页面就可以向服务器提交数据
         客户可以用更短的时间看到需要改变的数据
         服务器只需要处理单一的任务,而不需要生成整个页面
    AJAX的宗旨就是传递只需要处理的数据
    缺点:
         更多的处理放置在客户端,意味着将频繁的使用JavaScript进行开发
         页面的局部改变需要更精确的控制

    24、类与结构的区别?
    答:
         类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存
         类有构造和析构函数
         类可以继承和被继承
         结构:
         结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限)
         所有结构类型都隐式地继承自类System.ValueType
         结构的赋值将分配产生一个新的对象也就是说对结构类型的变量进行赋值,将创建所赋的值的一个“副本”。
         结构没有构造函数,但可以添加。结构没有析构函数
         结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口
         结构的默认值的生成方式为:将所有值类型的域设置为它们的默认值,并将所有引用类型的域设置为null
         结构的实例域声明不能包含变量初始值设定项

    25、一个字符串里面包含一个字母,用什么方法?
    答:题目意思不明确?

    26、什么是GAC?
    答:全局程序集缓存

    27、静态类和静态方法的好处?
    答:静态类:
    它们仅包含静态成员,它们是密封的。
    静态方法:
    1:方便使用;
    2:不用实例化;
    3:被预编译;
    4:多了也不好,还没用就占了空间.

    28、table和div的区别?
    答:1、div可以下载一个显示一个,而table要完整下载才能显示。
        2、div可以用更少的div来排版。
    div更快一些
    table布局是要等整个table中的内容都传送完了才在浏览器中显示出来
    div布局则是传多少显示多少

    29、怎么建立一个临时表?什么叫临时表?
    答:1,以#开头的临时表在conn.Open到conn.Close之间的连接范围内有效,如果你调用了conn.Close那这个这个连接内创建的任何临时表都会自动被删除  
         2,临时表,在数据库,顾名思义就是起到建立一个临时性的存放某数据集的作中。
    3建立临时表的好处:  
           第一,减少网络的数据传输量  
           第二,减少服务器的计算时间消耗 

    30、不用存储过程怎么处理大批量数据?读取大批量数据
         解决方案一: 
         可以从几个方面着手:  
      第一,减少网络的数据传输量  
      第二,减少服务器的计算时间消耗  
      第三、使用存贮过程可以有效的减少指令的数据量。  
      第四、没有更新冲突的需求,那么请去掉检查数据库更新冲突的选项。这样可以减少数据传输量,并能减少服务器的计算时间。 
         解决方案二: 
           1、建立一个临时表
      2、把数据插入临时表  
      3、写一个存储过程,把对应删除老表数据后,插入临时表数据  
      4、执行上述存储过程 

    31、数据库用到事务?为什么事务锁会有冲突?
    答:
    32、说一下XML?举例说明。好处与不足。与数据库有什么区别?
         答案:xml易于布署,主要在于不象数据库需要配置,所以通常免费的软件用的比较多.  
           但是,安全性低,基于这个原因,很少有商用软件用xml的.  
           相反,商用软件,价值越高,数据库越高级.从access到sql   server再到oracle.

    33、索引
    答:建立索引的优点
      1.大大加快数据的检索速度;
      2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
      3.加速表和表之间的连接;
      4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
      索引的缺点
      1.索引需要占物理空间。
      2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

    34、脚本里怎么获取文件?
         Document.getElementById()方法或用xmlDom、xmlHttpRequest对象对WebService的处理。

    35、XML有多少个根结点
         答案:一个
    36、C#中设计模式有什么优点?
         答案:设计模式可以让你程序的可维护性、可扩展性更好。设计模式可以让程序的性能更高。

    37、项目中用到上传和下载没有?
         答案:用到,
         上传: 把客户端数据上传到服务器,
         下载: 把服务器数据下载传到客户端

    38、重写与重载的区别?
         答:重写是基于继承的,  重写父类的方法时,方法名什么都一样,只是方法体不一样~
    重载是基于一个类的,    方法重载主要是参数列表不一样,  包括:  参数名称,  参数个数,  参数顺序

    39、对javascript熟悉吗?有哪些数据类型?
         答:JavaScript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型。其他两种类型为 null 和 undefined。

    40、XML的规范?
    ?     有且只有一个根元素
    ?     每个元素必须正确关闭
    ?     元素必须正确嵌套
    ?     所有的属性必须放置在引号中
    ?     区分大小写
    41、你对公司有什么要求?
    给更多的机会提升自己
    42、const与readonly的区别?
    const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。常数声明的类型指定声明引入的成员类型。常数表达式必须产生具有目标类型或者可隐式转换为目标类型的类型的值。 常数表达式是在编译时可被完全计算的表达式。readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。在readonly 关键字与 const 关键字不同。const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数.

    43、什么叫触发器?
    触发器是一种特殊的存储过程,它在执行语言事件执行时自动生效。SQL Server 包括两大类触发器:DML 触发器和 DDL 触发器。DDL 触发器是 SQL Server 2005 的新增功能.当数据库中发生数据操作语言 (DML) 事件时将调用 DML 触发器。DML 事件包括在指定表或视图中修改数据的 INSERT 语句、UPDATE 语句或 DELETE 语句。DML 触发器可以查询其他表,还可以包含复杂的 Transact-SQL 语句。将触发器和触发它的语句作为可在触发器内回滚的单个事务对待。如果检测到错误(例如,磁盘空间不足),则整个事务即自动回滚。

    44、datlset和dataread的区别?
    一个是内存中的表,一个是只能向前的只读游标。
    dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表
    DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接
    datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
    分布式系统的数据可能会用dataset做数据载体,因为dataset是保存数据的数据结构,而DataReader不承担保存数据的责任,它只负责从数据源读取数据到本地而已,它不是数据结构,而是网络通讯组件的高层封装。 DataAdapter也只是使用DataReader从数据源读取数据并Add到dataset保存起来而已。假如我们单独使用DataReader也可以把数据写入到业务类或者dataset里。那只是根据业务需要而选择不同的数据载体而已。实际上我们从数据库获得数据都会通过DataReader,只不过DataAdapter把这一切都封装起来了


    45、什么系统?哪些模块?
    答:根据情况回答
    46、CSS样式有多少种?优先级
    1.        行内样式:直接对HTML的标记使用style属性
    2.     内嵌式:在<head>与</head>之间,并且用<style>和</style>标记进行声明
    3.     链接式:它将HTML页面本身与CSS样式 见格分离为两用人才个或多个文件
    4.     导入样式:导入样式采用import方式 导入的样式 表
    47、ajax可以后退?
      答:不可以
    48、有什么优势可以成为本公司的一员?
    答:可以自由发挥
    49、页面怎么样传值?
    1).使用QueryString, 如....?id=1; response. Redirect()....
                      2).使用Session变量
                      3).使用Server.Transfer
    50、asp.net的生命周期?
    初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载
    51、session会随着窗体的关闭而消失吗?
    答:不会
    52、c/s与b/s的区别?
    C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
    B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
    C/S 与 B/S 区别:
    1.硬件环境不同:
    C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
      B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
    2.对安全要求不同
      C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
      B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
    3.对程序架构不同
    C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
      B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
    4.软件重用不同
      C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
      B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
    5.系统维护不同 
      C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
      B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
    6.处理问题不同
      C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
      B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
    7.用户接口不同
      C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
      B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
    8.信息流不同
      C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
      B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
    53、设计模式?三层分为哪三层,说明一下。
    数据访问层,业务层,表示层。
    数据访问层对数据库进行增删查改。
    业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
    表示层为了与用户交互例如用户添加表单。
    优点:  分工明确,条理清晰,易于调试,而且具有可扩展性。
    缺点:  增加成本。
    54、存诸过程是否用到事务?没加事务的话有什么缺点?
    答: 可以用到事务.
         缺点:因为事务可确保遵循原子性、一致性、隔离性和持续性 (ACID) 这几种属性,以使数据能够正确地提交到数据库中

    55、.net框架有哪些内置对象?
    Response, Request, Application, Session, Server, Cookie

    56、哪些数据是引用类型或值类型?
    答:int,char属于引用类型.
      结构,String,数组,类属于值类型
    57、软件开发过程几个阶段?涉及哪些人员?
    需求分析,架构设计,代码编写,QA,发布
    58、什么是序列化?
    序列化是将对象转化为容易传输的格式的过程。例如,可以序列化一个对象,然后使用http通过internet在客户端和服务器之间传输该对象。在另一端, 反序列化将该流重新构造对象
    59、NaN这个函数有什么作用?
       判断一个数值是否为合法数值。如果不是合法数值,则返回True;如果是合法数值,则不返回任何值。
    60、动态创建一个元素?
    <script LANGUAGE=C# RUNAT=Server>
    void Page_Load(Object o, EventArgs e) {
    for (int i = 0; i < 3; i++) {
    CheckBox cb = new CheckBox();
    cb.ID = "test" + i;
    cb.Attributes["Test"] = "test";
    MyDiv.Controls.Add(cb);
    }
    }
    </script>
    <div id="MyDiv" runat="server">
    </div>

    61、线程可以直接传参吗?
    可以直接传参
    62、用过几种框架?说明一下RSS框架。
    RSS也叫聚合RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件(例如SharpReader,NewzCrawler、FeedDemon),在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。
    简单说下RSS,内容聚合,实际上就符合一定规范的xml文件,这种形式可以被用于你所指向(RSS中)内容。而这些内容也不是一成不变的,作为网站,最新内容的更替是常有的,而他的页面通常是不变的,只要指向了这些内容的RSS就能得到最新的信息,被大家所使用或浏览,简单的RSS是比较容易实现的,你可以根据网上的内容自己写一些,复杂的也没有接触过。
    63、底层框架

    64、什么叫数据冗余,怎么解决
    数据冗余:在一个数据集合中重复的数据称为数据冗余.
    数据冗余技术是使用一组或多组附加驱动器存储数据的副本,这就叫数据冗余技术。比如镜像就是一种数据冗余技术。
    数据冗余技术。工控软件开发中,冗余技术是一项最为重要的技术,它是系统长期稳定工作的保障。OPC技术的使用可以更加方便的实现软件冗余,而且具有较好的开放性和可互操作性。 出现这种情况,是因为光盘刻录时有某些数据记录不正确,也有可能是光盘与你的光驱不兼容,或光驱某处物理损坏读不过去。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计,并将得到的结果附在帧的后面,接收设备也执行类似算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。     
    数据失真的意思从字面上即可理解啦.....- -!
    65、有几种临时表?
    局部/全局临时表
    66、CSS中绝对定位和相对定位有什么区别?
    相对定位的元素不会脱离文档流,占用文档流的空间,Left; Right; Top和Bottom属性与margin属性混合使用会产生累加效果。
    绝对定位的元素脱离文档流,偏移不影响文档流中的其它元素,Left; Right; Top和Bottom属性与margin属性混合使用,偏移方向相同值累加,方向相反,margin属性值无效。
    绝对定位的元素以最近的定位祖先元素为参照物。

    67、ajax的优点和缺点。
    1.优势
        (1)给用户带来流畅而友好的体验;
         (2)无需客户端任何安装,即可被绝大多数浏览器所支持。
    2.劣势
         (1)虽然AJAX用到的技术均已经比较成熟并经过标准化,但由于其涉及的技术太多,开发者仍需要大量的学习,对于某些比较复杂的客户端程序来讲,往往需要开发者对JS以及相关技术非常精通;
         (2)每种浏览器中提供的DOM模型均有轻微的差异,所以在编写跨浏览器的客户端应用程序时往往会非常困难;
         (3)由于大部分表示层以及少部分的业务逻辑均被移植到了客户端用JS实现,这就使客户端代码量急剧增多,但JS从语言层面上并没有完善的面向对象支持,这往往使客户端代码的质量无法得到保证;
         (4)当前并没有非常成熟的用来开发、调试JS的IDE。

    68、ajax和webservers的区别。
    Ajax : 基于标准WEB技术创建的、能够以更少的响应时间带来更加丰富的用户体验的一类WEB应用程序所使用的技术的集合。
    Webservers: 主要是可利用HTTP,穿透防火墙. Web Service是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。Web  Service令基于组件的开发和web的结合达到最佳,基于组件的对象模型 

    69、运算符。
    算术运算符:+、-、*、/、%、++、--、+=、-=、/=、*=、%=
    赋值运算符:为一个单独的等于号(=)
    关系运算符:>、<、>=、<=、!=、==
    逻辑运算符:&、|,&&、||、^、!
    条件运算符:?:

    顺序:1:()和[]
          2:+,-,++,--,!
          3:*,/,%,<<、>>、
          4:>、<,>=,<=,==,!=
          5:&,^,|,&&,||
          6:?:,=,*=,/=,+=,-=

    70、WSDL?
    WSDL是webservice的描述语言,它定义了webservice做什么,怎样做查询的信息等。
        
    71、get和post的区别
    1、 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

    2、 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都可以用Request来获得。

    3、get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

    4、get安全性非常低,post安全性较高。

    5、 <form method="get" action="a.asp?b=b">跟<form method="get" action="a.asp">是一样的,也就是说,action页面后边带的参数列表会被忽视;而<form method="post" action="a.asp?b=b">跟<form method="post" action="a.asp">是不一样的。

    另外

    Get请求有如下特性:它会将数据添加到URL中,通过这种方式传递到服务器,通常利用一个问号?代表URL地址的结尾与数据参数的开端,后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。
    Post请求有如下特性:数据是放在HTTP主体中的,其组织方式不只一种,有&连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便。

    ------------------------------------------------------------------------------------------------------------------------------------------------

    post和get的区别

    post 地址栏不会出现一大串?bjnghfgreygt这样的东西

    如果是get,就会出现了

    1、Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,如[url]http://www.mdm.com/test.asp?name=asd&password=sad[/url],数据都会 直接显示在 url 上,就像用户点击一个链接一样;Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理


    2、 Get 方式需要使用 Request.QueryString 来取得变量的值;而 Post 方式通过 Request.Form 来访问提交的内容


    3、Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好;而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击,根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节

    建议:除非你肯定你提交的数据可以一次性提交,否则请尽量用 Post 方法


    4、Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码,所以表单提交建议使用 Post 方法;Post 方法提交的表单页面常见的问题是,该页面如果刷新的时候,会弹出一个对话框

    建议:出于安全性考虑,建议最好使用 Post 提交数据

    72、get可以传中文吗?
    可以

    73、对sql2000和sql2005的区别。
    数据库管理10个最重要的特点
    特点 描述
    数据库镜像
    通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。

    在线恢复
    使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。

    在线检索操作
    在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。

    快速恢复
    新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。

    安全性能的提高
    SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。

    新的SQL Server Management Studio
    SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。

    专门的管理员连接
    SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题。

    快照隔离
    我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。

    数据分割
    数据分割 将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。

    增强复制功能
    对于分布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。

    74、ajax的流程?ajax的控件?
    AJAX(Asynchronous JavaScript and XML)其实是多种技术的综合,包括 Javascript, XHTML和 CSS DOM XML 和 XSTL XMLHttpRequest。
    AJAX 采用异步交互过程.从而消除了网络交互过程中的处理—等待—处理—等待缺点. 并且可以更新网页的部分内容而不需要刷新整个页面。
    AJAX处理流程:
    1.创建XmlHttp对象xmlHttp,根据不同的浏览器来创建.
    如IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象.
    <script language="javascript">
        var xmlHttp;
        function createHttpRequest(){
          if (window.ActiveXObject){
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }else if (window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();
    }
        }
    </script>

    2.调用xmlHttp的方法open(发送方式,URL,varAsync,验证信息),输入发送的方式 GET或者POST,varAsync表示指定此请求是否为异步方式,
    默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
    function startRequest(){
      createHttpRequest();
      var url = "F:/simpleRequest.xml";
      xmlHttp.open("GET",url,true);
      xmlHttp.onreadystatechange=callback;
      xmlHttp.send(null);
    }

    3.调用xmlHttp的方法send(),发送信息.
    4.处理服务器返回的信息
        当xmlHttp的readyState为4时,并且状态status为 200时,表示成功.
        当status为404时,表404错误.
        当status为500时,表500错误.
    onreadystatechange指定当readyState属性改变时的事件处理句柄,配合readyState使用。
    readyState的状态值    
    未初始化   ====0
    正在加载   ====1
    已加载     ====2
    交互中     ====3
    完成       ====4
    另外,还有silverlight,data entity,data service等.都不错的.

    局部刷新用
    UpdateProgress
    是一个和 ASP.Net AJAX UpdatePanel 控件相协作,可以使得页面用户在
    UpdatePanel 向服务器提交请求的期间,出现相应的提示等待信息的 ASP.Net AJAX控件。
    Timer
    时间控制程序,一定时间间隔后自动触发某个操作。ValidatorCallout
    是一个 ASP.NET AJAX 控件,其可以增强 ASP.Net 的校验控件的提示显示效果

    75、主要开发的项目?OA和电子商务哪个做的多点?电子商务的网站?
    http://www.wygk.cn

    76、javascript可以解析c#传来的集合?为什么?
    可以使用xmlDOM或xmlHttpRequest对象调用WebService中返回的集合

    77、连接数据库主要有哪几个对象?
    DataAdapter,DataReader,DataSet,Command,Connection

    78、游标?
    游标  游标(cursor)
      游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果
      每个游标区都有一个名字
      用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理
      主语言是面向记录的,一组主变量一次只能存放一条记录
      仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求
      嵌入式SQL引入了游标的概念,用来协调这两种不同的处理方式
      在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。
      1.游标和游标的优点
      在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标总是与一条SQL 选择语句相关联因为游标由结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成。当决定对结果集进行处理时,必须声明一个指向该结果集的游标。如果曾经用 C 语言写过对文件进行处理的程序,那么游标就像您打开文件所得到的文件句柄一样,只要文件打开成功,该文件句柄就可代表该文件。对于游标而言,其道理是相同的。可见游标能够实现按与传统程序读取平面文件类似的方式处理来自基础表的结果集,从而把表中数据以平面文件的形式呈现给程序。
      我们知道关系数据库管理系统实质是面向集合的,在MS SQL SERVER 中并没有一种描述表中单一记录的表达形式,除非使用where 子句来限制只有一条记录被选中。因此我们必须借助于游标来进行面向单条记录的数据处理。由此可见,游标允许应用程序对查询语句select 返回的行结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作;它还提供对基于游标位置而对表中数据进行删除或更新的能力;而且,正是游标把作为面向集合的数据库管理系统和面向行的程序设计两者联系起来,使两个数据处理方式能够进行沟通。

    79、做项目主要用到哪些控件?
    自己按情况写GridView, repeater,Ajax(ScriptManager,UpdatePanle,Timer,UpdateProgress,Calander)

    80、对组件的了解。
    组件编程基础(一)什么是组件?
    一、组件概念
    ��简而言之,组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。
    ��组件是对数据和方法的简单封装。C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。
    ��组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。VCL和CLX组件是C++ Builder系统的核心。
    二、组件应用
    ��使用现成的组件来开发应用程序时,组件工作在两种模式下:设计时态和运行时态。
    ��在设计时态下,组件显示在C++ Builder窗体编辑器下的一个窗体中。设计时态下组件的方法不能被调用,组件不能与最终用户直接进行交互操作,也不需要实现组件的全部功能。
    ��在运行状态下,组件工作在一个确实已经运行的应用程序中。组件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他组件之间有效的协同工作。
    ��设计时态下所有的组件在窗体中都是可见的,但在运行时态下不一定可见。如TTable、TQuery和TDataSet在运行时态下就不可见,但他们均完成了重要的功能。
    三、组件创建
    ��创建组件就是自行设计制作出新的组件。
    ��设计组件是一项繁重的工作。自行开发组件与使用组件进行可视化程序开发存在着极大的不同,要求程序员熟知原有的VCL类库结构,精通面向对象程序设计。
    ��设计组件是一项艰苦的工作。对于组件的开发者,组件是纯粹的代码。组件的开发不是一个可视化的开发过程,而是用C++或Object Pascal严格编制代码的工作。实际上,创建新组件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。
    ��创建组件的最大意义在于封装重复的工作,其次是可以扩充现有组件的功能。
    ��组件创建过程包括设计、开发、调试(就是所谓的3D's)工作,然后是组件的使用。
    ��组件开发者应该掌握的三项主要内容是:属性、事件和方法。

    81、做一个电子商务要多长时间?怎么测试自己的模块?
    82、创建委托的步骤。
    委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似。与 C 中的函数指针不同,委托是面向对象的、类型安全的和保险的。委托的类型由委托的名称定义。使用委托可以将方法应用(不是方法)封装在委托对象内,然后将委托对象传递给调用方法的代码,这样编译的时候代码就没有必要知道调用哪个方法。通过使用委托程序能够在运行时动态的调用不供的方法。
    83、公共接口?网银?
    公共接口指的是:在一个接口里定义多个方法, 所有的方法都默认为public,为相关类提供通用功能。
    网银即网上银行的简称,也就是把银行的部分业务搬到互联网上来完成,客户不需要去银行柜台,通过电脑就可实现。
    84、用户控件支持ajax?
    支持
    85、asp.net技术在哪学的?
    86、函数和方法有什么区别?
    函数和方法没有本质区别,但是通常自己写的实现特定功能的代码块叫做方法,比如你写了一个类,定义了几个方法,很少说定义了几个函数。由系统间接或直接生成的不完整代码块叫做函数,不如“事件处理函数”,却很少说“事件处理方法”
    87、swich和case能接受的类型?
    Byte,string ,long,char,int
    88、申明一个值为静态,在后面的使用中会有什么影响?
    89、做一个提醒,怎么操作?
    90、存储过程的好处。
    存储过程的优点:

                           1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

                            2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

                           3.存储过程可以重复使用,可减少数据库开发人员的工作量

                           4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
    SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。

      调用存储过程,可以认为是一个三层结构。这使你的程序易于维护。如果程序需要做某些改动,你只要改动存储过程即可

      你可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句。你可以使用变量和条件。这意味着你可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。

      最后,这也许是最重要的,在存储过程中可以使用参数。你可以传送和返回参数。你还可以得到一个返回值(从SQL RETURN语句)。
    91、理论和实践哪个更重要。
    92、项目使用的技术?webservers的优点和缺点。
    跨平台:跨语言、跨系统、实现分布式处理)
    缺点:速度慢。
    93、权限功能是如何做的?
    94、项目流程?如何实现功能?
    答:(需求分析,架构设计,代码编写,QA,部署)
    95、用sql语句如何删除一列或增加一列?
    1.增加字段
         alter table docdsp(表名)    add dspcode(字段名) char(200)
    2.删除字段
    ALTER TABLE table_NAME DROP COLUMN column_NAME修改字段类型
    96、dom中的元素?多少种属性?
    97、list与arrylist的区别?
    1). ArryList不是泛型,而List是泛型.
        2). 从集合中得到元素,ArrayList需要强类型转化 而List只需在<>中指定就可以,不需要强类型转化
    98、游标有哪些类型?
    1)静态游标。2)动态游标。3)只进游标。4)键集驱动游标.
    <静态游标在滚动期间很少或更本检测不到变化,虽然它在 tempdb 中存储了整个游标,但消耗的资源很少。尽管动态游标使用 tempdb 的程度最低,在滚动期间它能够检测到所有变化,但消耗的资源也更多。键集驱动游标介于二者之间,它能检测到大部分的变化,但比动态游标消耗更少的资源。
    尽管数据库 API 游标模式把只进游标看成一种独立的游标类型,但 SQL Server 却不这样。SQL Server 将只进和滚动都作为能应用到静态游标、键集驱动游标和动态游标的选项。
    >
    99、如何解析XML?
    var xmlHttp = false;

    function createXMLHttp()
    {
        try //IE
        {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(ex)
        {
            try
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(ex)
            {
                xmlHttp = false;
            }
        }
        if(!xmlHttp && typeof XMLHttpRequest != "undefined")    //firefox etc.
        {
            xmlHttp = new XMLHttpRequest();
        }
    }

    //解析xml
      function onblu()
           {
                createXMLHttp();
                var postCode=document.getElementById("Text1").value;
                if(postCode.length>6)
                {
                    return;
                }
                var url="WebService.asmx/GetArea?postCode="+postCode;
                xmlHttp.open("get",url,true);
                xmlHttp.onreadystatechange=readystate2;
                xmlHttp.send(null);
            }
            function readystate2()
            {

                if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
                { 
                    var data=xmlHttp.responseXML.documentElement.firstChild.nodeValue;
                   var arr=new Array();
                   arr=data.split('|');
                   for(var i=0;i<arr.length;i++)
                   {
                   document.getElementById("Text2").value=arr[i];
                   document.getElementById("Text3").value=arr[i-1];
                   }
                }
            }
    100、一个类要继承另一个类并实现一个接口,怎么实现?为什么?
    Public class 类名:继承类,要实现的接口{}
    101、一个页面出现两个updatepanle,如何处理?
    102、描述一下电子商务。怎么支付?
    答:电子商务的概念:
    使用网银接口(支付宝)
    103、封装。继承。
    104、缓存?分为哪几种。
    缓存是ASP.NET程序提高性能的一种重要手段,指用户第一次请求页面后,将内容(HTML)缓存在硬盘或内存中,下一次访问同样的页面时,直接从内存中取,而不需要在次生成页面,这样就可以大大减轻服务器端的压力.使客户端达到快速访问页面的目的.
    1. OutPut Caching(页面输出缓存)
    2. Page Fragment Caching(页面分段缓存)
    3. Data Caching(数据缓存)
         4. SQL Cache(SQL数据缓存)
    105、事务?

    106、cookie和session的区别。
         cookie与session的区别是, cookie数据保存在客户端,session数据保存在服务器端。简单的说,当你登录一个网站的时候,如果web服务器端使用的是session,那么所有的数据都保存在服务器上面,客户端每次请求服务器的时候会发送当前会话的sessionid,服务器根据当前sessionid判断相应的用户数据标志,以确定用户是否登录,或具有某种权限。由于数据是存储在服务器上面,所以你不能伪造,但是如果你能够获取某个登录用户的sessionid,用特殊的浏览器伪造该用户的请求也是能够成功的。sessionid是服务器和客户端链接时候随机分配的,一般来说是不会有重复,但如果有大量的并发请求,也不是没有重复的可能性,我曾经就遇到过一次。登录某个网站,开始显示的是自己的信息,等一段时间超时了,一刷新,居然显示了别人的信息。

          如果浏览器使用的是 cookie,那么所有的数据都保存在浏览器端,比如你登录以后,服务器设置了 cookie用户名(username),那么,当你再次请求服务器的时候,浏览器会将username一块发送给服务器,这些变量有一定的特殊标记。服务器会解释为 cookie变量。所以只要不关闭浏览器,那么 cookie变量便一直是有效的,所以能够保证长时间不掉线。如果你能够截获某个用户的 cookie变量,然后伪造一个数据包发送过去,那么服务器还是认为你是合法的。所以,使用 cookie被攻击的可能性比较大。如果设置了的有效时间,那么它会将 cookie保存在客户端的硬盘上,下次再访问该网站的时候,浏览器先检查有没有 cookie,如果有的话,就读取该 cookie,然后发送给服务器。如果你在机器上面保存了某个论坛 cookie,有效期是一年,如果有人入侵你的机器,将你的  cookie拷走,然后放在他的浏览器的目录下面,那么他登录该网站的时候就是用你的的身份登录的。所以 cookie是可以伪造的。当然,伪造的时候需要主意,直接copy   cookie文件到 cookie目录,浏览器是不认的,他有一个index.dat文件,存储了 cookie文件的建立时间,以及是否有修改,所以你必须先要有该网站的 cookie文件,并且要从保证时间上骗过浏览器,曾经在学校的vbb论坛上面做过试验,copy别人的 cookie登录,冒用了别人的名义发帖子,完全没有问题

    107、用户控件和自定义控件的区别。
        
    Web 用户控件     Web 自定义控件
    易于创建
    为使用可视化设计工具的使用者提供有限的支持每个应用程序中需要控件的一个单独副本
    不能添加到 Visual Studio 中的工具箱
    适用于静态布局     难于创建
    为使用者提供完全的可视化设计工具支持仅在全局程序集缓存中需要控件的单个副本
    可以添加到 Visual Studio 中的工具箱
    适用于动态布局

    108、什么是触发器?
    109、XML的规范
    a.XML区分大小写字母
    b.XML不能省略掉结束标记
    c.在XML中,拥有单个标记而没有匹配的结束标记的元素必须以一个“/”作为结尾。     d.在XML中,属性值必须分装在引号中,属性值必须有引号                             
    110、进程与线程的区别。
         进程是系统进行资源分配和调度的单位;线程是CPU调度和分配的单位,一个进程可以有多个线程,这些线程共享这个进程的资源
    111、委托。
              委托可以把一个方法作为参数代入另一个方法.委托可以理角为指向一个函数的引用.
    112、ajax的优缺点。
         1、ajax干掉了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)
    但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,和ajax框架所要求的快速开发是相背离的。这是ajax所带来的一个非常严重的问题。
    2、安全问题
    技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于credentials的安全漏洞等。
    3、对搜索引擎的支持比较弱。
    4、破坏了程序的异常机制。至少从目前看来,像ajax.dll,ajaxpro.dll这些ajax框架是会破坏程序的异常机制的。关于这个问题,我曾经在开发过程中遇到过,但是查了一下网上几乎没有相关的介绍。后来我自己做了一次试验,分别采用ajax和传统的form提交的模式来删除一条数据……给我们的调试带来了很大的困难。
    5、另外,像其他方面的一些问题,比如说违背了url和资源定位的初衷。例如,我给你一个url地址,如果采用了ajax技术,也许你在该url地址下面看到的和我在这个url地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。
    6、一些手持设备(如手机、PDA等)现在还不能很好的支持ajax,比如说我们在手机的浏览器上打开采用ajax技术的网站时,它目前是不支持的,当然,这个问题和我们没太多关系。
    113、list与arraylist的区别。
         List是接口 定义了一些方法 但是方法没有被实现 ArrayList是一个类 实现了List这个接口 List里边定义的方法 在ArrayList里边都实现了 同时List也可以被别的类所实现 例如Vector, Vector和ArrayList对List定义的方法的实现就有所区别..

    114、wsdl.
         是一个用来描述Web服务和说明如何与Web服务通信的XML语言
    (wsdl是一个接口描述 主要是给用户生成客户端用的 依据wsdl的描述 (参数 ,服务名之类) 在客户端生成调用服务器接口的方法 wsdl只是一个接口服务描述)

    115、remote与webservers的区别。web servers在数据传送的时候有什么要求?
         Ws主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率,remoting是.NET中用来跨越machine,process,appdomain进行方法调用的技术,对于在层结构的程序,就可以使用remoting技术来构建,它是分布应用的基础技术,相当于以前的DCOM,webservice是一种构建应用程序的变通模型,并能在所有支持internet网通讯的操作系统上实施。Webservice令基于组件的开发和web的结合达到最佳,基于组件的对象模型。
    116、xml和数据库都是存储数据,有什么区别。
    操作不同,速度不同
    Xml
    Xml比较适合扩充

         

  • 相关阅读:
    抓取登录后的数据
    Form认证的几点说明
    eclipse启动错误:java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
    mysql游标的使用 No data
    mysql insert 主键 重复问题
    tail 命令
    maven 打包可执行jar的方法
    maven中如何打包源代码
    工程师,请优化你的代码
    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步)
  • 原文地址:https://www.cnblogs.com/yuhangwang/p/4569122.html
Copyright © 2011-2022 走看看