C#笔试面试题

C#中堆和栈的区别

  • 堆与栈的概念及不同点:
    • 在内存中栈主要负责处理线程中的命令,并且是以栈Stack的形式读取与执行的;
    • 堆主要是存储方法体以及数据,类似于床上散落的衣服,可供随机读取。
  • 堆和栈上的垃圾回收:
    • 栈有自我维护特性,执行完语句马上释放不会造成资源泄漏。
    • 堆则需GC回收,并且符合GC回收的规则,很多堆上的内容在程序退出前都没有被回收,很可能是无意中某处还保留着内容的引用导致,这将严重影响性能。
  • 内存的分配:

    • 堆栈(stack)是一种后进先出的数据结构,在内存中,变量会被分配在堆栈上来进行操作。
    • 堆(heap)是用于为类型实例(对象)分配空间的内存区域,在堆上创建一个对象,会将对象的地址传给堆栈上的变量(反过来叫变量指向此对象,或者变量引用此对象)。
  • 相关阅读

C#中值类型和引用类型的区别

  • C# 中的类型一共分为两类,一类是值类型(Value Type),一类是引用类型(Reference Type )。
  • 值类型与引用类型不同点:引用类型永远存在于托管堆上,值类型在哪取决于声明的位置。
  • 值类型包括 结构和枚举,引用类型包括类、接口、委托 等。还有一种特殊的值类型,称为简单类型(Simple Type),比如 byte,int等,这些简单类型实际上是FCL类库类型的别名,比如声明一个int类型,实际上是声明一个System.Int32结构类型。因此,在Int32类型中定义的操作,都可以应用在int类型上,比如 “123.Equals(2)”。
  • 所有的 值类型 都隐式地继承自 System.ValueType类型(注意System.ValueType本身是一个类类型)
  • System.ValueType和所有的引用类型都继承自 System.Object基类。
  • 你不能显示地让结构继承一个类,因为C#不支持多重继承,而结构已经隐式继承自ValueType
  • 值类型继承自System.ValueType ; 引用类型继承自System.Object
  • 值类型与引用类型在改变内容时处理的方式不同:值类型执行内容拷贝,引用类型始终更改的是所引用的内容,这将导致两者行为上的不一致。
  • 值类型当参数时,复制拷贝为一个栈上的新对象,使用后回收。
  • 值类型当参数时,会发生拷贝现象,所以对一些“很大”的结构体类型会产生很严重的效率问题,可尝试用ref 关键字将结构体包装成引用类型进行传递,节省空间及时间。
  • 引用类型传递的是引用地址,即多个事物指向同一个内存块,如果更改内存中的值将同时反馈到所有其引用的对象上。
  • ref关键字传递的是引用类型的指针,而非引用类型地址。(当声明参数带有ref 关键字时,引用类型传递的是引用类型的指针,相反如果没有ref关键字,参数传递的是新的指向引用内容的指针(引用))
  • 相关阅读: C# 类型基础

C#中有指针吗?

  • C#为了类型安全,默认并不支持指针。但是也并不是说C#不支持指针,我们可以使用unsafe关键词,开启不安全代码(unsafe code)开发模式。在不安全模式下,我们可以直接操作内存,这样就可以使用指针了。在不安全模式下,CLR并不检测unsafe代码的安全,而是直接执行代码。unsafe代码的安全需要开发人员自行检测。

  • 相关阅读 :C# 不安全代码

C#中结构体和类的区别是什么

C#中装箱和拆箱的区别

  • 装箱是将值类型转换为 object 类型或由此值类型实现的任何接口类型的过程。

  • 值类型进行装箱时,会将该值包装到System.Object 内部,再将后者存储在托管堆上。

  • 取消装箱将从对象中提取值类型

  • 装箱是隐式的(也可以进行显式装箱);取消装箱是显式的。

    //隐式装箱
    int i = 123;
    object o = i;  
    
    //显式装箱
    int i = 123;
    object o = (object)i;  // explicit boxing
    
    //显示取消装箱
    int i = 123;      // a v
