Web全棧工程師應該會什么
一個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.線程和進程有什么區別?