CVTE C#面经分享一下,圈内的C#帖子实在是太少了!
误打误撞,在C#.NET体系做了一年项目了,比较忐忑,毕竟市场上几乎没有.net岗位,除了Unity3D的还会有一些,几乎全是java/c++的天下了。所以实习期也在狂补java知识,转向java体系,CVTE也算是唯一一家正经面试c#的公司了!!全程都是普通话,虽然公司在广州,感觉123面碰到的全是北方面试官,尤其是2面面试官很聊得来!回到正题:
1面:大概40分钟,(在逛超市途中突然接到面试~~)一面还是比较简单
简单的自我介绍,
(1)数据结构的排序算法有哪几类哪几种,描述一种最熟悉的原理;
(2)C#语言都了解哪些,说了语言特性、 CLR等等;
(3)C#堆栈区别,垃圾回收机制,三代回收算法等;
(4)解释一下C#的委托、事件以及关系;
(5)说一下C#的动态数组;
(6)winform与asp.net mvc分别说一下,更倾向哪一种(这个可能自由发挥了);
(7)数据库查询优化问题(感觉像是问sql优化,直接没涉及,基本写linq一笔带过了);
(8)观察者模式(因为项目中有用到才会问的吧)
(9)单例模式,说了懒汉式,饿汉式,改进的饿汉式等以及优缺点;
(10)Winform控件事件分哪几种(不会答,没注意过);
(11)C# 中ref out区别;
(过了好些天,也记不太清,其实和很多面试题都很类似,着重写了C#的一些)
二面:大概1小时40分钟,二面主要是问项目了,也有情景题
简单介绍下,然后着重介绍了.net体系的三个项目,java的项目就没说了;
这个不具备共性了,自己主要做了.net的有Winform,asp.net mvc 2种类型 wpf uwp没有涉及过;
2个Winform项目问的比较多,业务上可能面试官不了解,估计这个说了好久,一些共性的问题如下;
(1)面向接口编程的应用;
(2)解耦合实战,代码重构方面的理解以及重构的实战经验,为什么会重构;
(3)用过哪些.net开源组件,说了itxtsharp组件,npoi,math.net等~巴拉巴拉
(4)多线程必问,项目中用到了观察者+多线程,面试官知道的还很多哈,知道我取巧了,提议我用异步委托任务比较合适;
(5)平时怎么学习的,比如让你学UWP你准备怎么学?(GitHub,微软官方,视频书籍之类的说了一些)
(6)情景题,设计一个计算器,考虑灵活拓展性,(心想这不就是设计模式的工厂模式的情景题吗),因此也就顺着答了
最后反复引导的结果就是用反射+XML配置文件+Dictionary+工厂模式的解决方案;解耦合以及灵活拓展;
(7)好像委托反射又问了一遍,如何使用反射;
(8)单机版的Winform共享数据的问题,巴拉巴拉~
(9)前台线程、后台线程区别,跨线程访问UI线程问题等;
(10)数据库设计方面的东西,领域驱动设计概念(面试官应该也有看过类似的)
(11)有没有用过动态显示方面的,估计是在问GDI,刚好以前做过C#的图像处理加密等;
(12)项目中也有算法实现,问了一些算法,论文参考以及作者等;
baba好多问题~大概都是根据项目实现过程中的一些点展开的~
三面:HR面40分钟,这个不说了 问的问题都是差不多了
也就给自己打分,做个调查,期待薪资,性格等,跟知乎上的帖子基本一致,问一些其他方面的巴拉巴拉
感觉这个应该不会挂人吧
---
HR面完 20分钟后 给了offer call 薪资也还可以(如果17薪靠谱的话)。
可能自己不打算在c#.net混了,留给后来者做C#作为参考。我是溜了去做java了~