.Net面试经验总结

提醒:本人从事.Net开发多年,并作为面试官组织参与过多场面试。当然如果有说的不对的地方,请大家指正

文章目录

  • .Net面试经验总结
    • 前言/背景
    • 简历
    • 自我介绍
    • 常见的面试题
    • 项目经验
    • 开放性问题
    • 寄语

前言/背景

金九银十即将到来,求职套路多,但是网上很多都是Web前端、Java方面的面经,很少有,Net和C#相关的面经。一方面国内从事.Net的程序员和Java相比少很多,另一方面公司的岗位不多并且薪资也比Java低。当时.Net还是有许许多多有趣的地方,C#的语法跟Java很相似,并且很多知识是多语言通用的(比如数据库、数据结构和算法、设计模式等等)。

简历

简历一定要认真对待,不能随随便便找个模板,一份优秀的简历不仅是你能得到面试的机会,更能为你的接下来的面试加分。
这里说下简历上需要注意的三点:

  1. 要写上你在项目中使用过的技术栈或者是你准备的技术栈,切记贪多。很多小伙伴会写一大推自己学过的技术栈,但是只学了皮毛,面试官针对一个知识点问的细致了,就答不上来。
  2. 精通、熟练、掌握的用法。
  3. 写上项目的亮点和你为这个项目做的贡献,并取得了哪些业绩。

自我介绍

这里说一下我的一个主要模板,需要根据不同的公司有针对的准备不同的自我介绍。
各位面试官,您们好,很高兴得到这次面试机会,我叫XXX,毕业于XXX,具有较强的自学能力,在校期间通过自学掌握了相关的编程技术,
参加工作以来,先后独立开发了几个项目模块,主要包括XXX等,其中让我收获最大的一个项目是XXX,当时接到的任务就是XXX,在此期间我的主要任务参与前期的一些设计讨论以及后面的开发和维护,…………(这里可以介绍你通过什么技术解决了什么,完成了什么任务等)。经过这个项目开发使我在技术的掌握和问题的处理上都有了很大的进步。
我今天求职的岗位是.Net开发工程师,在XXX两年的.Net开发中,一直从事企业级应用管理系统的开发维护,使我拥有了扎实的编程基础和良好的编码习惯,并能够熟练的使用C#语言开发…(这里写上你准备好的技术栈)。也使我清楚的知道这个岗位的主要工作内容,并使我在这方面有了一定的能力和经验积累,我相信我能够胜任该职位的工作,我非常认可并喜欢贵公司的理念,也希望贵公司能够给我一次机会,让我加入到贵公司中。谢谢

