02 2020 档案
摘要:APM(Asynchronous Programming Model)是.Net 旧版本中广泛使用的异步编程模型,但在现代编程中,更推荐使用TPL(Task Parallel Library),他是.Net 4.0 之后带来的新特性 TaskAsync。 static void Main(strin
阅读全文
摘要:volatile :适用于多线程的情况,因为单线程的代码如果被编译器优化了,是不会出现问题的。 单线程是串行的,在线程方法外修改字段的值是不会有影响的。 如果是多线程在线程方法外修改了这个线程内的某个值,是会影响到这个方法的执行的(但此时如果代码被编译器优化了,那代码执行时) 使用Volatile对
阅读全文
摘要:同时多个线程来(如从字典中)读取数据,还有另外几个线程(如向该字典中)写入数据 比如:WEB中对缓存的读写操作(一般是一边是大量用户读取【如果读取不到,就加写锁,然后写数据到缓存】) 由于锁 ( lock 和 Monitor ) 是线程独占式访问的,所以其对性能的影响还是蛮大的,那有没有一种方式可是
阅读全文
摘要:网站被用户加载后,可能你会打开/product/index这种页面,它将会在服务器端产生一个线程,这个线程我们称为主线程,当然你的程序中也可以通过Thread类建立其它线程,但只要你加开页面,就会有一个主线程被加载,这是一定的,我们可以通过Thread.CurrentThread静态属性来获得当前运
阅读全文
摘要:参考资源:https://www.cnblogs.com/suizhikuo/p/3746519.html 缓存功能是大型网站设计一个很重要的部分。由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能。 15.4.1 缓存的分类 从分布上来看,我们可以概括为客户端缓存和服务器端
阅读全文
摘要:Barrier(屏障)是一种自定义的同步原语(synchronization primitive),它解决了多个线程(参与者)在多个阶段之间的并发和协调问题。 1)多个参与者执行相同的几个阶段的操作 2)在每一个阶段内,多个参与者并发执行 3)一个屏障点代表一个阶段的结束 4)一个参与者运行至屏障点
阅读全文
摘要:火箭【主线程】起飞前会等待一个倒计时数【定量的子线程不断完成任务,并减少计数】) 当主程序启动时,创建了一个CountdownEvent实例,在其构造函数中指定了当两个操作完成时会发生信号。然后我们启动了两个线程,当他们执行完成后会发出信号。一旦第二个线程完成,主线程会从等待CountdownEve
阅读全文
摘要:ManualResetEventSlim的整个工作方法有点像人群通过大门,AutoResetEvent事件像一个旋转门,一次只允许一人通过。ManualResetEventSlim是ManualResetEvent的混合版本,一直保持大门敞开直到手动调用Reset方法。当调用_mainEvent.S
阅读全文
摘要:学习资源:http://w3cschool.cn/netcore/ 微软官方:https://docs.microsoft.com/zh-cn/aspnet/?view=aspnetcore-3.1#pivot=core&panel=core_overview .NET CORE概念及优势总结: .
阅读全文
摘要:这里的答案都是本人做的,非标准答案。如果错误,请在评论里指正,一起讨论共同进步!谢谢! 腾讯面试题 1、大端与小端的概念?各自的优势是什么? 【答】大端与小端是用来描述多字节数据在内存中的存放顺序,即字节序。大端(Big Endian)是指低地址端存放高位字节,小端(Little Endian)是指
阅读全文
摘要:架构师 倾向于 通信 、 通信框架 、队列和 分布式框架运用以及阿里云和微软现有分布式组件的运用。 高级软件工程师 倾向于 C#基础、 多线程、锁和数据库索引 (队列和通信也会问只是会问的浅一些) 研发经理 包含高级软件工程师问的这些外,还会问管理方面的知识 我面试的三家公司分别面试了三个职位,将知
阅读全文
摘要:以前遇到的面试题及答案 1.你在你以前的项目中,主要解决了什么技术性难题,如果出现问题,你如何迅速找到问题,你遇到问题都是怎么解决的 1. 先根据出现的问题,大概排查出问出问题的几个点,逐个排查, 错误日志- sql查询计划-定位程序错误, 2. 技术性难题: 自己解决 csdn(博客园) 谷歌 请
阅读全文
摘要:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是
阅读全文
摘要:1、腾讯2016年校园招聘研发工程师笔试题及答案1、const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的? const用来说明所定义的变量是只读的。 这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。 2、买200返100优惠券,实际
阅读全文
摘要:解决方案和思路类: 设计和策略: 1.有一个网站的中购买功能, 假设现在有很多用户(假设10000人)在抢购一个物品,该物品的库存只有10个,请问怎么设计一个系统支持这样的场景 2.一个用户中心,保存用户名密码和其他基本资料, 你会怎样设计?(尽可能好,考虑安全,性能,扩展,高可用等等..) 3.前
阅读全文
摘要:答题要求:打*号的部分为必答题,未指明为多选题的选择题均为单选题。 一、.Net Framework部分* 1. 装箱、拆箱操作发生在: ( C )A.类与对象之间 B.对象与对象之间C.引用类型与值类型之间 D.引用类型与引用类型之间 2. 用户类若想支持Foreach语句需要实现的接口是: (
阅读全文
摘要:什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS、CLR分别作何解释? 答: 1应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小2.unsafe:非托管代码。不经过CLR运行。 3.RTTI:类型识别系统。 4从值类型接口转换到引用类
阅读全文
摘要:建库脚本 USE [master] GO CREATE DATABASE [Example] GO USE [Example] GO /****** Object: Table [dbo].[Course] Script Date: 2016/12/6 0:16:24 ******/ SET ANS
阅读全文
摘要:80.什么是code-Behind技术。 答:ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理. 81.什么是SOAP,有哪些应用。 答:simple object access protocal,简单对象接受协议.以xml为基本编码结
阅读全文
摘要:1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 intern
阅读全文
摘要:第1题,什么是ASP net core? 首先ASP net core不是 asp net的升级版本。它遵循了dot net的标准架构, 可以运行于多个操作系统上。它更快,更容易配置,更加模块化,可扩展性更强。 第2题,asp dot core有哪些好的功能? 第一是依赖注入。 第二是日志系统架构。
阅读全文
摘要:1.了解各个framework的底层不?2.为什么要用.net?.net的本质是什么?3.IHandle 与 Imoudel 的区别与联系?4.page类需要继承的接口?5.remoting webservice wcf的区别与联系,分别用在什么情况?6.invoke的本质是什么?7.反射的本质是什
阅读全文
摘要:什么是MVC (模型 视图 控制器)? MVC是一个架构模式,它分离了表现与交互。它被分为三个核心部件:模型、视图、控制器。下面是每一个部件的分工: 视图是用户看到并与之交互的界面。 模型表示业务数据,并提供数据给视图。 控制器接受用户的输入并调用模型和视图去完成用户的需求。 图: MVC (模型、
阅读全文
摘要:主要作用:从一个线程向另一个线程发送通知,进行线程同步。 有点像旋转门,一次只允许一个人通过(一边等待,一边通过,如此循环) AutoResetEvent 常常被用来在两个线程之间进行信号发送,两个线程共享相同的AutoResetEvent对象,线程可以通过调用AutoResetEvent对象的Wa
阅读全文
摘要:Semaphore:信号量。 相当于一个计数器,记录一个共享资源被访问线程的个数;好比有两个或者更多个办事窗口,他们都做同一件事;假设有4个窗口,五个窗口都没人访问的时候计数器为4;有一个窗口被占用计数器减1,为3;全部被占用则计数器为0;这时候其他人想要访问就必须等待占用结束后计数器加1; Sem
阅读全文
摘要:同一时刻,只能有一个线程持有该锁! 使用Mutex互斥锁来同步两个单独的程序(可以两次运行该程序,查看运行结果) static void Main(string[] args) { const string MutexName = "CSharpThreadingCookbook"; using (
阅读全文
摘要:原则: 线程都不应该抛出未捕获的exception(有矛盾在自己家解决,别人哪有时间管你家吵架!) 也就是说各个线程需要自己把自己的exception处理掉。 话不多说,直接看代码 static void Main(string[] args) { //第一个会抛出异常的线程(但这个线程方法内部作了
阅读全文
摘要:下面代码展示死锁是怎么形成的,以及如何使用Monitor.TryEnter解除死锁 话不多说,还是直接看代码 先定义一个方法,以便给一会创建的子线程调用 static void LockTooMuch(object lock1, object lock2) { lock (lock1)//先锁定第一
阅读全文
摘要:闲话不多说,直接看代码: var c = new Counter(); //new了3个线程 var t1 = new Thread(() => TestCounter(c)); var t2 = new Thread(() => TestCounter(c)); var t3 = new Thre
阅读全文
摘要:总体来说多线程中向线程传递参数有3种方式 创建对象,初始化对象中的一些值,然后在Start()方法中调用该对象方法 通过lambda表达式 Thread.Start方法 先看代码: static void Count(object iterations) { CountNumbers((int)it
阅读全文
摘要:ASP.NET Core 安全性概述 https://docs.microsoft.com/zh-cn/aspnet/core/security/?view=aspnetcore-2.0 通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性。 ASP.NET Core 的功能包括管理
阅读全文
摘要:使用 C# 中的索引器和 JavaScript 中访问对象的属性是很相似。 之前了解过索引器,当时还把索引器和属性给记混了, 以为索引器就是属性,下面写下索引器和属性的区别,以及怎么使用索引器 先说明一点,这里的索引器和数据库中的索引不一样,虽然都是找元素。 索引器和属性的区别: 属性和索引器都是函
阅读全文
摘要:一.主线程、前台线程与后台线程 相信前几年,大家都用过迅雷,用来下载文件是非常方便的,更重要的是速度快。那么,它的速度非常之快,全速下载的时候明显地拉慢了整个系统的响应时间,说明他占用了大量的系统资源。那它为什么这么快?知乎上的yskin用户解释说『一个下载任务进来,迅雷把文件平分成10份,然后开1
阅读全文
摘要:判断Controller请求是否来自Ajax [HttpGet] [AjaxOnly] public ActionResult GetList() { var data = dTImgIBLL.GetList(); return JsonResult(data); } AjaxOnlyAttribu
阅读全文
摘要:HttpContext 在Asp.net 4.x时代,我们通常的做法是通过HttpContext.Current获取当前请求的上下文进而获取到当前的User属性,所以问题的切入点在于我们如何获取当前的HttpContext上下文。 在我们的Aspnet Core应用中,系统是通过注入HttpCont
阅读全文
摘要:在EntityFramework, Version=6.0.0.0,维护一个现有项目,修改代码后,编译正常。但运行系统,竟然报发生异常,加断点跟踪发现抛出“One or more validation errors were detected during model generation” 由于对
阅读全文