广州某公司软件工程师面试题

2023-06-29   


1.抽象类和接口有什么异同?10分
   答:接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。
   2.结构和类有什么异同?10 分
   答:类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。
   结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。
   如何选择使用结构还是类:
   a) 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
   b) 结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
   c) 在表现抽象和多级别的对象层次时,类是最好的选择
   d) 大多数情况下该类型只是一些数据时,结构是最佳的选择
   3.有根粗细不一的绳子有A,B两端,从A端烧到B端的时间是一个小时,从B端烧到A端也是一个小时 .但从中间烧到A端或是B端不是半个小时.
   给你两跟绳子和一个打火机 怎么样得到45分钟?15分
   答:两根绳子同时点,只不过,一根两头一起点,一根只点一个头,当两头点的烧玩时,花掉30分钟,再把另一根绳子的另一头也点燃,这样它烧玩花掉的时间就是15分钟,两个时间加起来就是45分钟。
   4.有一个数据库中的两个表(具体的记不太清楚)
   1).再建两个表 10分
   2).通过建的两个表查询 10分
   3).两表查询 10分
   4).两表复杂查询 15分


相关内容:

  1. 某公司Java工程师面试题笔试题
  2. 广州喜创信息技术有限公司JAVA软件工程师笔试题
  3. 广州某公司的asp.net面试题
  4. 南京某软件公司的.net面试题
  5. 威盛公司软件C++工程师笔试题面试题
  6. 顺丰快递Java软件工程师面试题