Web全棧工程師應(yīng)該會(huì)什么
一個(gè)Web開發(fā)過程有三層架構(gòu):
- 表示層:表示層也被稱為網(wǎng)站的前端部分。它處理網(wǎng)站的用戶界面相關(guān)問題。
- 業(yè)務(wù)邏輯層:業(yè)務(wù)邏輯層也被稱為網(wǎng)站的后端層,負(fù)責(zé)數(shù)據(jù)驗(yàn)證和動(dòng)態(tài)處理。
- 數(shù)據(jù)庫層:最后是數(shù)據(jù)訪問層,利用API為網(wǎng)站提供數(shù)據(jù)。
以上三層共同稱為全棧web開發(fā)。以前,每當(dāng)需要開發(fā)一個(gè)網(wǎng)站時(shí),前端開發(fā)人員和后端開發(fā)人員分別被聘用?,F(xiàn)在,隨著移動(dòng)應(yīng)用程序和網(wǎng)站的全棧開發(fā),時(shí)代已經(jīng)發(fā)生了變化。首先,你需要學(xué)習(xí)全棧開發(fā)項(xiàng)目,然后把整個(gè)項(xiàng)目分配給一個(gè)能夠處理網(wǎng)站前端和后端開發(fā)的人。
LAMP全棧代表LINUX-APACHE-MYSQL-Perl / PHP。全棧開發(fā)人員對(duì)所有四個(gè)LAMP棧有深入的了解,現(xiàn)在Linux已經(jīng)過時(shí)了。這是MEAN Stack開發(fā)者(MongoDB,Express.JS,Angular.JS,Node JS)的時(shí)代。今天一個(gè)完整的全棧開發(fā)者能夠處理完整的MEAN全棧。
更新發(fā)展
- MongoDB的數(shù)據(jù)庫
- Express.js為web框架
- AngularJS為前端框架
- 服務(wù)器平臺(tái)的 Node.js
能力
- 有設(shè)計(jì)和開發(fā)移動(dòng)應(yīng)用程序和網(wǎng)站的知識(shí);
- 能夠與團(tuán)隊(duì)合作,能夠與程序員,產(chǎn)品開發(fā)人員和其他員工合作創(chuàng)建和發(fā)布新項(xiàng)目;
- 識(shí)別和修復(fù)應(yīng)用程序或網(wǎng)站的問題;
- 開發(fā)新項(xiàng)目的測試程序;
- 管理項(xiàng)目的所有開發(fā)階段。
技能
前端
- CSS預(yù)處理器,如Sass或LESS;
- 像AngularJS,React或者Ember等JavaScript框架,或者像Grunt,Gulp和Bower的基于JS的構(gòu)建工具;
- Web基礎(chǔ)知識(shí),如HTML,JavaScript和CSS;
- AJAX;
- 前端(CSS)框架(如Foundation或Bootstrap);
- jQuery或Backbone.js的庫;
后端
CRUD(創(chuàng)建,讀取,更新,刪除);
數(shù)據(jù)庫技術(shù),如MySQL,Oracle,PostgreSQL和MongoDB;
API設(shè)計(jì)和開發(fā);
RESTful服務(wù);
Web基礎(chǔ)知識(shí),如HTML,JavaScript和CSS;
與Express.js,Ruby on Rails,CakePHP等服務(wù)器端語言相關(guān)的框架;
Web服務(wù)器技術(shù),如:Node.js,J2EE,Apache,Nginx,ISS等;
服務(wù)器端語言,如:PHP,Python,Ruby,Java,JavaScript和.Net。
- 面試全棧開發(fā)者常遇到的問題
1.多線程與select有什么區(qū)別?
2.確定SQL連接類型。
3.什么是REST?
4.什么是CORS,JSONP?
5.什么是地圖縮???
6.什么是字符編碼?
7.你如何測試你的代碼?
8.詳細(xì)說明虛擬方法表。
9.列出擴(kuò)展數(shù)據(jù)庫的方法?
10.線程和進(jìn)程有什么區(qū)別?


























