.Net WEB 程序员需要掌握的技能
最近公司里有新入职的员工,根据个人的理解和经验,我来列一下一个.Net WEB程序员需要掌握的知识
基础部分
- C# 基础语法
- OOP的概念,面向对象的理解
- 继承
- 封装
- 多态
- ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看)
- JavaScript
- 基础语法
- 如何在HTML里使用JavaScript
- 常用Dom 操作
- SQL Server
- 常用T-SQL 增删改查
- SQL Managment studio 常用操作
- jQuery 常用API
- HTML
- HTML 所有标签的语义,什么时候用什么标签
- CSS
- 常用CSS的知识,如何在HTML使用
- 常用的布局
- Bootstrap
- C# 代码规范
- CSS 代码规范
- JavScript代码规范
- Git的基本使用
- 常用命令使用
- 获取代码
- 解决冲突
- 提交代码
- 新建分支,合并分支
- Github
- 帐号设置
- SSH 配置
- 三层设计
- UI
- Service
- Repository
- 事务的代码实现
提高部分
单元测试
- Nunit
- Moq
- 单元测试的基本知识 Arrange, Action, Assert
依赖注入
- 面向接口编程的理解
- Castle Windsor
- 与ASP.NET MVC 的集成
- Installer
- 不同的生命周期
Entity Framework Migration
JavaScript
- 闭包
- JavaScript 的面向对象
- prototype
- JavaScript的动态特性
AngularJS
.NET
- Async
- TPL
- WCF 基本使用
Debug
- VS 常用Debug 功能
- Firebug / Chrome Developer
- Fiddler
常用的快捷键
- windows
- Visual studio
- Resharper
- Chrome
进阶部分
- 常用设计模式
- 常用设计原则的理解
- S.O.L.I.D
- DRY
- Repsiotory Pattern
- Unit Of Work
- HTTP 协议
- 前端常用的性能优化
- .Net 常用性能优化的方法
- RequireJS
- Async.js
- MVC 模式
- MVVM 模式
- SignalR
- PowerShell
深入部分
- AOP
- 领域驱动设计DDD
- CQRS
- NServicebus
- Event Sourcing
- Event Driven
- MSMQ/RabbitMQ
- Load Balance
- Memcache
- NoSQL
- MongoDB
- Redis
- Load Balance
- Cache 问题
- Session 问题
敏捷
- SCRUM
- TDD
- BDD
- 使用一个敏捷管理工具 JIRA Scrum/Kanban, Trello, Target Process, Pivotal Tracker, 国产的WorkTile应该也不错
- XP
- 持续集成 TeamCity
- Grunt
扩展部分
Node.js 服务器端
Socket.io
Mobile APP
- Hybrid APP Phonegap
- Native APP
- iOS Objective C /Swift
- iPhone/iPad development
- Xamarin Cross-platform development
买一台Mac
- 熟悉Mac 常用操作
- 熟悉Shell
学一门动态语言,比如Ruby
WPF 熟悉一下最新的Windows Desktop开发