一个Web开发过程有三层架构:
- 表示层:表示层也被称为网站的前端部分。它处理网站的用户界面相关问题。
- 业务逻辑层:业务逻辑层也被称为网站的后端层,负责数据验证和动态处理。
- 数据库层:最后是数据访问层,利用API为网站提供数据。
以上三层共同称为全栈web开发。以前,每当需要开发一个网站时,前端开发人员和后端开发人员分别被聘用。现在,随着移动应用程序和网站的全栈开发,时代已经发生了变化。首先,你需要学习全栈开发项目,然后把整个项目分配给一个能够处理网站前端和后端开发的人。
LAMP全栈代表LINUX-APACHE-MYSQL-Perl / PHP。全栈开发人员对所有四个LAMP栈有深入的了解,现在Linux已经过时了。这是MEAN Stack开发者(MongoDB,Express.JS,Angular.JS,Node JS)的时代。今天一个完整的全栈开发者能够处理完整的MEAN全栈。
更新发展
- MongoDB的数据库
- Express.js为web框架
- AngularJS为前端框架
- 服务器平台的 Node.js
能力
- 有设计和开发移动应用程序和网站的知识;
- 能够与团队合作,能够与程序员,产品开发人员和其他员工合作创建和发布新项目;
- 识别和修复应用程序或网站的问题;
- 开发新项目的测试程序;
- 管理项目的所有开发阶段。
技能
前端
- CSS预处理器,如Sass或LESS;
- 像AngularJS,React或者Ember等JavaScript框架,或者像Grunt,Gulp和Bower的基于JS的构建工具;
- Web基础知识,如HTML,JavaScript和CSS;
- AJAX;
- 前端(CSS)框架(如Foundation或Bootstrap);
- jQuery或Backbone.js的库;
后端
CRUD(创建,读取,更新,删除);
数据库技术,如MySQL,Oracle,PostgreSQL和MongoDB;
API设计和开发;
RESTful服务;
Web基础知识,如HTML,JavaScript和CSS;
与Express.js,Ruby on Rails,CakePHP等服务器端语言相关的框架;
Web服务器技术,如:Node.js,J2EE,Apache,Nginx,ISS等;
服务器端语言,如:PHP,Python,Ruby,Java,JavaScript和.Net。
- 面试全栈开发者常遇到的问题
1.多线程与select有什么区别?
2.确定SQL连接类型。
3.什么是REST?
4.什么是CORS,JSONP?
5.什么是地图缩小?
6.什么是字符编码?
7.你如何测试你的代码?
8.详细说明虚拟方法表。
9.列出扩展数据库的方法?
10.线程和进程有什么区别?