第一阶段:C#基础
1、页面的生命周期(这个面试的时候经常被问到)
2、泛型(了解泛型方法/泛型类/泛型接口/泛型委托/泛型约束,理解泛型原理,实现泛型类缓存,了解协变逆变)
3、反射(反射类型/方法/构造函数/属性/字段/黑科技,可配置可扩展程序架构,数据库访问类反射封装(返回泛型实体))
4、特性attribute(深入学习特性attribute ,特性定制和应用扩展,系统特性)
5、委托和事件(委托三部曲、委托解耦和封装、多播委托、事件、观察者模式,深度解析委托和事件)
6、加密解密(加密解密学习,完成RSA、DES , MD5加密类封装,理解SSL )
7、IO和序列化(文件I0、序列化反序列化、XML/JSON)
8、Lambda(匿名函数、lambda、扩展方法)
9、数据结构和特殊类型(List/Dictionary/Queue/Stack等对比、 可空值类型、dynamic)
10、异步和多线程(了解异步和多线程的原理和应用场景,线程安全、异常处理、线程取消等)(如果是做web端可以忽略)
第二阶段:设计阶段
1、面向对象编程OOP (封装、继承、多态,接口抽象类选择)
2、面向切面编程AOP ( 0OP思想补充, C#多种实现AOP ,定制个性化AOP扩展)
3、CLR核心机制(异常和状态管理,托管堆和垃圾回收, CLR寄宿和性能提升)
4、设计模式六大原则(单-职责、里氏替换、依赖倒置、接口隔离、迪米特、开闭)(起始设计模式有很多的,可以参考这本书《大话设计模式》我觉得写得很好)
5、数据库设计优化(数据库设计、分库分表表分区、读写分离高可用、索引优化、执行计划分析)
第三阶段:.Net框架进阶
1、爬虫制作(爬虫原理和实现,多线程抓取,第三方组件解析,定制千万级数据爬虫)
2、Cache (详解缓存原理和应用,解析各环节Cache ,独立实现缓存、封装缓存基类)
3、NoSql-Redis ,异步队列(了解分布式缓存Memcached、深入nosq|数据库redis五大数据结构,异步队列使用)
4、Lucene.net (详解Lucene.net ,索引的增删改查,大数据量查询,定制分布式搜索引擎)
5、WebService/WebApi ( SOA介绍,三种服务实现调用对比,详解webapi调用、认证、跨域等)
6、WebSocket(学习websocket协议,完成websocket通信和应用,模拟浏览器时事通讯)
7、依赖注入I0C(学习并使用Unity容器实现依赖注入,数据和业务分层, AOP整合)
8、MVC5(最新的MVC框架, Razor引擎、 扩展控件、路由、区域)
9、asp.net核心机制 (剖析IIS服务器管道处理模型,自定义httphandler. httpmodule)
10、.NET Core(.Net Core2.0 MVC项目实践,理解并扩展自定义管道,自定义依赖注入,开始跨平台之旅)