腾讯.NET面试题

时间:2023-03-09 19:23:50
腾讯.NET面试题

在整个面试过程中,作为面试者的你,角色就是小怪兽,面试官的角色则是奥特曼,更不幸的是,作为小怪兽的你是孤身一人,而奥特曼却往往有好几个~

以下是网友发的关于腾讯的.NET面试题,不得不说还是有一定的难度,但是话说回来,问的问题都比较大,可发挥的范围也很大,几乎每一道题都可以用一本书来解释了,至少也应该是一篇博客吧!那面试完不是要滔滔不绝谈几个小时?所以面试官就是看你们知道多少就给我说多少的态度,所以我常说面试说得难听一点其实就是纸上谈兵。

关于以下面试题的回答我只是基于自身的认识来回答的,仅供参考。

1.NET的垃圾回收机制是怎样的?

每次被问到这样的问题,我心中就千万匹*奔腾而过(我觉得应该是请简述XX,要是笔试题就更坑爹了,写字不如画图)我们知道关于.NET垃圾回收机制,要完整详细的表述,我相信用一章书的内容来表述一点都不过分,可我只是略懂皮毛,但是一扯起来恐怕也要说很久,预计面试官不插话的情况下,我一口气下来可以说十几分钟。

请参考以下系列文章,

【译】.Net 垃圾回收和大对象处理

【译】.Net 垃圾回收机制原理(一)

【译】.Net 垃圾回收机制原理(二)

【译】让垃圾回收器高效工作(一)

【译】让垃圾回收器高效工作(二)

.net平台下垃圾回收机制

.......省略N篇

2.c#2.0出现了泛型,为什么要创建泛型这种机制?

请参考我的文章:按自己的想法去理解事件和泛型(C#)

3.NET的值类型存储在栈中,引用类型存储在堆中,这句话对不对,如果不对,为什么?

这果断是埋了坑等别人跳,这句话显然是有问题的,因为引用类型的成员变量分配到“堆”上,引用类型的值分配在堆中,但是还会在栈上存一个该引用类型变量的指针。

请参考:浅谈值类型和引用类型在堆和栈中的存储一

4.NET的装箱和拆箱为什么效率比较低?讲一下装箱和拆箱是如何实现的?

将内存中的数据在堆和栈中传来传去肯定慢些啊。

浅谈.NET中的类型和装箱/拆箱原理

5.在给DLL文件加密时,为了防止别人反编译有几种方式?为什么无法反编译,但是CLR可以正确的加载?

如何保护.net中的dll文件(防破解、反编译)

6.讲一下应用程序域和程序集的结构,以及运行原理?

题目说是讲一下,那就只讲一下喽,问范围这么大的问题,通常问的问题越大水越深,一般你能回答得越久说明你会得越多,顶住就行了。

面试题14 简述程序集和应用程序域

7.Dapper.NET的效率为什么比较高?讲一下它的运行原理?

工作这么多年了,真的没有用过Dapper.NET这个轻量级的ORM框架,没用过那怎么回答呢?那不就挂了?挂得一点都不服气...

Dapper.NET——轻量ORM

8.怎样实现SignalR的多服务器协同运行?简单说一下SignalR的运行原理?

我相信不是每个.NET程序员都用过SignalR吧,没用过的岂不是又挂了?

官网:https://www.asp.net/signalr

如果去腾讯面试,好吧,虐到我了,因为工作6年多了,从来没用过Dapper.NET和SignalR。

其实我感兴趣的是,是不是面试者挺的时间越长成功率越高,就像小怪兽在奥特曼面前坚持得越久就表示越能打一样。哈哈~