我爱学习网 52xx.cn我爱学习网菜单按钮
  • 搜索
当前位置:首页 > 专题 > 写作模板 > 面试试题

软件工程师面试题

发布时间:2021-02-04 栏目:专题 投稿:顺利的苗条

软件工程师面试题

谈谈指针引用的区别?指针用操作符“*”和“->”,引用使用操作符“&”. 相同点是:指针引用都是让你间接引用其他对象。区别:(1). 指针是一个实体,指向一块内存,它的内容是所指内存的地址;而引用仅是个别名,是某块内存的别名。(2). 引用使用时无需解引用(*),指针需要解引用;(3). 引用只能在定义时被初始化一次,之后不可变,“从一而终”;指针可变;(4). 引用没有 const类型指针有 const类型,const 的指针不可变;(5). 引用不能为空,指针可以为空;(6). “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;typeid(t) == typeid(t&) 恒为真,sizeof(t) == sizeof(t&) 恒为真,但是当引用作为成员时,其占用空间与指针相同(没找到标准的规定)。(7). 指针引用的自增(++)运算意义不一样;你在程序代码中用assert吗?assert一般用于做什么?(1) 是我常用。(2)主要用于debug下断言,即假设一定是这样的,否则就是错误的。例如 asser ( a > 100 );i++ 相比 ++i 哪个更高效?为什么?答:(1)++i 比 i++效率高。(2)i++要多调用一次类的构造和析够函数c#中的委托是什么?事件是不是一种委托?委托是指具有相同属性(也称具有相同的函数签名:返回类型相同,参数类型参数顺序及参数个数相同)的函数方法的抽象,关键字为delegate。主要用途是三个:1)函数回调;2)传递方法;3)事件机制事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托,对事件的声明, 实际是声明一个私有的委托变量,对委托变量进行封装,即委托变量加上event关键字后,不管其前面的访问修饰符是public还是private,编译器都会将其编译为private。委托是一个类,它定义了方法类型,使得可以方法当作另一个方法参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用if-else(switch)语句,同时使得程序具有更好的可扩展性。以委托参数函数具有一定的通用性。使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法请叙述属性与索引器的区别。属性:它是存取类的字段,索引器:indexer它是特殊的属性,用它可以使用户像访问数组一样访问类的成员。请详述在dotnet中类(class)与结构(struct)的异同。类class可以进行实例化,它是引用类型内存分配在栈中,效率高,它有默认的构造函数,有析构函数可以使用 abstract 和 sealed, protected 修饰符。要用new进行初始化,结构它是属于值类型内存分配在堆中,效率低,它没有默认的构造函数,但是可以添加构造函数,没有析构函数没有 abstract 和 sealed(因为不能继承)不能有protected 修饰符 可以不使用new 初始化,但是可以在结构中初始化实例字段。在c#中,string str = null与string str = “” 请尽量使用文字或图象说明其中的区别。回答要点:说明详细的空间分配。答:string str = null是不给他分配内存空间,而string str = “” 给它分配长度为空字符串的内存空间.请详述在dotnet中类(class)与结构(struct)的异同答:class可以被实例化,属于引用类型,是分配内存的堆上的,struct属于值类型,是分配内存的栈上的.简要谈一下您对微软.net构架下remoting和webservice两项技术的理解以及实际中的应用。答:ws主要是可利用http,穿透防火墙。而remoting可以利用tcp/ip,二进制传送提高效率。如何区别重载方法?不同的参数类型,不同的参数个数,不同的参数顺序。请说明在.net中常用的几种页面间传递参数方法,并说出他们的优缺点。session(viewstate) 简单,但易丢失application 全局cookie 简单,但可能不支持,可能被伪造input ttype="hidden" 简单,可能被伪造url参数简单,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱

相关推荐:

2019年公务员面试问题及答案

it文员面试问题及答案

英特尔Intel面试题

求职面试:哪些问题不能提

特警面试问题及答案