想要成为一名Web全栈工程师应该会什么

全栈工程师,也叫全端工程师(同时具备前端和后台开发的能力),是指掌握多种技能,并能利用多种技能独立完成产品的人。

一个Web开发过程有三层架构:

前端层:前端层也被称为网站的前端部分。包括了HTML,CSS,JavaScript,Ajax等,它处理网站和用户界面相关问题。

HTML CSS JavaScript

业务逻辑层:业务逻辑层也被称为网站的后端层,负责数据验证和动态处理。


python java php node.js

数据库层:最后是数据访问层,利用API为网站提供数据。


MySql 数据库

以上三层共同称为全栈web开发。以前,每当需要开发一个网站时,前端开发人员和后端开发人员分别被一起共同开发项目。现在程序和网站的全栈开发,时代已经发生了变化。首先你需要学习全栈开发项目,然后把整个项目分配给一个能够处理网站前端和后端的全栈开发人。

前端

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.线程和进程有什么区别?