这些天C#面试有感

时间:2022-05-31 08:08:38

标签:

为何面试

为何面试!

还用问?肯定是因为要离职啊 - -!离职原因就不说了,说来说去就是那么几个原因;这里主要讲我这些天面试遇到的问题,以及对面试的一些感受吧【断续更新??】

首先来讲面试题

这里我就只列出我认为有意思的或者要吐槽的问题,不然题目太多了

在些面试题前,我先说一下我自己大概的一些情况,本人是14届本科毕业生,科班出身,自认对.net基础知识还算可以的,缺点就是对新技术认知的太少(自身原因以及公司环境原因都有【前者居多,毕竟都是要靠自己】)就算是自我提升,像新知识,新框架拓展,由于在生产项目中无法应用,自己模拟出来的场景缺憾有很多,所以有很多问题以及涉及到底层原理的时候更多的表现出不知所措

还是来看面试题吧:

1. C#中6大内置对象

很抱歉,第一题就是我吐槽的对象,C#中对象有多种,谁规定了Application,Request,Response,Cookie,Session,Server就是内置的6大对象,我大Object呢 - -,我相信.net程序猿们肯定对这6个对象信手拈来,不过我相信有不少人不知道这6大内置对象就是指这些吧,这个题目就玩玩吧

2. WebApi与MVC的区别,以及WebApi的整个处理流程

说实话,问到这个题目的时候,我心里还是有普的,毕竟自己弄个mvc的项目(公司项目也有用到) webapi也是(卤煮我正在看《webapi程序设计》)所以刚听到这个题的时候,心里还有点小高兴,正当把我理解的区别说出来的时候,面试官突然打断我说:从http协议上说说区别?

这下我就慌了,因为在我的认知当中,mvc和webapi其实差不多就是一回事,特别是http上来说,因为都是可以接受一个http请求,mvc处理的方式以及渲染返回的方式有多种,而webapi就只是接受一个客户端请求的媒体类型然后经过系列的验证以及消息处理程序(转化HttpResponseMessage)响应为媒体类型(一般都是json或xml)到客户端,这些都可以当作是一个http协议的一部分啊,具体区别体现http哪我还真不知道,又由于打乱了我脑海设想的流程(按照自己的想法走?做梦 - -)加上自己的不治之症——考试紧张症,思绪还是混乱起来,当面试官往细的方面讲,挖坑等,我就反映不过来,老实的跳进去了(其实不是自己不知道)比如问我:你之前说的一般处理程序不是接口(这里我有疑问:为什么我写一个一般处理程序供第三方使用,为什么不能称之为接口?难道必须是要像webapi,soap返回的就能称之为接口(api)?)那么它是按照很么协议方式走的?是wcf,webservice,soap?我内心在快速反映,,脱口而出:“webservice”!面试反问:“是吗?那么webapi又是什么?”然后我居然想当然认为我之前的答案不对...这不是自己跳坑么(打脸 哎!

感悟:其实说到底还是自己对webapi概念知识的不熟悉,http协议知识了解的不清楚啊 不然书白看了(自勉,自勉!)

3. Redis与Memecached的区别

这个题目出来的时候,心里很平淡,因为这两者自己都没有项目经验,所以心如止水啊……哈哈哈哈

我的答案很抽象化(浑水摸鱼):Redis与Memecached都是分布式缓存服务器,都支持k/v形式的数据存储,前者支持持久化存储,后者不行(看官们不要喷啊~~~求放过)

其实redis自己有研究,也看了官网的介绍以及client推荐(自己用的https://github.com/StackExchange/StackExchange.Redis)研究的时间还不长,也还不深

但是也是我以后学习的一个方向,毕竟高并发解决方案大部分都是要涉及这个(这个也是我缺少的)

在这里先补两个知识吧:Memecached知识点

           Redis知识点