zoukankan      html  css  js  c++  java
  • .NET面试题总结

    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插件。

  • 相关阅读:
    Linux查看用于终止进程命令
    Linux查看当前正在运行的进程
    Windows 和 Linux 平台下的端口转发工具
    Windows 和 Linux 平台下的端口转发工具
    linux下最简单的端口转发工具
    linux下最简单的端口转发工具
    try与finally块中return的问题
    try与finally块中return的问题
    为啥还要写呢?——北漂18年序言
    JavaScript DOM对象和JQuery对象相互转换
  • 原文地址:https://www.cnblogs.com/wangqiang3311/p/10473839.html
Copyright © 2011-2022 走看看