DotNet笔试面试题
陆老师Peter
高校计算机专业教师、项目经理、软件研发负责人。
展开
-
网站开发和asp.net程序员笔试题
一、1. 总线结构的判断:单总线、平行、双、多。2. 微指令编码方式的判断: 直接编码、字段直接、字段简接、混和编码。3. 二进制算法。4. 中断的判断。5. 异步通信方式有:不互锁、半互锁、全互锁、混和锁。6. 局域网中以太网的交换技术。二、1. UI设计部分这是web产品化的第一步。这个部分通常在稍大型的公司里,被单独设立为一个部门或者一些人来工作。主要是要掌握...原创 2020-02-27 19:26:42 · 358 阅读 · 0 评论 -
经典.net面试(net面试题汇总)20200227版本
经典.net面试这些是C#和ASP.NET数据库面试题。1. 简述private、protected、public、internal 修饰符的访问权限。答. private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问...原创 2020-02-27 17:15:39 · 8018 阅读 · 0 评论 -
I/O(4)——目录操作、复制文件(笔试题)
1、这里说的“目录”:目录就是文件夹,文件夹就是目录。2、Directory类的常用静态方法:void Delete(string path, bool recursive) 删除目录, recursive表示是否递归删除,如果recursive为false则只能删除空目录。 bool Exists(string path) 判断目录是否存在。 CreateDire...原创 2019-09-04 21:19:52 · 165 阅读 · 0 评论 -
多态和接口(3)——设计模式(1)——方法override、CLR(Common Language Runtime 公共语言运行时)、CTS(Common Type System 公共语言系统)
1、多态就是设计模式!!!多态理解了设计模式就理解了。2、定义坐标类,坐标类默认继承Object的ToString()方法,没有自己的特色。3、override ToString()输出友好信息: public override string ToString() { return string.Format("({0},{1})",X,Y);...原创 2019-09-03 10:58:26 · 220 阅读 · 0 评论 -
自己动手写代码生成器
1、每次写三层的三个类的时候都重复的写,代码都差不多,所以可以用代码生成器自动生成代码。2、基础知识:Path.Combine()可以进行两个路径的拼接,省得自己处理\的问题; Directory.CreateDirectory()如果文件夹不存在则创建; File.WriteAllText将字符串写入文本文件; StringBuilder可以用来更高效的进行字符串拼接,Append...原创 2019-09-03 02:27:19 · 872 阅读 · 0 评论 -
集合(2)——Dictionary字典(1)——Dictionary(字典)→ Hashtable等集合类
一、Dictionary(字典)→ Hashtable1、Key-value Pair 键值对。成语不可以重复,但是解释可以重复。2、Dictionary<K,V>: K即Key是键,V即value是值。(1)Add:添加,如果重复,则报错。(2)索引器方式设置值:可以重复设置,即使不存在也没关系,如果重复则新数据覆盖旧数据。(3)ContainsKey,判...原创 2019-06-22 21:37:52 · 253 阅读 · 0 评论 -
集合(1)——泛型(1)——列表ArrayList 和泛型
一、列表1、概念:ArrayList,可以看做是动态的数组。Add、Clear、Contains、Count、Remove、RemoveAt、ToArray(转换,再没关系)、索引器。(1)ArrayList有一个非常重要的方法Add,作用是把一堆东西放到动态数组里。(2)Clear是清空这个ArrayList。(3)Count是计算ArrayList的长度。(4)Remove...原创 2019-06-22 15:17:56 · 676 阅读 · 0 评论 -
C#笔试面试题(90道题,含答案)
1. 您正在编写自定义字典。该自定义字典类名为MyDictionary。您需要确保该字典是类型安全的字典。您应该使用哪个代码段?A. class MyDictionary :Dictionary<string, string>B. class MyDictionary :HashTableC. class MyDictionary :IDictionary...原创 2019-09-03 00:13:45 · 4799 阅读 · 0 评论 -
多态和接口(2)——抽象类abstract(3)——常用系统接口:IDisposable 和 IEnumerable
1、using,实现了IDisposable接口的对象可以使用using进行资源声明,出了using的作用域以后自动调用Dispose方法。 Dispose和Close的区别:实现了IDisposable接口必须定义Dispose方法,但不一定有Close方法,很多Dispose的实现都是调用Close方法。SqlConnection Close以后还能重新Open,但是Dispose以后就不能再...原创 2019-09-03 00:22:02 · 129 阅读 · 0 评论 -
多态和接口(1)——抽象类abstract(1)——接口、接口和类的区别、接口和抽象类的区别(面试重点)
1、接口相当于没有方法实现的抽象类(但是它并不是一个类,而且接口里不能有方法)。public interface Flyable{ void Flay();}2、一个类只能继承自一个类,但是可以实现多个接口。3、一个抽象类中可以定义实现代码,也可以不定义。但是接口不能定义实现代码(哪怕方法中只是一个空的括号{},也是空实现)。4、接口的多态特性、类型转换、i...原创 2019-06-22 12:48:52 · 409 阅读 · 0 评论 -
数据库开发及ADO.NET(44)——数据绑定、探究(面试常考)
一、数据绑定1、DataGridView绑定。拖放TableAdapter、DataSet、bindingSource,将bindingSource的DataSource设定为DataSet,设定DataMember属性,然后DataGridView绑定到bindingSource。在Load的时候调用TableAdapter的Fill方法将数据填充到DataSet。绑定:双方能同步感知对方的...原创 2019-09-02 00:20:58 · 297 阅读 · 0 评论 -
多态和接口(4)——虚方法virtual(2)——virtual方法和abstract方法的区别(面试题)
1、virtual方法和abstract方法的区别:(面试题)(1)virtual方法子类可以override,也可以不override。但是如果子类不是抽象类(可以被new),那么父类定义的所有abstract成员子类都必须实现。(2)父类定义virtual方法的时候必须提供实现。父类定义abstract方法不能提供实现。(3)一个类如果有至少一个抽象成员,那么类必须是abstrac...原创 2019-09-03 11:14:38 · 251 阅读 · 0 评论 -
多态和接口(9)——虚方法virtual(3)——接口与抽象类(常考)
1、公共的行为定义成接口(接口定义能做什么),然后公共的实现定义成抽象类。抽象类是实现的复用,接口定义的是公共行为的复用。2、抽象类可以给出方法的实现,也可以不给出(abstract);接口所定义的方法一定不能给出实现代码。接口只是定义能做什么,没法定义怎么做。3、一个类只能有一个父类,一个类可以实现多个接口。(非常重要的不同点)。4、同样是override的方法,virtual和ab...原创 2019-09-03 23:37:27 · 162 阅读 · 0 评论 -
传智播客 .NET面试宝典(2015版)
.Net工程师面试笔试宝典培训班常见问题1.你们会带着我们做完整个完整的项目吗?答:小的项目会,大的项目则不可能,1.众所周知,随便拿出一个中等大小的项目,也需要好多个熟练的开发人员开发好多个月才能勉强做得差不多,培训期间没有这么多时间,并且你还要先学会了很多技术后才能开始做项目。2.一个项目中的很多东西都是重复性的工作量的累积,技术方面都大同小异。做一个项目就好比盖一座楼房...原创 2019-09-24 21:52:06 · 3135 阅读 · 0 评论 -
传智播客 .NET面试宝典(2014版)
.Net工程师面试笔试宝典由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需要一个月的时间才能消化和掌握这套面试宝典,所以,大家应该早作准备,从拿到这套面试宝典之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了。回答问题的思路:先正面叙述一些基本...原创 2019-09-24 21:48:22 · 1365 阅读 · 0 评论 -
C_.NET+Framdwork题库(未整理完,有时间再补)
第一章 Microsof.NET Framework 概述1..NET Framework 可以运行在下列哪些操作系统之上,并为托管程序提供支持?( )WindowsNT 4.0 Windows 2000 Professional Windows 98 SE WindowsXP Home Edition 答案:A,B,D2..NET 公共语言...原创 2019-09-08 11:43:29 · 20579 阅读 · 0 评论 -
C#语法(2)——.Net4.0新特性
1、动态对象(.Net4.0中最重要的特性,对动态语言的支持,IronPython。 回答.Net4.0你认为最重要的特性是什么? ):dynamic p = new ExpandoObject(); p.Name = "dd";随着赋值动态产生属性,然后就可以读。2、动态对象简化反射调用:dynamic d = person1;person.SayHello();写错了也不会编译出错,运行时...原创 2019-09-08 11:15:03 · 238 阅读 · 0 评论 -
C#语法(1)——C#语法
1、密闭类,将类声明为sealed以后,这个类就不能被继承了。比如:不能编写一个从String或者int32继承的类,因为他们是密闭的(常考)安全考虑。2、部分类(partial class),C#中可以将一个类定义在多个cs文件中,求合体。比如WinForm窗体类,这主要用在代码生成的场合,将生成的代码放到一个cs文件中,另外一个cs文件允许用户修改,既保证生成代码不被乱改,也能保证用户自己...原创 2019-09-08 11:10:36 · 434 阅读 · 0 评论 -
设计模式(6)——单例模式(1)——单例模式(笔试面试)
1、单例模式,又叫单件模式、Singleton模式,目的:只能创建类的一个对象。2、一个类通常可以创建无限个对象,但是有时候需要只有一个对象的类,比如全局资源管理器、缓存管理器等,一山不容二虎,这种情况下如果有多个对象就会乱掉了。缓存管理器只能有一个,否则把数据扔给一个管理器,却管另外一个要。一个单例类一般都是:***管理器。3、单例模式的基础(如何设计只能有一个对象的类):(1)开发...原创 2019-09-05 21:49:10 · 151 阅读 · 0 评论 -
对象序列化
1、对象序列化是将对象(比如Person对象)转换为二进制数据,反序列化是将二进制数据还原为对象。对象是稍纵即逝的,不仅程序重启、操作系统重启会造成对象的消失,就是退出函数范围等都可能造成对象的消失,序列化/反序列化就是为了保持对象的持久化。就像用DV录像(序列化)和用播放器播放(反序列化)一样。序列化反序列化只针对非静态字段和属性。序列化的是对象,所以跟静态成员没有关系。2、BinaryFo...原创 2019-09-05 21:35:23 · 301 阅读 · 0 评论 -
数据库开发及ADO.NET(43)——增加新的SQL语句、TypedDataSet、强类型DataSet其他(面试:如何优化访问数据库的效率)
一、增加新的SQL语句1、设计器的Adapter中点右键,选择“添加查询”→“使用SQL语句”,就可以添加多种类型的SQL语句。如果是“SELECT(返回行)”则SQL语句的列必须是对应DataSet类的父集合,生成两个方法:FillBy*和GetBy*,方法名根据查询语句的意义定,比如FillByAge,FillBy是将结果填充到现有DataSet,GetBy是将结果以DataSet方式返回...原创 2019-09-02 00:04:18 · 186 阅读 · 0 评论 -
数据库开发及ADO.NET(21)——类型转换函数(CAST是重中之重)、空值处理函数
一、类型转换函数1、CAST ( expression AS data_type)//cast(要转换的值 as 要转换的类型),跟其他类型转换的区别:错误时不报错,而是返回一个null。2、CONVERT ( data_type, expression)3、例1:SELECT FIdNumber, RIGHT(FIdNumber,3) as 后三位, C...原创 2019-09-01 00:15:11 · 756 阅读 · 0 评论 -
数据库开发及ADO.NET(16)——数据分组、Having语句(分组后查询条件)、限制结果集行数(分页经常用到)
一、数据分组1、按照年龄进行分组统计各个年龄段的人数:SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage2、GROUP BY子句必须放到WHERE语句的之后。3、没有出现在GROUP BY子句中的列是不能放到SELECT语句后的列名列表中的 (聚合函数中除外)。错误: SELECT FAge,FSalary FRO...原创 2019-08-31 02:44:35 · 439 阅读 · 0 评论 -
ASP.NET笔试题小汇总——new,把一个array复制到arrayList里,反射和序列化,对象关系映射ORM,sealed 修饰符定义密封类,类class和结构struct
1.new有几种用法?答:第一种:new Class();第二种:覆盖方法public new XXXX(){}第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。2.如何把一个array复制到arrayList里?答:foreach( object o in array )arrayList.Add(o);3.datag...原创 2019-07-31 12:43:34 · 161 阅读 · 0 评论 -
面试题-使用递归计算1,1,2,3,5这样的队列的第100个数
int sum (int x){ if(x==1|| x==2) return 1; else { result=sum(x-1)+sum(x-2); } return result; }转载 2019-07-25 23:02:13 · 248 阅读 · 0 评论 -
1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现
1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现解剖递归算法猛一看这一串数据还真看不出来个啥,但是只要你认真查找,就能看出规律。从上面可以看出前两个数相加得到第三个数。public static int SuanFa (int i) { if(i>0) { ...转载 2019-07-25 22:58:43 · 1818 阅读 · 1 评论 -
SQL Server(3)——一道关于员工与部门查询的SQL笔试题
建表:DEPARTMENTS:DEPARTMENT_ID(primary key),DEPARTMENT_NAME,LOCATIONEMPLOYEES:EMPLOYEE_ID(primary key),EMPLOYEE_NAME,EMPLOYEE_JOB,MANAGER,SALARY,DEPARTMENT_ID列出EMPLOYEES表中各部门的部门号,最高工...原创 2019-06-11 09:51:42 · 1610 阅读 · 0 评论 -
c# switch 条件语句的用法
switch条件语句是一种很常用的选择语句,它与if条件语句不同,它只针对某个表达式的值作出判断,从而决定执行哪一段代码。switch条件语句用到的关键字: switch case break default 。switch条件语句的格式如下:switch (表达式) { case 目标值1: ...转载 2019-07-25 22:44:23 · 3713 阅读 · 0 评论 -
ASP.NET开发 笔试题目详解(6)——构造函数,值类型和引用类型的区别,ViewState,Icomparable,ASP.NET支持的部署机制,ASP.NET 页面间传递参数的方法
问题十四: 构造函数的概念。构造函数是一种特殊的方法,调用它来初始化对象。构造函数的名称总是和包含它的类名称相同,并且从不返回值。构造函数分为两类:实例构造函数和静态构造函数。实例构造函数用来初始化特定的对象实例。静态构造函数也称类构造函数,在第一次使用类之前调用。一个类可以有多个构造函数。例如,可以声明一个不带参数的构造函数(如 Point())和一个带参数的构造函数(如 Point(...转载 2019-07-30 15:37:04 · 188 阅读 · 0 评论 -
ASP.NET开发 笔试题目详解(5)——override与overload,DataReader和DataSet,C#的异常处理机制
问题十一: override与overload的区别。override(重写)修饰符,覆写一个基类中的方法。overload(重载)则是将同名方法重新写过,达到同名的函数实现不同的功能。从而实现了一个方法有不同的版本。问题十二: DataReader和DataSet的异同。DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConne...转载 2019-07-30 14:36:07 · 270 阅读 · 0 评论 -
ASP.NET开发 笔试题目详解(4)——索引器(Indexer),FOREACH,ASP.NET 服务器控件的生命周期,接口和抽象类,自定义控件和一般用户控件的异同,面向对象的概念和特点
问题五: 描述一下C#中索引器的实现过程,是否只能根据数字进行索引?参考答案:索引器(Indexer)是C#引入的一个新型的类成员,它使得对象可以像数组那样被方便,直观的引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。下面是典型的索引器的设计,我们在这里忽略了具体的实现。class MyClass{ public object t...转载 2019-07-30 13:11:32 · 183 阅读 · 0 评论 -
ASP.NET开发 笔试题目详解(3)——委托和事件
问题四: C#中的委托是什么?事件是不是一种委托?答:委托:委托是C#中的一种引用类型,类似于C/C++中的函数指针。与函数指针不同的是,委托是面向对象、类型安全的,而且委托可以引用静态方法和实例方法,而函数指针只能引用静态函数。委托主要用于 .NET Framework 中的事件处理程序和回调函数。一个委托可以看作一个特殊的类,因而它的定义可以像常规类一样放在同样的位置。与其他类一样,委托...转载 2019-07-30 12:33:38 · 179 阅读 · 0 评论 -
asp.net面试题(很全面,总共125题)
1.维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么?答:尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。2.什么是事务?什么是锁?答:事务是指一个工作单元,它包...原创 2019-07-31 17:14:23 · 5832 阅读 · 0 评论 -
asp.net 面试题
1、请用一个例子来说明泛型的好处。答:泛型可以存放任何的引用或值类型,避免了显式强制转换。List<T> list =new ArrayList<T>();list.add("可以放个值,也可以放对象")访问时由于已经指定了存放类型T ,所以在取值时不需要强制转换了。可以用:foreach(T t in list){ Console.WriteLine...原创 2019-07-31 23:55:53 · 183 阅读 · 0 评论 -
【C#】面向对象(10)——常量与静态成员
1、const常量。常量名要大写。一定不会变化的值才能声明为常量。(定义)声明格式:const 常量类型 常量名=常量值; 如:const double PI=3.14;常量赋值以后就不能再改变它的值。如:PI=2; //错误的。因为上面已经赋值过了。默认规则:常量名一般全部大写,如:PI、SAG、NAME等。因为常量对于任何的对象的值都不变,所以不需要通过对象...原创 2019-08-30 01:56:34 · 392 阅读 · 0 评论 -
【C#】面向过程(19)——ref和out参数(1)——函数的ref、out参数
1、函数参数默认是值传递的,也就是“复制一份”,例子:int age=20;IncAge(age);Console.WriteLine("age={0}",age);2、ref必须先初始化,因为是引用,所以必须先“有”,才能引用;而out则是内部为外部赋值,所以不需要初始化,而且外部初始化也没用。3、应用场景:ref是内部对外部的值进行改变,out则是内部为外部变量赋值,out一...原创 2019-08-30 00:22:42 · 207 阅读 · 0 评论 -
【C#】面向过程(20)——字符串的处理
1、C#中单个字符用单引号包含就是char类型,(‘a’),单引号中放且只能放一个字符。ASCII码。2、单个字符也可以表示为字符串,还可以有长度为0的字符串。null和""的区别,String.IsNullOrEmpty3、使用s.Length属性来获得字符串中的字符个数。4、string可以看做是char的只读数组。char c = s[1];。例子:遍历输出string中的每个元...原创 2019-08-30 00:23:25 · 210 阅读 · 0 评论 -
委托和事件(12)——委托和事件的区别
委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和事件(标准的event方式实现)的区别。事件的内部是用委托实现的(事件是用委托来实现的)。(举例子:三种实现事件方式的区别)。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这...原创 2019-08-22 14:56:46 · 349 阅读 · 0 评论 -
内存管理(8)——结构体 Struct (面试题)
1、面试题1:结构体和类的区别。结构体是值类型,而类是引用类型。2、面试题2:这里的输出结果是什么? MyPoint p1 = new MyPoint(); MyPoint p2 = p1;//结构体是值类型,拷贝一份 Console.WriteLine(object.ReferenceEquals(p1, p2));...原创 2019-08-26 00:52:42 · 288 阅读 · 0 评论 -
内存管理(6)——string与StringBuilder(面试)
1、string是不变的,因此每次运算都会重新创建一个string对象。s=s+”abc”;2、string s4=s1+s2+s3; //s1+s2产生"ab","ab"+s3产生"abc"。产生两个字符串{ s=s+i.ToString();}3、大量的字符串相连会产生大量的中间字符串,字符串是对象,对象的产生是慢的,而且会占用大量的内存。所以...原创 2019-08-25 23:12:59 · 139 阅读 · 0 评论