常见的面试题

  • .Net简述面向对象中封装、多态、继承的概念
    答:封装:把一些功能的实现写在一个文件中,对外只开放一个接口,调用者通过这个接口来调用方法
    继承:子类继承父类中的方法和属性,并且子类可以拥有自己的一些方法和属性
    多态:通过继承实现不同对象在调用相同的方法时,产生不同的结果,这就是多态,重写或者重载

  • 简述一下IOC和AOP
    IOC的概念
    IOC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。
    对象A依赖于对象B,当对象 A需要用到对象B的时候,IOC容器就会立即创建一个对象B送给对象A。IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了,而再也不用去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁的,这一切全部由IOC容器包办。
    IOC:控制反转,其实是一种思想,通过new来创建一个对象,是程序主动创建依赖对象。
    IOC的作用:消减计算机程序的耦合(只能解决程序间的依赖关系)
    AOP的概念
    1、Aop:面向切面编程
    2、经典应用:事务管理、性能监视、安全检查、缓存 、日志等
    优势:
    减少重复代码
    提高开发效率
    维护方便

  • C#中的委托是什么?事件是不是一种委托?
    委托的本质是一个类,委托是将一种方法作为参数代入到另一种方法。 事件是委托的实例,事件是一种特殊的委托。 //比如:onclick事件中的参数就是一种方法。

  • C#静态构造函数特点是什么?
    最先被执行的构造函数,且在一个类里只允许有一个无参的静态构造函数 执行顺序:静态变量>静态构造函数>实例变量>实例构造函数

  • CTS、CLS、CLR分别作何解释
    CTS:通用类型系统。CLS:通用语言规范。CLR:公共语言运行库。 CTS:Common Type System 通用类型系统。Int32、Int16→int、String→string、Boolean→bool。每种语言都定义了自己的类型,.NET通过CTS提供了公共的类型,然后翻译生成对应的.NET类型。 CLS:Common Language Specification 通用语言规范。不同语言语法的不同。每种语言都有自己的语法,.NET通过CLS提供了公共的语法,然后不同语言翻译生成对应的.NET语法。 CLR:Common Language Runtime 公共语言运行时,就是GC、JIT等这些。有不同的CLR,比如服务器CLR、Linux CLR(Mono)、Silverlight CLR(CoreCLR)。相当于一个发动机,负责执行IL。

  • C#中什么是值类型与引用类型?
    值类型:struct、enum、int、float、char、bool、decimal 引用类型:class、delegate、interface、array、object、string

  • 请详述在C#中类(class)与结构(struct)的异同?
    class可以被实例化,属于引用类型, class可以实现接口和单继承其他类,还可以作为基类型,是分配在内存的堆上的 struct属于值类型,不能作为基类型,但是可以实现接口,是分配在内存的栈上的.

  • new关键字的作用
    运算符:创建对象实例 修饰符:在派生类定义一个重名的方法,隐藏掉基类方法 约束:泛型约束定义,约束可使用的泛型类型

  • int?和int有什么区别
    int?为可空类型,默认值可以是null int默认值是0 int?是通过int装箱为引用类型实现

  • C#中值传递与引用传递的区别是什么?
    值传递时,系统首先为被调用方法的形参分配内存空间,并将实参的值按位置一一对应地复制给形参,此后,被调用方法中形参值得任何改变都不会影响到相应的实参;
    引用传递时,系统不是将实参本身的值复制后传递给形参,而是将其引用值(即地址值)传递给形参,因此,形参所引用的该地址上的变量与传递的实参相同,方法体内相应形参值得任何改变都将影响到作为引用传递的实参。
    简而言之,按值传递不是值参数是值类型,而是指形参变量会复制实参变量,也就是会在栈上多创建一个相同的变量。而按引用传递则不会。可以通过 ref 和 out 来决定参数是否按照引用传递。

  • C#中参数传递 ref 与 out 的区别?
    (1)ref指定的参数在函数调用时必须先初始化,而out不用
    (2)out指定的参数在进入函数时会清空自己,因此必须在函数内部进行初始化赋值操作,而ref不用 总结:ref可以把值传到方法里,也可以把值传到方法外;out只可以把值传到方法外 注意:string作为特殊的引用类型,其操作是与值类型看齐的,若要将方法内对形参赋值后的结果传递出来,需要加上ref或out关键字。

  • C#中什么是装箱和拆箱?
    装箱:把值类型转换成引用类型 拆箱:把引用类型转换成值类型 装箱:对值类型在堆中分配一个对象实例,并将该值复制到新的对象中。 (1)第一步:新分配托管堆内存(大小为值类型实例大小加上一个方法表指针。 (2)第二步:将值类型的实例字段拷贝到新分配的内存中。 (3)第三步:返回托管堆中新分配对象的地址。这个地址就是一个指向对象的引用了。
    拆箱:检查对象实例,确保它是给定值类型的一个装箱值。将该值从实例复制到值类型变量中。 在装箱时是不需要显式的类型转换的,不过拆箱需要显式的类型转换。 int i=0; System.Object obj=i; //这个过程就是装箱!就是将 i 装箱! int j=(int)obj;//这个过程 obj 拆箱!

  • C#实现多态的过程中 overload 重载 与override 重写的区别?
    override 重写与 overload 重载的区别。 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 override 是进行基类中函数的重写。实现多态。 重载:是方法的名称相同,参数或参数类型不同;重载是面向过程的概念。 重写:是对基类中的虚方法进行重写。重写是面向对象的概念。

更多面试题可以关注博主获取,后续会开放资源供大家获取。

项目经验

这个是面试中最重要的了,基本都会根据你做的项目来进行询问里面遇到的一些技术,遇到的一些问题怎么解决的等等,要写上你在项目中使用过的技术栈或者是你准备的技术栈,切记贪多。很多小伙伴会写一大推自己学过的技术栈,但是只学了皮毛,面试官针对一个知识点问的细致了,就答不上来。

开放性问题

  • 你有没有带领团队的经验
    我在以往的项目中与团队成员都能够融洽相处,我们每周都会有技术培享会,我也会分享一些技术来相互学习,我们有时候周六会有技术的培训,我也针对自己掌握的技术做了几次培训,虽然我没有带队的经验,但我相信我自己是能够做到的。

  • 为什么选择这家公司?
    我了解到贵公司在ERP行业属于领头行业,业务方面最为全面,研发实力也最为雄厚,通过公司的官方博客我还了解到公司的企业文化,我非常希望能加入到这样一个优秀的企业中,让我能够实战研发能力,我会女里的工作,证明自身的价值。

  • 对本公司了解多少?
    我了解到贵公司是中国最早的互联网即时通信软件开发商,是我国互联网服务以及移动增值服务的提供商,并一直致力于即时通信以及相关的增值业务的服务运营。

  • 你曾经面临最大的专业挑战是什么?你是怎么战胜它的?
    在项目开发过程中也遇到了很多问题,其中让我印象比较深刻的一个问题是XXX,通过这个问题也是我认识到,在编写代码时不仅要注意代码的逻辑和可读性,同时也要考虑一下这些代码有没有可能会出现某些问题。

  • 你认为自己的技术水平怎么样?
    经过这两年的积累和成长,我对自己的技术很有信心,我觉得我算一个中级的开发者,我感觉我可以胜任相关的各种开发任务。

  • 你对加班的看法?
    如果是工作需要,我会义不容辞的加班,我本身没有什么负担,可以全身心的投入到工作中,同时我也会提高工作效率,减少不必要的加班。

  • 你有什么优点?
    我的优点是有足够的专业能力,工作认真负责,比如在项目的开发过程中,我作为项目的主要开发人员,每天都会认真规划和编写开发日程,方便其他成员了解开发进度并及时跟进项目进度。

  • 你有什么缺点?
    缺点的话,比较执着把,比如有时候会因为一个技术问题导致很长时间或者可能加班到很晚都在研究怎么处理这个问题,这样有时候也会误了其他方面的工作,工作比较按部就班吧,总是按照主管的要求去完成任务,还有就是自己的工作范围内有创新意识,但是没有及时的分享给其他的同事,这些问题我也一直在改善,我也相信我能够很快的解决。

  • 你的职业规划是什么?
    现在最大的愿望就是能入职贵公司,虚心向周围优秀的同事学习,追赶他们,让自己变得更专业,然后三到五年的一个计划就是达到高级工程师的水平,在此期间我也会注重自己管理方面知识的积累,如果三年以后在管理方面有一些能力的话,我会向技术主管和项目经理的方向努力发展。

寄语

用你的自信,书写你的人生;用你的能力,展现你的风采;用你的态度,铺筑前进的道路。

.Net面试经验总结相关推荐

  1. 自然语言处理算法工程师历史最全资料汇总-基础知识点、面试经验

    2019年秋招已过,零星的招聘任然在继续.本资源适用于NLP算法工程师面试,也适用于算法相关的其他岗位.整理了算法面试需要数学基础知识.编程语言.深度学习.机器学习.计算机理论.统计学习.自然语言处理 ...

  2. 【每日一念经】算法岗面经,一万字面试经验你确定不看?

    微信改版,加星标不迷路! 算法岗面经,一万字面试经验你确定不看? 作者:CyC 前言 2018,有过迷茫,有过努力,也有很多收获.为了记录这一年以来的感受,于是有了这篇文章. Offer 情况 经过了 ...

  3. ♥看二本学渣如何进腾讯 分享面试经验、职场感悟、硬核知识、大厂内推♥

    ☆☆☆牛牛´s简介☆☆☆ 牛牛,普通二本学渣,实习进完美,毕业进腾讯,去过外企,肝过头条. 目前又继续回腾讯窝着.       ☆☆☆牛牛´s公众号☆☆☆ 日常硬核输出数据库.数据结构.操作系统.分布 ...

  4. 面试两个月,我吐了(软件测试岗面试经验)

    用断.舍.离的思维做软件测试 在校时成绩是敲门砖,工作后简历和面试变成了敲门砖,简历筛选后就是面试,面试有多重要,不用我说大家都明白.由于中途换过一家公司,想找个好点的公司,面试经历比较曲折,所以有些 ...

  5. 研究型AI面经 | 来自一位Reddit网友谷歌面试经验分享

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转载自量子位 大多数学生在求职前,都会经历实习的过程,那么面试就必不可少. Red ...

  6. 6年面试经验总结!让设计师提升进公司的能力!

    转自:http://www.internetke.com/share/2015/0117/1201.html 编者按:说到面试,作者@EDC尤原庆 从雅虎到腾讯,再到华为,不仅身经百战,也面试过很多设 ...

  7. java程序员求职计划_2017年java程序员面试经验(500字)

    1.数据结构 2.OO.按照他的一段描述建模 3.Java和C++在内存管理的不同之处. 4.JAVA的多线程机制. 5.反射机制的作用,以及在哪些方面使用了反射机制 6.网络 7.DesignPat ...

  8. 工作三年的Android程序员 跳槽到“阿里“的面试经验分享

    前言 工作三年,你可能会迷茫,要么觉得自己怀才不遇,要么觉得自己迷失方向,也可能觉得自己意气风发,不管怎么样,自己已经开始思考自己的人生了,事实上,很多工作三年的人就第一次做出了自己的选择,也就是换一 ...

  9. python人工智能方向面试准备_高薪直通车丨人工智能+Python面试经验分享(西安**思数据)...

    原标题:高薪直通车丨人工智能+Python面试经验分享(西安**思数据) 高薪直通车 python面试经验分享(西安**思数据 ) 高薪直通车是西安校区独家打造,用于分享西安市场企业面试需求,直击面试 ...

  10. 由点到面(面试经验)

    由点到面(面试经验) 和面试官交流过程中有一点受益匪浅:由点到面 问:之前我做的工作很杂,不像谁专门一直负责某个项目,是否有影响. 重要的是能把这些知识点串联起来,形成自己的系统化知识.现在回想突然灵 ...

最新文章

  1. [USACO1.4]等差数列 Arithmetic Progressions
  2. Python高效率遍历文件夹寻找重复文件
  3. 一文搞懂临床研究常见类型
  4. linux版azure应用服务,【应用服务 App Service】解决无法从Azure门户SSH登录问题
  5. sdram 时钟相位_stm32f429主频大于160MHz时,sdram数据不稳定
  6. sizeof和strlen的区别(其中涉及NUL的讲解)
  7. 获取jpg图片的x,y的分辨率dpi
  8. python的migratetodb_Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
  9. 树状排序(目录结构)
  10. 试验设计——均匀试验设计·好格子点法
  11. android otg dac,随身HiFi 安卓OTG功能在音频上的妙用
  12. 我们到底该转行Web全栈工程师吗?
  13. Chorme 浏览器查看请求头、响应头
  14. DF-700滤桶 四个角扣具漏水问题
  15. python发微信-python实现向微信用户发送每日一句
  16. 2017淮北计算机会考,2017年安徽淮北高中会考报名网站:淮北教育局
  17. Vim配色方案和字体设置
  18. DWM1000 测距原理简单分析 之 SS-TWR
  19. iOS版MapABC的简单显示地图的Demo
  20. 【嵌入式百科】001——字长、比特、字节、字、双字

热门文章

  1. 小型即时通讯软件-C#
  2. 学习日志2:ARM开发板—触摸屏
  3. Error while starting capture on link: Port 0 has already a filter applied 解决方法
  4. Pandas CSV 文件
  5. MIUI12系统简单卡刷开发版获取Root超级权限的步骤
  6. 【图神经网络】图神经网络(GNN)学习笔记:图滤波器与图卷积神经网络
  7. 图神经网络学习笔记(2)——图滤波器
  8. [UWP开发] Facebook SDK使用(一) —— 配置SDK及Facebook登陆
  9. 在Win7上装虚拟机
  10. echarts的x轴y轴的颜色改变