Skip to content

1024-NET/CS-DotNet

Repository files navigation

CS-DotNet📚

.NET开发人员技术栈(知识体系),C#系列笔记!


前言

为什么开始写这篇笔记? 写于大四,面临找工作的压力,加上本身是学习.Net方向的,这个方向的互联网工作比起Java和C/C++来说少的可怜,大都是一些传统行业在用C#。大三上学期期末就选择出来实习,本来希望能找个mentor带带我,但是这种事情可遇不可求,也不是说有个好的师傅带你就一定能学好,师傅领进门,修行还靠个人。两份实习工作都没能得到理想的提升,其实,无论学习什么方向,都靠自学,虽然.Net自学比像Java、Python这些当下流行的语言编程更加艰难,我身边的同学和朋友很多从事Java开发,由于Java开源,所以网上有很多相关资料和视频教程可供学习,但.Net就有点令人失望了,社区的生态也不是很好,前几年才宣布部分开源,学习资料虽然很多,但不是很完善,非常零散,在各大网络课程平台中很多视频教程都是要收费的,而且很多技术框架都是从Java中模仿过来的,相应的文档不全,英文文献倒是不少,微软官方的文档也挺多,我一般是在上面看一些帮助文档。自学虽然会很痛苦,但也很快乐,前提是要学会从中找到快乐。我相信.Net,加上现在.Net Core开源和跨平台后一定会很有前景,所以我不会放弃。前不久去360面试,面试官一直否定微软家的东西,而且他说他自己以前也是搞.Net的,后面转方向了,我最后实在听不下去就跟他争论了起来,最后可想而知,工作凉了,但我不后悔,既然一开始选择了这个方向,我就一定会坚持下去。

下面是我根据收集的十来份面试和笔试的题总结的.Net巩固系列文档,掌握了这些,找一份月薪10K以上的.Net工作相信不是问题。.Net是个平台,所以不仅有.Net Framework的知识,还会有一些其他编程相关的知识点,如.Net Core相关的介绍和算法等。
学习本篇文章的前,你至少要掌握一门面向对象编程的高级语言的基础语法,不是C#也没关系。面向对象语言是一精百通。如果你学的是C或者前端,那可能稍有点吃力了!闲话不多说,开始教程。

发布到Github由大家共同补充和维护,欢迎大家Fork !

一个面试官问我:“假设我不太懂技术,你能不能用通俗的语言解释一下,什么是软件工程?”

⬆ Back to top

awesome-csharp

csharp-gist

Windows-Core-Programming

CS-Books

csharp-video-tutorial

dotnet-video-tutorial

目录:


OO编程

  • 封装
  • 继承
  • 多态
  • 抽象类
  • 接口
  • 委托
  • 事件
  • 反射
  • 特性/语法糖
  • 索引器
  • 泛型
  • 集合
  • CLR/GC

字符串操作

  • 字符串的基本操作
  • String和StringBuilder
  • 字符的 ASCII 码和 Unicode 码

文件操作

  • 文件流
  • 文本流
  • 目录操作

网络通信/编程

  • 网络流
  • 管道通信
  • HTTP
  • TCP/UDP

数据库开发

  • SQL语言
  • ADO.NET
  • ORM框架(EF/EF Core、Dapper)
  • NoSql数据库
  • Redis

多线程与异步

  • 线程/进程/服务
  • 异步

框架与中间件

  • 第三方控件

预处理与异常处理

正则表达式与λ表达式

数据结构与算法

  • 常用数据结构
  • 堆栈和队列
  • 基础算法

设计模式

  • 23种设计模式GOF SOLID

.NET Standard

  • Windows Forms
  • WPF
  • UWP
  • ASP.NET Core
  • Xamarin

扩展技术

  • 版本控制
  • 编译器
  • 反编译器
  • VS/Code的使用

面试环节

白板(算法题或设计模式题目)

上机Coding

翻译英文编程题

写伪代码

逻辑思考题、智力题

开放性问答

现场设计数据库

软件架构设计

软件建模

测试打字速度(外企英文要求、奇葩)


笔试题目

哈希表查找的原理是什么?

多线程如何同步?(尽可能多写几种方法)

索引分为哪几种,有什么特点?

....

持续更新中...

About

📚.NET开发人员技术栈(知识体系),C#系列笔记!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published