以下是面试中常见的37个问题,给出自己的答案,全面地观察一下自己。 General question: 1. Tell me about yourself a) 简要介绍你自己。 2. why are you interested in this position? a) 你为什么对这份工作感兴趣? 3. What are your strengths? a) 谈谈你的优势。 4. What is your biggest weakness? a) 谈谈你最大的弱点是什么? 5. Why do you feel you are right for this position? a) 为什么你认为自己适合这个职位? 6. Can you give me the highlights of your resume? a) 谈谈你的简历上有些什么值得特别关注的吗? 7. Why did you choose your major? a) 你为什么选择这个专业? 8. What are your interests? a) 你有哪些兴趣爱好呢? 9. What are your short and long-term goals? a) 你对于短期和长期的目标是什么? 10. Tell me how your friends/family would describe you? a) 如果我向你的朋友或者家人询问对你的评价,你认为他们会怎样说? 11. Using single words, tell me your three greatest strengths and one weakness? a) 用简单的词,描述你的三项最突出的优点和一个缺点。 12. What motivates you to succeed? a) 你争取成功的动力是什么? 13. What qualities do you feel are important to be successful in__(i.e. customer service)? a) 哪些品质在你看来对成功是最重要的? 14. What previous experience has helped you develop these qualities? a) 哪些之前的经历帮助你获得了这些品质? 15. Can you give me an example of teamwork and leadership? a) 你能向我列举一个展现了人的团队活动和领导力的例子吗? 16. What was your greatest challenge and how did you overcome it? a) 你经历过最大的挑战是什么?你如何跨越它的? 17. Why should I hire you over the other candidates I am interviewing? a) 我为什么要从这么多应聘者中选择你呢? 18. Do you have any questions? a) 你有一些什么问题吗? 19. What are your compensation expectations? a) 你对于报酬有什么样的期望? Leadership Questions: 20. what was your greatest accomplishment in past time? a) 在过去的日子里,你觉得自己最大的成就是什么? 21. Have you ever been asked to do something unethical? If yes, how did you handle it? a) 曾经有人要求你去做一不道德的事情吗?如果有,你是怎么处理的呢? 22. What do you do if you totally disagree with a request made by your manager? a) 如果你完全不同意你上司的某个要求,你怎么处理? Teamwork Questions: 23. When in a group setting, what is your typical role? a) 你在团队中通常的作用是什么? 24. How do you motivate a team to succeed? a) 你怎么激励团队达到成功? 25. Have you been in team situations where not everyone carried their fair share of the workload? If so, how did you handle the situation? a) 如果你所处的团队中,并不是每个成员都承担着相同的工作量,你怎样处理这种情况? Problem-Solving Questions: Problem-solving question demonstrate your ability to come up with solutions to difficult situations and your ability to think on your feet. 26. How do you prioritize when you are given too many tasks to accomplish? a) 你怎样在一堆根本做不完的工作任务中区分轻重缓急? 27. Why are manholes covers round? a) 为什么下水道的井盖是圆的? Organizational and Planning Questions: Organizational and planning questions demonstrate how you approach your job and how you think. If someone appears disorganized, more likely than not, that candidate will be rejected. 28. Tell me about a goal you set for yourself and how you accomplish it. a) 讲述一件你的经历,你为自己设定了目标,制订了计划,实施计划,达到目标。 29. Do you typically achieve what you set out to do? a) 你总是能实现自己为自己设定的目标吗? Miscellaneous Questions: 30. What de-motivates or discourages you? a) 有哪些因素可能会让你失去动力或信心? 31. Do you work better in teams or by yourself? a) 对于你来说,与团队一起工作和独自干活哪样高效率更高? 32. How important to you is a positive attitude? a) 积极的态度对你有多重要? 33. What is your definition of success? a) 你怎样定义成功? 34. What was your biggest disappointment during your college life? a) 你大学阶段最大的遗憾是什么? 35. Tell me about the most difficult decision you have had to make. a) 你曾经做过的最难的决定是什么? 36. What is your ideal job? a) 你理想的工作是什么? 37. 到现在为止,你还有应聘别的公司吗?进行得怎样?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值