随笔分类 - 【005】.Net面试题
摘要:序言 在应用层和传输层增加了一个SSL安全层协议 非对称加密 证书 公钥 资料
阅读全文
摘要:序言 主要区别 主要区别在于BeginInvoke是异步调用方法,而Invoke是同步调用方法。 总之,使用BeginInvoke方法可以在不阻塞当前线程的情况下执行指定的方法,而Invoke方法会阻塞当前线程直到方法执行完毕。 使用场合 若你的后台线程在更新UI界面且不需要等待,则应该使用Begi
阅读全文
摘要:序言 应该场景 反射在不添加引用,不new一个对象的情况下,可以动态的调取对象中的方法 https://www.bilibili.com/read/cv18350302/ 数据库对象转实体 public static List<T> TableToList<T>(DataTable table) w
阅读全文
摘要:序言 为什么握手只有三次,而挥手却要四次 这是因为 TCP 不允许连接处于半打开状态时就单向传输数据,所以在三次握手建立连接时,服务器会把 ACK 和 SYN 放在一起发给客户端,其中,ACK 用来打开客户端的发送通道,SYN 用来打开服务器的发送通道。这样,原本的四次握手就降为三次握手了。 但是当
阅读全文
摘要:序言 高并发手段 服务器做集群 针对单台APP考虑把Job独立出去 前言合并资源 CDN加速 应用程:异步 多线程 数据库:读写分离 索引 冗余字段 分库分表:基于业务的分库分表 基于中间件的分库分表 分布式缓存: 消息队列:解耦各个服务之间的调用 保证数据的最终一致性 资料 架构与思维:微服务架构
阅读全文
摘要:序言 不是,比如下面三种情况: 1、引用类型内部的变量,即使是值类型,也会随同引用类型的实例一起被分配在堆上。 2、对于值类型的数组,由于数组是引用类型,数组内的值类型元素,也被分配在堆上。 3、对于闭包,如下: Action<int> act = a => { Console.WriteLine(
阅读全文
摘要:序言 资料
阅读全文
摘要:序言 什么是粘包 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 https://www.bilibili.com/video/BV1yf4y1Y7CU/?p=3&spm_id_from=pageDriver&vd_source=a56db24cb8ca
阅读全文
摘要:序言 字符串不可变性,字符串的‘暂存池’两个特性 字符串是引用类型,程序中会存在大量的字符串对象,如果每次都创建一个字符串对象,会比较浪费内存、性能低,因此CLR做了“暂存池”(拘留池,缓冲池,暂存池),在一些情况下对于字符串对象进行了重用。 面试题:上面的代码有几个字符串对象。答案:三个字符串对象
阅读全文
摘要:序言 值类型的比较 int i = 9; int j = 9; Console.WriteLine("Equals和= =(等于号)的比较"); Console.WriteLine("i.Equals(j) :" + i.Equals(j)); Console.WriteLine("i==j " +
阅读全文
摘要:遍历树、实现造成锁的代码、在线音乐网站 抽象工厂和工厂的区别 简单工厂 : 用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力) 工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品) 抽象工厂 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)
阅读全文
摘要:序言 资料 异常测试之Socket网络异常
阅读全文
摘要:序言 const和readonly关键字 readonly与const的相同点: 1、二者都用来声明常量 2、初始化后无法再直接修改值 readonly与const的区别: 1、readonly可以在构造时初始化(或者在其他地方使用反射的方式修改),而const必须在声明时初始化 2、readonl
阅读全文
摘要:序言 虚方法(Virtual)、抽象方法(Abstract),接口(Interface)、抽象类的区别 virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。抽象方法必须在派生类中重写,这一点跟接口类似,虚方法不必。 完全不知道要怎么做的场景,使用抽象方法,知道了一
阅读全文
摘要:数据库事务的四大特性 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,
阅读全文
摘要:Redis为什么使用单进程单线程方式也这么快 Redis遍历所有key的两个命令 -- KEYS 和 SCAN 一致性Hash算法 利用一致性哈希水平拆分MySql单表 单例模式 锁 双重锁 单例模式中用volatile和synchronized来满足双重检查锁机制 C#设计模式之-单例模式 htt
阅读全文
摘要:序言 分布式锁 /// <summary> /// 分布式锁的类型 /// </summary> public enum DLockType { /// <summary> /// 基于数据库的分布式锁 /// </summary> DataBase, /// <summary> /// 基于Red
阅读全文
摘要:索引原理 全文检索技术由来已久,绝大多数都基于倒排索引来做,曾经也有过一些其他方案如文件指纹。倒排索引,顾名思义,它相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分组成——词典和倒排表。 其中词典结构尤为重要,有很多种词典结构,各有各的优缺点,最简单如排序数组,通过二
阅读全文
摘要:序言 Dictionary的构造 下面的代码我看看Dictionary在构造时都做了什么: private void Initialize(int capacity) { int prime = HashHelpers.GetPrime(capacity); this.buckets = new i
阅读全文
摘要:WinDbg Perfmon 一、 简述 可以用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等。 Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,可以很方便地使用第三方工具进行性能分析。 per
阅读全文