1、MVC的工作原理:
首先通过路由确定控制层和所对应的Action以及Action对应的视图,通过控制层里面的逻辑代码,让模型层里填充数据,再确定视图层所呈现的模型,把ActionResult返回给视图层。然后填充了数据的视图层就会以最终的结果呈现给我们。 一次MVC的生命周期就走完了。
2、多线程和异步编程异同点:
相同点:多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。
不同点:
①为异步操作无须额外的线程负担,并且使用回调的方式进行处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少共享变量的数量),减少了死锁的可能。当然异步操作也并非完美无暇。编写异步操作的复杂程度较高,程序主要使用回调方式进行处理,与普通人的思维方式有些初入,而且难以调试。
②多线程消耗大量CPU,但处理顺序是有序的,会存在死锁现象。
使用场景: 异步适用于I/O操作,数据的增删改查,多线程适用于长时间运算,比如算法和图形处理
3、大数据高并发如何回答
首先应该定位问题,而不是上来就是索索说一通,看看是不是 服务器问题,网络问题,CPU 硬盘等等。有针对性的给你问题。 redis 队列,nginx,
持续更新中。。。