2020年最新 C# .net 面试题,月薪20K+中高级/架构师必看(八)
176、Mutex和lock有何不同?一般用哪一个作为锁使用更好?
https://blog.csdn.net/qinzheng_chen/article/details/106786432
177、线程池的优点有哪些?又有哪些不足?
https://blog.csdn.net/Design407/article/details/102741502
178、多线程和异步有什么关系和区别?
https://www.cnblogs.com/fightingtong/p/8117758.html
179、 lock为什么要锁定一个参数,可不可锁定一个值类型?这个参数有什么要求?
锁引用类型,引用类型都是指向一个对象,不可以锁值类型,值类型在装箱时候会产生不同的对象。
180、字段与属性有什么异同?
https://www.cnblogs.com/liuyaozhi/p/4919732.html
181、使用什么工具来调用存储过程?
182、&和&&的区别?
https://www.cnblogs.com/longyao/p/11347345.html
183、Session有什么重大BUG,微软提出了什么方法加以解决?
提出的解决办法:可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢”
184、谈谈ERP、CRM、MES、OA类型系统的不同。
185、自己写过多线程组件吗?简要说明!
186、说说你最擅长的技术?并说说你是如何使用的?
187、网站优化:网站运行慢,如何定位问题?发现问题如何解决?
前端:1.减少http的请求,每次发送http请求都会消耗一定的时间。
2.可以使用js缓存,浏览器缓存,能直接从缓存中读取数据,不在请求服务器。
3.使用压缩后的css和js,避免css和js的重复使用,减少 js里面的循环次数。
4.css放在在<head>里面,js放在页面的 底部。因为请求js文件很花费时间,如果放在<head>里面,会导致DOM树需要等待js文件加载完成。
后端:
5.优化SQL,避免使用*查询,使用索引,避免sp中出现大量逻辑的事务,减少in或and和or的查询使用。
6.使用memcache缓存,减少数据库的访问。
7.减少代码的层级接口,避免循环嵌套,优化算法等等。
8.读写分离,负载均衡,面向接口编程,降低耦合性。
188、关于服务器端 MVC 架构的技术实现,您是怎样理解的?这种架构方式有什么好处?您在项目中是如何应用这一架构的?
189、关于代码优化你怎么理解?你会考虑去代码重构吗?
190、数据库调优/优化经验(后端工程师非常常见)
https://www.cnblogs.com/zoro-zero/p/13497938.html
191、IIS的工作原理?
1.当客户端发送http request时,服务端的http.sys拦截到这个请求。
2.http.sys联系was向配置存储中心请求配置 信息。
3.然后将请求传入iis的应用程序池。
4.检查请求的后缀,启动aspnet_isapi.dll,这个dll是.net framework里面的,也就是这一步进入了.net framework的管线范围。
5.这个时候如果是webfom,开始执行页面的生命周期,(HttpRuntime>ProcessRequset>HttpContext>HttpHandler)。
如果时MVC,则启动mvc的路由机制,根据路由规则为url来指定HttpHandler。
192、谈谈你觉得做的不错系统,大概介绍下用到了哪些技术?
193、MVC路由理解?
url routing的作用是将浏览器的url请求映射到指定的MVC控制器的动作。
当我们在浏览器请求一个URL地址时,这个请求首先会被URLRoutingModule所截获,截获请求后会从路由中得到与当前url向匹配的RounteData对象,
然后RounteData与url封装成一个RequestContext对象,可以从RequestContext中封装的RouteData中获取Contrller名字(这时Contoller才被真正的激活),然后再去执行控制器中的Action。
194、网站想要实现文件防盗链的功能,说说你的解决方案。
https://www.cnblogs.com/jingxiaoniu/p/6770477.html
195、你会采用什么样的策略和方法来实现系统缓存?
在ASP.NET 中缓存有页面缓存,数据源缓存,和一些自己定义的缓存!
对于那些整个页面不经常变化的我们可以使用页面缓存,而对于那些执行非常耗时的SQL 语句并且数据的及时性要求不高的我们可以使用数据源缓存。
对于页面缓存、数据源缓存等都不满足要求的情况下采用直接操作HttpRuntime.Cache 来自定义缓存策略。
如果需要用多台Web 服务器作为一个集群来承载网站的情况,则可以部署专门的分布式缓存服务器,比如Memcached。
196、在程序编码的时候,你会对Sql注入漏洞的防范采取什么样的措施?
尽量不要拼SQL语句!使用参数化查询或存储过程可以防止SQL注入攻击!在必须用SQL拼接的地方对用户输入的
内容进行检查、过滤。
197、如何提高页面的显示速度?假如一个页面的加载时间是10.89s,你会用什么样的方式进行优化?
https://blog.csdn.net/weixin_30251829/article/details/94873835
198、能否脱离VS用类似editplus的工具手写代码?你觉得如何才能提高代码的效率和性能?
199、有一个10个数的数组,计算其中不重复数字的个数。{3,5,9,8,10,5,3}
200、说出五个集合类