# C# ## 面试和文档 [面试宝典](https://www.yuque.com/ysgstudyhard/da6e0c) [官方博客](https://devblogs.microsoft.com/dotnet-ch/?c=85&WT.mc_id=dotnet-35129-website) [官方文档](https://learn.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-8.0&WT.mc_id=dotnet-35129-website) ## 学习视频 [潮汐教育.net 8-9个小时](https://www.bilibili.com/video/BV1QJ4m137eo/?spm_id_from=333.337.search-card.all.click&vd_source=5a048c750e5cf32cb313515aa014c62e) [webapi-基础 7小时](https://www.bilibili.com/video/BV1uLsSeVEjr/?spm_id_from=333.337.search-card.all.click&vd_source=5a048c750e5cf32cb313515aa014c62e) [项目实战-18小时](https://www.bilibili.com/video/BV1i9xze8EKk/?spm_id_from=333.337.search-card.all.click&vd_source=5a048c750e5cf32cb313515aa014c62e) ## [基础](https://www.bilibili.com/video/BV1QJ4m137eo/?spm_id_from=333.337.search-card.all.click&vd_source=5a048c750e5cf32cb313515aa014c62e) 1. 异常处理 理解如何使用try-catch-finally结构处理异常,确保应用程序在发生错误时的健壮性。掌握如何抛出和捕获自定义异常。 2. 文件和I/O操作 学习如何读写文件,掌握Stream、File类的使用,理解如何处理大文件和高效的文件操作。 3. 多线程与异步编程 学习C#的多线程模型和并发编程,掌握Task、async和await的使用。理解并发操作和如何编写异步任务以提升应用性能。 4. LINQ(语言集成查询) 学习如何使用LINQ进行数据查询和操作,理解select、where、orderby等常用操作符,以及如何对集合进行过滤、排序、投影和聚合。 5. 泛型 理解C#中的泛型,学习如何使用泛型类和泛型方法来创建通用的、类型安全的集合和方法。 6. 设计模式 学习常见的设计模式,如单例模式、工厂模式、观察者模式等。理解如何通过设计模式解决常见的开发问题,编写更易维护的代码。 7. 特性(Attributes) 学习如何使用C#的特性为代码添加元数据,并理解如何使用内置特性(如[Serializable]、[Obsolete])以及自定义特性。 8. 反射 了解C#中的反射,学习如何在运行时获取类型信息并动态调用方法或访问属性。理解反射的性能影响及其应用场景。 9. .NET库与NuGet包 学习如何通过NuGet包管理器引入外部库,掌握常用的.NET库如System.IO、System.Net.Http,以及如何管理项目的外部依赖。 10. API请求 掌握如何使用HttpClient类进行HTTP请求,理解GET、POST等请求方法,以及如何处理请求结果。学习如何序列化和反序列化JSON数据。 ## 框架 1. Entity Code First 学习如何使用Entity Framework(EF)来进行ORM操作通过C#类映射数据库结构,如何自定义数据生成的模板、数据库CRUD操作等。 2. Redis 学习Redis缓存机制,理解如何使用StackExchange.Redis库将查询结果缓存,提升应用的性能。 3. 日志框架 (SeriLog或者Nlog) 4. Memcached 学习如何使用Memcached进行缓存管理,了解其工作原理和在C#中的集成。 5. AutoMapper 掌握AutoMapper的基本使用,学习如何将对象映射为不同类型,减少手动编写映射逻辑的重复工作。 6. SignalR 学习如何使用SignalR进行实时通讯,实现WebSocket通信。理解SignalR的使用场景,如实时聊天、在线游戏等。 7. socket 学习使用原生的socket进行实时通信。 # WebAPI & MVC 1. 依赖注入 掌握依赖注入的概念,学习如何通过ASP.NET Core内置的依赖注入框架来管理服务的生命周期和依赖。 2. 中间件 了解ASP.NET Core中中间件的作用,学习如何编写自定义中间件,处理请求和响应。 3. 过滤器 学习如何使用Action Filters、Exception Filters等过滤器在WebAPI请求处理前后执行特定逻辑,掌握自定义过滤器的编写。 4. 配置文件 学习如何在ASP.NET Core中通过appsettings.json和环境变量管理应用程序配置。理解如何在不同环境下(开发、生产)加载不同的配置。 5. 跨域请求(CORS) 理解跨域资源共享(CORS)机制,学习如何在WebAPI中配置CORS策略,以允许不同来源的客户端访问API。 6. Razor语法(MVC) 学习Razor视图引擎,理解如何在ASP.NET MVC中使用Razor语法构建动态页面,处理前端与后端的数据交互。 7. 身份认证与授权(JWT) 掌握JWT(JSON Web Token)认证机制,学习如何通过JWT实现WebAPI的身份认证与授权。 # 扩展 1. git版本控制 2. sql Server 3. 单元测试 ## 前端简单的基础 1. [html](https://www.runoob.com/html/html-tutorial.html) 2. [css](https://www.runoob.com/css/css-tutorial.html) 3. [javascript](https://www.runoob.com/js/js-tutorial.html) 4. [Jquery](https://www.runoob.com/jquery/jquery-tutorial.html) 5. [layui.js](https://layui.dev/)