面试总结

1、c#垃圾回收机制

 

     从以下方面入手展开:  1、压缩合并算法   2、代的机制  3、GC调用终结器

 

2、委托和事件

 

     先说它的定义:委托的本质是类,类型安全的指针,然后从用途上考虑,事件是包装的委托,但事件不是委托

 

3、c#索引

 

    问题:索引可以是字符串吗?如何定义?

 

    可以从索引的本质出发,就是从编译后的IL出发

 

4、装箱和拆箱

 

    值类型和引用类型之间的转换。频繁装箱和拆箱会导致系统性能降低,可考虑用泛型

 

5、泛型

 

   考得不多,但我们平常用的比较多。所以对泛型的一些东西需要了解,如泛型约束等

 

6、c#如何调用c++ 的dll?

 

   其实考查平台调用

 

7、托管资源和非托管资源

 

    问题:1、定义  2、如何释放

 

   托管资源有GC释放,非托管资源由程序员自己释放,可以实现dispose接口

 

8、MVC原理

 

   路由机制,我觉得此题,根据自己的理解回答即可,可深入回答

 

9、MVC中,后台向前台页面传对象的方式

 

   强类型的模型绑定、ViewData、ViewBag

 

10、MVC中过滤器

 

     问题:你用过过滤器吗?

 

    比如,我们经常使用授权过滤器

 

11、c#扩展方法如何写?

 

      静态 ,this

 

12、.NET Core Api 安全验证以及中间件

 

     采用jwt,生成token验证,比如我们用来错误处理的中间件,可以定义其它功能的中间件

 

13、设计模式

 

     常用的设计模式:工厂、抽象工厂、代理、适配器、模板、策略、单例、观察者等,根据自己在项目中的使用情况,可以谈一谈。

 

14、单点登录

 

15、聚集索引和非聚集索引

 

16、char,varchar、nvarchar区别

 

17、数据库死锁产生的原因及解决办法

 

     两个进程各自占有资源,然后它们都还想得到对方的资源,而自己不肯释放资源。我觉得死锁的活该,谁叫你那么贪婪。

 

18、有用过缓存吗?有用过redis吗?

 

     你若回答用过,面试官继续追问;你若回答没用过,他会觉得这都没有用过。

 

     缓存为了提高应用程序性能,因为请求数据库的次数少了。redis有很多特点:1、key-value   2、内存数据库,可以持久化到硬盘上  3、可以用作消息队列

 

19、IOC、依赖注入、容器

 

     IOC是一种思想,控制反转,反转的是对象的控制权,把生成对象的权利交到外部。比如在方法中要使用一个Student对象,有三种方法,1、用的时候,直接New一个对象  2、从方法参数中传入Student对象   3、从容器中获取一个Student对象

 

20、大文件上传与下载,如何考虑?比如说50G的大文件

 

21、Linq

 

22、AOP

 

    面向切面的编程。比如给每个Controller,添加日志功能,AOP是横向思维的一种体现

 

23、SOA、Webservice、WCF

 

    问题:Webservice与WCF区别

 

    WCF是一个统一的框架,包括了remotting、Webservice,msmq,可以采用tcp和http等协议。也可以进行安全设置和验证。缺点:配置复杂

 

24、有研究过Docker吗

 

    Docker是一个平台,解决部署问题。需要理解Image(镜像)和Container的关系,了解运行机理

 

25、有研究过微服务吗

 

26、sql性能优化

 

      查看sql执行计划、拆库、拆表、优化语句等

 

27、你了解串口编程吗

 

     就是控制摄像头之类的设备编程,得了解计算机的基本原理

 

28、js字符串和数组相互转化

 

29、请设计一个递归算法

 

      比如5的阶乘,递归算法的一个要点是要设置结束条件,否则会栈溢出。

 

30、如何考虑做一个网站

 

31、线性表和链表的区别

 

32、谈谈你对js闭包的理解

 

33、多线程中的同步、异步、Task

 

     异步主要为了提升吞吐量,防止阻塞。Task主要提供了一个管理线程的接口,比如获取线程的结果、状态、取消线程的执行等

 

34、用过NoSql吗

 

35、用过负载均衡吗

 

36、大数据处理

 

37、数据库表数据量特别大时,如何优化查询,提高速度?

 

38、数据库中如何循环读取数据库表中的记录?

 

      游标

 

39、数据库中删除重复数据

 

40、Session有什么缺点,微软如何改进

 

   这是道笔试题,我们知道IIS会回收资源,所以可能会导致Session失效

 

41、有没有用过消息队列

 

     RabbitMQ

 

42、设计一个老鼠、猫和主人的程序,要求可扩展性强,老鼠的叫声惊动猫和主人

 

    真无趣的一道题,用事件

 

43、Vue权限管理,如何控制界面的显示

 

44、WCF的部署方式

 

     一般在IIS上,还有人部署在Window服务上

 

45、简介应用程序池

 

46、冒泡算法

 

      c#写一个,双层循环

 

47、简述应用程序域

 

48、数据库设计三范式

 

 

 

面试题可能会针对每个人,有所不同,但是最基础的面试题都一样。如果你把最基础的都答对,面试官试探的一些问题,也能答对,那么就是加分项。比如,大数据、串口编程,这些东西,我们可能平常接触不到,但某些公司可能要用到。没有涉及到很正常,我们涉及到的东西,面试官不一定听过,比如layui、.netcore、word插件。

posted on 2019-08-18 17:44  sxjljj  阅读(161)  评论(0编辑  收藏  举报