.net 问答
整理自知乎
一、参加.NET开发技术员面试,应该有哪些准备呢?
1.Framework基础
2.面向对象 原则 模式
3.常见架构模式
4.数据库基础
5.专注的相关领域技术(图形图像,数据挖掘,GIS,视频分析,模式识别等等)
二、现在还有必要学习 GDI 吗?WPF 能完全替代 GDI 吗?
这些都是实现的手段,除非工作需要或者是有爱好想自己弄点小东西,最好花时间在内功修炼上,比如.Net底层的一些机制,推荐CLR via C#这本书~或者算法,数据结构,方面的书,我曾经也比较关注新技术,但是后来发现,基础才是最重要的,所以现在每天都坚持看书,夯实基础,学技术,切忌浮躁。
三、想深入学习 .Net 底层的运行机制和原理,有哪些好的书籍、博客或网站?
CLR via C# 的确是本好书,但是不适合初学者学习的,我还是推荐国内园子上一些大牛们写的书籍,比如AnyTao(王涛 微软MVP)写的《你必须知道的.net》就对.net 的整体框架写的挺清楚,AnyTao本人对底层研究也是挺深的,你可以去博客园看看他的博客。
还有就是《.net 本质论》对CLR底层讲的也不错。
其它的,论坛的话还是博客园,上面是.net的天下啊,至于去看哪些资源的话,还是由你自己决定的。至于国外的一些网站还是去msdn看看吧
四、从国内的开发环境而言,未来几年会出现Windows平台下创业机会高过Linux平台的可能。
这是因为,
Windows下通过.NET将很快能够以LINQ访问除SQL Srv之外的MySQL, Oracle等数据库。LINQ将可以使得开发成本大幅度降低。
.NET从4.0开始支持的并行计算以及从.NET 5.0开始改善的异步计算,将可以使得服务器的处理能力大幅度提升。通过PowerShell进行Windows Core环境下的管理,解决了很多之前一直诟病的安全和性能问题。
Windows下的开发框架更加统一。而Linux下各种开源应用的开发虽然很多开发框架非常精妙,但是也带来了工程师需要不断适应新框架,以及难以招聘到合适的熟悉框架的工程师的困扰。
之前影响ASP.NET性能的很多问题,在ASP.NET MVC框架下都解决的不错。值得指出的是ASP.NET MVC使用Razor View Engine进行开发,其开发效率与运行性能都蛮不错的。