基本试题1

1.用接口或父类作为输入的参数有什么好处?返回值如果是接口是为了什么?
接口或父类作为参数,所有继承了此接口或父类的类都可以使用,即你给此方法传参数的时候,可以把继承了这个接口或父类的类的实例传给这个方法。可以一次性传入多种字段、方法等而不用定义多个形参,接口作为返回值,返回的是实现接口的对象。

2.什么是序列化和反序列化?
序列化和反序列化[Serializable]与[Serializable()]
序列化就是把人的魂(对象)收伏成一个石子(可传输的介质)
反序列化就是再把介质中的东西还原成对象,把石子还原成人的过程。

3.ASP.NET中的传值?
session,cookie,application

4.重载与重写的区别?
重载发生在同一个类中;重载主要是针对同一个类中方法名相同但参数不同的情况。
重写发生在派生类上,通过override关键字来改写从其父类继承过来的具有相同返回值

5.什么是泛型,有什么优点?
即通过参数化类型来实现在同一份代码上操作多种数据类型。
优点:1.C#的泛型类型可以应用于强大的反射技术。2.性能高

6.private,protected,internal和public修饰符的访问权限?
private:私有成员,在类的内部可以访问
protected:保护成员,在该类内部和继承类中可以访问
internal:在同一程序集中可以访问
public:公共成员,完完全公开,没有访问限制

7. EasyUI是什么?
是一个JS框架。

8. MVC中的路由
控制访问地址

9. 简述下封装,继承,多态的特点
封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:是指可以让某个类型的对象获得另一个类型的对象的属性的方法。
多态:就是指一个类实例的相同方法在不同情形有不同表现形式。

10. C#中的委托是什么?事件是不是一种委托?
委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。
事件是一种特殊的委托。

基本试题2

1.ASP.NET页面之间传递值的几种方式?

答: 总的来说有页面传值、存储对象传值、ajax、类、model、表单等。但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer。

2.常用的调用Webservice的方式有哪些?

答:可以根据wsdl文件生成客户端,或者直接根据地址调用。直接调用的话,主要有AXIS和SOAP两种方法

3.在C#中,string str=null 与string str=” ”请尽量用文字或图像说明其中的区别

答:str=null 在内存中创建一个str
str="" 在内存中创建一个str和一个"",其中 "" 是常量str指向 ""

4.写出一条Sql语句,取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:数据不是连续的)

答: select top 10 * from tableA where ID not in (select top 30 ID from tableA)

5.数组有没有length()这个方法?String 有没有length()这个方法?

答:数组是没有length()这个方法的,有length这个属性,可以计算数组的长度
String是有length()这个方法的,用来计算字符串的长度。

6.如何处理几十万条并发数据?

答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.

7.成员变量和成员函数前加static的作用?

答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。

8.向服务器发送请求有几种方式?

答:get,post。

9.什么叫做SQL注入,如何防止?请举例说明。

答:sql注入就是,通过语句的连接做一些不是你想要的操作..
例如你要查询id=1的记录,直接连接就是这样"select * from tableName where id=1"
别人可以写成"select * from tableName where id=1;delete from tableName"
这样就把你的表数据全部删除了.就是加个;继续写脚本,当然,这只是个例子..还能做其他操作,
比如获取你数据库的用户名,密码什么的,那就惨了,,传参的方式可以防止注入
"select * from tableName where id=@id" 然后给@id赋值,就ok啦..

10.列举一下你所了解的XML技术及其应用

答:标记语言,主要用于网页之间的数据传递。

11.web server是什么?

答:翻译过来是网站服务器,只从你这里看不出来是电脑还是软件,不过一般来说应该是软件
最常见的web server是windows自带的IIS,翻译就是internet 信息服务
其他的还有apache,easy web server以及很多软件都可以实现这个功能
如果是制作网站的页面文件的话,一般是用dreamweaver,frontpage用得比较少。可以是静态的html,也可以是动态的asp,还有很多当然。

12.数据库视图,存储过程

答:视图:就是一个表或者多个表的一个映射,一般只做查询使用。比如你想要的数据存在两个表里,但你查询时不想每次都写关联,那么你创建一个视图,以后只查询这个视图就可以(查询时视图与查询表语法一样)
存储过程:这个一般是沉淀数据使用的,当你需要查询的数据不能用一个sql语句查出或者sql语句查询速度特别慢,想要提高效率,就会用到存储过程,先把需要的数据沉淀到结果表里然后直接查询结果表就能提高效率。

13.mvc之间的传值。

方式一:form表单提交(一对一传值)
例如:
view层代码:
  action - 数据提交到的服务端(如Home控制器下的Insert动作)
  method - 提交数据的方式(post或get)
  name - 服务端不认id或class等,只认name

14.数据库中事务是什么意思关键字是什么。

答:事务就是你操作数据库的动作,例如:将a表内字段a1为1的信息全部删除 在事务日志中就记载delete a where a1=1,事务日志的作用是一旦发生误操作,可根据事务日志中记载的操作重新找回数据,有个软件可以重新找回误操作的数据,但DROP TABLE 表 这个操作是无法找回的 这个命令是永久删除,无法找回

15.ajax里用来提交的是什么。


16.post和get的区别。

答:get是从服务器上获取的数据。

    podt则是向服务器传送数据。
    get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
    post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
    get方式,服务器端用Request.QueryString获取变量的值
    post方式,服务器端用Request.Form获取提交的数据。


17.c#面向对象有哪些。

答:封装,继承,多态

18.cookie和session的区别

答:cookie用于交互时存放在客户端,即使用你临时文件夹中不存在cookie,但在你的浏览器进程中会临时保存你的cookie!session是交互时存放在服务端,即使用不保存,也在服务进程中。
session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器。

19.数组和泛型集合的区别

答:泛型集合只能放定义类型的元素,会自动增大,取出时不用做类型转换
数组只能放定义类型的元素,不会自动增大,取出时不用做类型转换

20.Js有哪几种标签选择器


21.Ajax有哪几个重要属性

答:属性描述
onreadystatechange 每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数
readyState 请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
responseText 服务器的响应,表示为一个串
responseXML 服务器的响应,表示为XML。这个对象可以解析为一个DOM对象
status 服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等)
statusText HTTP状态码的相应文本(OK或Not Found(未找到)等等)

22.数据库左链接

答:关于左连接和右连接总结性的一句话:
左连接where只影向右表,右连接where只影响左表。

23..ADO五大核心对象

答:Connection、Command、DataSet、DataReader、DataAdapte

24..事务是什么,怎么使用

答:事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务
注意:mysql数据支持事务,但是要求必须是innoDB存储引擎
解决这个问题:
mysql的事务解决这个问题,因为mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。利于数据的安全
如何使用:
(1)在执行sql语句之前,我们要开启事务 start transaction;
(2)正常执行我们的sql语句
(3)当sql语句执行完毕,存在两种情况:
1,全都成功,我们要将sql语句对数据库造成的影响提交到数据库中,committ
2,某些sql语句失败,我们执行rollback(回滚),将对数据库操作赶紧撤销

25.描述private,protected,public和internal修饰符访问权限。

答: private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。

26.请编程实现一个冒泡排序算法。

  int temp = 0 ;
  for (int i = 0 ; i < array.Length - 1 ; i++)
  {
       for (int j = i + 1 ; j < array.Length ; j++)
        {
             if (array[j] < array[i])
             {
                    temp = array[i] ;
                    array[i] = array[j] ;
                    array[j] = temp ;
              }
         }
  }```
        
Last modification:October 13th, 2019 at 07:53 pm
如果觉得我的文章对你有用,请随意赞赏