zoukankan      html  css  js  c++  java
  • 面试必问的问题集

    • EF 中DBContext是线程安全的吗?

         不是线程安全的,因为在一个同一时刻,一个上下文只能执行一个异步方法实体状态改变,对应一个上下文,不能跨上下文修改实体状态,也不能跨上下文应用实体状态
         
        什么是线程安全呢?
        线程安全,指某个函数、函数库在多线程环境中被调用时,能够正确地处理各个线程的局部变量,使程序功能正确完成
      
    • EF怎么做查询优化

        1.  适时的使用AsNoTracking()进行数据查询
        2.  使用Any()判断值是否存在
        3.  最后一步才使用ToList
        4.  建立适当的索引
        5.  优化SQL语句
      
    • 索引的使用,索引未命中怎么办?在什么情况下会未命中

         哪些情况需要建立索引?
         1. 主键自动建立唯一索引,查询与其它表关联的字段,外键关系建立索引
         2. 有大量重复值且经常有范围查询和排序、分组的列,或者经常频繁访问的列,或者返回大量数据记录时考虑建立聚集索引
         3. 精确匹配的查询搜索条件(where)中经常使用的列需要建立索引
      
    • DotNet Core中有哪几种注入方式

        Sington     每次都获取同一个实例
        Scope       每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例
        AddTransient    每次请求,都获取一个新的实例。即使同一个请求获取多次也会是不同的实例
      
    • 深Copy和浅Copy的区别

         浅拷贝:只对值类型(或string)类型分配新的内存地址。引用类型仍指向原来的地址。所以引用类型浅拷贝后,对拷贝对象操作仍会影响原始对象。
         深拷贝:拷贝到了指针指向的内存块的值,拥有新的内存地址
      
    • 中间件和Filter的区别

        Asp.net Core五类过滤器:
        Authorization Filter、Resource Filter、Acton Filter、Exception Filter、Result Filter。(授权、资源、操作、异常、结果)优先级逐次递减。
        过滤器更贴近业务,它关注与应用程序本身;而中间件是一个可以处理HTTP请求或响应的软件管道。
      
    • Task和Thread的区别

        Thread 类主要用于实现线程的创建以及执行。Task 类表示以异步方式执行的单个操作。
        
        1.Task 是基于 Thread 的,是比较高层级的封装,Task 最终还是需要 Thread 来执行
        2.Task 默认使用后台线程执行,Thread 默认使用前台线程
        3.Task 可以有返回值,Thread 没有返回值
        4.Task 可取消任务执行,Thread 不行
        5.Thread 在父方法上获取不到异常,而 Task 可以。        
      
    • Lock的使用

    • Dictionary和ConcurrentDictionary的区别

        ConcurrentDictionary是线程安全的集合,可以由多个线程同时并发读写Key-value
        Dictionary不是线程安全的
      
    • Https和Http的区别

        http 明文传输,数据都是未加密的安全性较差。https(ssl+http) 数据传输过程是加密的,安全性较好。
        https需要证书。http 页面响应速度比 https 快
        http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。(http工作在TCP 协议,默认80端口)
      
    • TCP和UDP的区别

        TCP是面向连接的,要求系统资源比较多,有三次握手确认机制,可靠稳定。比较安全
        UDP是无状态连接的,程序结构较简单,要求资源较少,所以传输数据比较快,但容易丢包
      
    • 使用过哪些设计模式?普通工厂和抽象工厂有什么区别

        工厂模式;单例模式
        简单工厂:是由一个工厂对象创建产品实例,一般是使用静态方法。
        抽象工厂:将公共的方法抽象出来,想创建什么样的产品,只需要实现这些接口就可以得到不同的产品。
  • 相关阅读:
    oracle字符集查看修改
    oracle查看所有表及字段
    oracle重新启动步骤
    oracle job 定时执行 存储过程
    oracle导入导出exp,imp
    oracle创建表空间
    Oracle Dataguard HA (主备,灾备)方案部署调试
    Moving Tables-贪心
    Windows下Android开发环境配置
    在单进程单线程或单进程多线程下实现log4cplus写日志并按大小切割
  • 原文地址:https://www.cnblogs.com/opts/p/15230904.html
Copyright © 2011-2022 走看看