LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#基础面试题

admin
2023年11月16日 21:51 本文热度 385

1.面向对象的思想主要包括什么?

继承,封装,多态

 2.简述private、protected、public、internal修饰符权限

Private:私有成员,在类的内部才能访问

Protected:保护成员,在类的内部和继承中访问

Public:公开成员,没有访问限制

Internal:当前程序集内访问

3.什么是override和interface?

override用于重写父类的虚方法和抽象方法,interface用于定义接口

4.Abstract class和interface有什么区别?

Abstract class可以定义属性,字段及实现方法,不能多继承,只能用于引用类型

interface只能包含方法并且不能实现,可以多继承,可以用于值类型和引用类型

5.Struct和class的相同和不同?

相同点:都可以定义字段、属性和方法,可以通过new来初始化对象

不同点:struct是值类型,class是引用类型,struct可以继承接口不可以继承class,class既可以继承接口,又可以继承class

6.C#中委托时什么?事件是不是一种委托?

委托是一种引用类型,保存的是对函数的引用。事件是一种特殊的委托。

7.堆和栈的区别?

栈是编译期间就分配好的内存空间

堆是程序运行期间动态分配的内存空间

8.Float f=123.567F; int i=(int)f; i的值现在是123?

9.String s=new String(“xyz”);创建了几个Object?

两个string对象

10.Short s1=1;s1=s1+1;有什么错?

   Short s1=1;s1+=1;有什么错?

第一个有可能导致数据溢出,第二个short类型没有+=运算符

11.C#中,string str=null与string str=””,请尽量用文字说明区别?

null 表示没有引用任何对象,而空字符串 "" 表示引用了一个空对象

12.请简述一下两个for循环的优缺点?

第一个for执行的次数可能少于第二个,第二个for循环if判断的次数少

13.在下面的例子里,当使用 new B()创建B的实例时,产生什么输出?

X=1,y=-1

14.写出程序的输出结果

10,21,1,str,string being converted

15.写出程序的输出结果

B,B,Fun()

16.写出程序的输出结果

2 5 1 6

17.什么是进程和线程?

进程是程序执行的实例,线程是程序执行的最小单位。

18.进程间通信的方式?

管道通信,信号量通信

19.死锁的必要条件?怎么克服?

互斥,等待;

20.根据线程安全的相关知识,分析以下代码,当调用test     方法时i>10时是否会引起死锁?并简要说明理由。

会引起死锁,该线程递归调用test(i)时,它将再次尝试获取同一个锁。由于锁不能被释放,所以这个线程将被阻塞

21.UDP连接和TCP连接的异同?

UDP是无连接的TCP是面向连接的

22.实现快速排序

static void QuickSortAlgorithm(int[] arr, int low, int high)

{

        if (low < high) {

            int pi = Partition(arr, low, high);

            QuickSortAlgorithm(arr, low, pi - 1);

            QuickSortAlgorithm(arr, pi + 1, high);

        }

}

 

static int Partition(int[] arr, int low, int high)

{

        int pivot = arr[high];

        int i = (low - 1);

        // index of smaller element

         for (int j = low; j < high; j++) {

            if (arr[j] < pivot) {

                i++;

                Swap(arr, i, j);

            }

        }

        Swap(arr, i + 1, high);

        return i + 1;

}

 

static void Swap(int[] arr, int i, int j)

{

        int temp = arr[i];

        arr[i] = arr[j];

        arr[j] = temp;

}


23.实现单例模式

public class Singleton{    private static Singleton _instance;
   private Singleton()    {    }
   public static Singleton Instance    {        get        {            if (_instance == null)            {                _instance = new Singleton();            }            return _instance;        }    }}


24.什么是存储过程?有什么优点?

存储过程是一组sql语句,有点是执行速度快、减少网络流量、安全

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

select * from(select row_number() over(order by Id asc)as index,* from A)aa where index between 31 and 40

26.用一条SQL语句,查询出每门课都大于80分的学生姓名

select distinct name from(select min(fenshu) over(partition by name)aa, * from tt) a where aa>80


该文章在 2023/11/16 21:51:05 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved