整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          一篇教你如何成為java高級程序員的,建議收藏

          一篇教你如何成為java高級程序員的,建議收藏

          ection 1

          1.Core Java,就是Java基礎、JDK的類庫,很多童鞋都會說,JDK我懂,但是懂還不足夠,知其然還要知其所以然,JDK的源代碼寫的非常好,要經常查看,對使用頻繁的類,比如String,集合類(List,Map,Set)等數據結構要知道它們的實現,不同的集合類有什么區別,然后才能知道在一個具體的場合下使用哪個集合類更適合、更高效,這些內容直接看源代碼就OK了

          2.多線程并發編程,現在并發幾乎是寫服務端程序必須的技術,那對Java中的多線程就要有足夠的熟悉,包括對象鎖機制、synchronized關鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發編程實踐》這本書,講解的很詳細

          3.I/O,Socket編程,首先要熟悉Java中Socket編程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系統底層的Socket實現,了解Windows和Linux中是怎么實現socket的

          4.JVM的一些知識,不需要熟悉,但是需要了解,這是Java的本質,可以說是Java的母體, 了解之后眼界會更寬闊,比如Java內存模型(會對理解Java鎖、多線程有幫助)、字節碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執行參數(優化JVM)等等,這些知識在《深入Java虛擬機》這本書中都有詳盡的解釋,或者去oracle網站上查看具體版本的JVM規范.

          5.一些常用的設計模式,比如單例、模板方法、代理、適配器等等,以及在Core Java和一些Java框架里的具體場景的實現,這個可能需要慢慢積累,先了解有哪些使用場景,見得多了,自己就自然而然會去用。

          6.常用數據庫(Oracle、MySQL等)、SQL語句以及一般的優化

          7.JavaWeb開發的框架,比如Spring、iBatis等框架,同樣他們的原理才是最重要的,至少要知道他們的大致原理。

          8.其他一些有名的用的比較多的開源框架和包,Netty網絡框架,Apache common的N多包,Google的Guava等等,也可以經常去Github上找一些代碼看看。

          section 2

          每逢長假都會有很多程序員跳槽,十一、過年是跳槽黃金時刻,尤其是過年。過年的時候年終獎到手,沒有了多少牽掛,年終同學同事聚會比較多,溝通的就多,各種工作機會的消息也相應會多,所以跳槽的機會也就會多。跳槽就必不可少的要經過面試,那么作為一個Java程序員需要準備哪些面試知識呢?下面就給大家說說。

          1、集合框架:

          從上圖可以看到主要是Collection和Map的繼承類和Iterator的實現類,重點掌握ArrayList、LinkedList、Vector、Stack、PriorityQueue、HashSet、LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap、WeakHashMap、EnumMap、TreeMap、HashTable的特點和實現原理,還有多線程使用場景和插入多還是刪除多的時候使用什么樣的集合類效率會更高。

          2、IO框架:

          主要掌握Reader、Writer、InputStream、OutputStream的繼承類,重點掌握字節流(FileInputStream、FileOutputSteam、BufferedInputStream、BufferedOutputStream、DataInputStream、DataOutputStream)和字符流(FileReader、FileWriter、BufferedReader、BufferedWriter、InputStreamReader、OutputStreamWriter),并熟練運用。還有就是NIO的工作原理要知道。

          3、String先關:

          主要考察對String的處理,順帶考察多線程和算法,大公司就是喜歡考察字符串的算法,主要是字符串查找或者剔除,多線程打印字符串,超大字符串處理。

          4、異常處理:

          掌握Throwable繼承類,理解Error和Exception的區別,理解運行時異常和編譯異常的區別,掌握異常的處理方法,掌握try、catch、finally、throw、throws關鍵字的意義,掌握try-catch-finally語句的執行順序,掌握異常的工作原理,知道常見的異常有哪些。

          5、多線程:

          如何創建和啟動一個線程,有哪些方法?多線程如何交互,線程之間的調度、讓步、合并,如何同步?生產和消費者模型。還有就是掌握線程安全、線程池,死鎖。

          6、JVM知識:

          掌握常見的垃圾回收機制,掌握程序計數器、堆、棧、方法區的作用,掌握類的加載機制。掌握內存分代模型和工作原理。掌握JVM啟動參數常見配置,了解JVM調優。

          7、數據結構與算法:

          掌握常見查找和排序算法實現及其時間、空間復雜度。掌握常見數據結構如鏈表、隊列、棧的基本原理和實現。

          section 3

          經常主持對高級工程師和中基層Tech Leader的面試,一年下來總有百八十場,我給大家分享一下我對于高級工程師的定位吧,雖然我主要負責.Net團隊,但是對于其他語言應該也是適用的。

          一 理論基礎:高級工程師必須有較好的理論基礎,既包含一些基礎的學科知識,也要包含個人專攻方向的前沿理論。我遇到過形形色色的求職者,有人自稱精通領域模式,卻不明白什么是聚合根(領域根)。甚至有人無法列舉常用的非線性結構,更別提偽碼實現和應用場景分析了。這些人普遍振振有詞地說, 我有豐富的開發經驗,項目需要實現的功能我都能做出來,我只是沒有去記那些術語名詞。抱歉,你不是沒有記術語名詞,你是根本沒有潛心看技術文章的心態,你所謂的學習就是看一些諸如《21天精通Java》,《7天,從菜鳥到專家》之類的垃圾書,或者看點視頻。那么你這個高工,比別人高在哪里呢?當單位需要你代表團隊和合作機構溝通,甚至發表專欄的時候,你是不是也準備跟大家講”這個東西我不知道該怎么講,大家可以看一下我的代碼“。只有代碼可秀的人是碼農,不是高工,所以我給這類求職者的綜評是中+封頂。

          二 工作經驗:高級工程師必須有過在項目中擔心核心模塊開發或者整體架構設計的經驗,并且項目越高大上越好,比如你在互聯網企業搞過讀寫分離的實現,你在電商搞過秒殺算法,你在電信行業做過網絡層,我必定會高看一眼。如果你就僅僅只是一個人全棧搞過幾個小網站,啪啪啪一大堆成熟框架用得倍溜,那么你只是一個裝配工。我給這類求職者的綜評是中+封頂。

          三 培養潛力:高級工程師必須有全局思維,如果在你過往的工作歷程中,你對你兄弟團隊或者部門的工作情形一問三不知,甚至于一個項目中,你只懂自己的模塊,其他同事負責的模塊你就只會call個API,那么你就是一個很難再進一步的人。對于企業來說,有你不多,無你不少,所以我給這類求職者的綜評是中+封頂。

          四 溝通能力:高級工程師在技術團隊中是絕對的核心人中,小項目中你就是負責人,大項目中你也要負責帶新人,那么良好的溝通能力必不可少,如果你僅僅是自己一個人心里亮堂,你對企業的價值就要大打折扣。這類求職者,我也有錄用過不少,因為程序員木訥可以說是一種共性,在這方面沒法太挑剔,但是我給他們的綜評是高-封頂。

          section 4

          如果要應聘高級開發工程師職務,僅僅懂得Java的基礎知識是遠遠不夠的,還必須懂得常用數據結構、算法、網 絡、操作系統等知識。因此本文不會講解具體的技術,筆者綜合自己應聘各大公司的經歷,整理了一份大公司對Java高級開發工程師職位的考核綱要,希望可以幫助到需要的人。

          1 Java基礎

          1.1 Collection和Map

          (1)掌握Collection和Map的繼承體系。

          (2)掌握ArrayList、LinkedList、Vector、Stack、PriorityQueue、HashSet、 LinkedHashSet、TreeSet、HashMap、LinkedHashMap、TreeMap、WeakHashMap、EnumMap、 TreeMap、HashTable的特點和實現原理。

          (3)掌握CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap的實現原理和適用場景。

          1.2 IO

          (1)掌握InputStream、OutputStream、Reader、Writer的繼承體系。

          (2)掌握字節流(FileInputStream、DataInputStream、BufferedInputStream、 FileOutputSteam、DataOutputStream、BufferedOutputStream)和字符流 (BufferedReader、InputStreamReader、FileReader、BufferedWriter、 OutputStreamWriter、PrintWriter、FileWriter),并熟練運用。

          (3)掌握NIO實現原理及使用方法。

          1.3 異常

          (1)掌握Throwable繼承體系。

          (2)掌握異常工作原理。

          (3)了解常見受檢異常(比如FileNotFoundException)、非受檢異常(比如NullPointerException)和錯誤(比如IOError)。

          1.4 多線程

          (1)掌握Executors可以創建的三種(JAVA8增加了一種,共四種)線程池的特點及適用范圍。

          (2)掌握多線程同步機制,并熟練運用。

          1.5 Socket

          (1)掌握Socket通信原理。

          (2)熟練使用多線程結合Socket進行編程。

          2 Java虛擬機

          2.1 JVM內存區域劃分

          (1)掌握程序計數器、堆、虛擬機棧、本地方法棧、方法區(JAVA8已移除)、元空間(JAVA8新增)的作用及基本原理。

          (2)掌握堆的劃分:新生代(Eden、Survivor1、Survivor2)和老年代的作用及工作原理。

          (3)掌握JVM內存參數設置及調優。

          2.2 類加載

          (1)掌握類的加載階段:加載、鏈接(驗證、準備、解析)、初始化、使用、卸載。

          (2)掌握類加載器分類及其應用:啟動類加載器、擴展類加載器、應用程序類加載器、自定義加載器。

          3 J2EE

          (1) 掌握JSP內置對象、動作及相關特點和工作原理。

          (2) 掌握Servlet的特點和工作原理。

          (3) 掌握Spring框架的IOC和AOP實現原理(反射和動態代理)。

          (4) 至少掌握一個MVC框架(Spring MVC,Struts等)的工作原理,并熟練運用。

          (5) 至少掌握一個ORM框架(Hibernate,MyBatis等)的工作原理,并熟練運用。

          4 數據結構與算法

          (1)掌握線性表和樹的特點并熟練運用。

          (2)掌握常用排序和查找算法:插入排序(直接插入排序、希爾排序)、選擇排序(直接選擇排序、堆排序)、交換排序(冒泡排序、快速排序)、歸并排序,順序查找、二分查找、哈希查找。

          (3) 熟練運用常見排序和查找算法思想解決編程問題。

          (4)了解幾大基本算法:貪心算法、分治策略、動態規劃。

          5 計算機網絡

          (1)掌握網絡的分層結構,及每層的功能特點。

          (2)掌握TCP/IP的通信原理(三次握手、四次揮手)

          6 數據庫

          (1)掌握復雜的SQL語句編寫。

          (2)掌握數據庫的優化(SQL層面和表設計層面)。

          (3)至少掌握一款數據庫產品。

          (4)熟悉高并發、大數據情況下的數據庫開發。

          7 Web技術

          (1)掌握AJAX的工作原理。

          (2)至少熟悉一款JS框架(比如JQuery)。

          8 設計模式

          (1)熟悉常見的設計模式。

          (2)會將設計模式理論應用到實際開發中。

          9 Linux

          (1)熟練運用Linux常見命令。

          (2)熟悉Linux操作系統基本概念及特點。

          (3)熟悉Shell腳本。

          10 操作系統

          (1)掌握操作系統的進程管理。

          (2)了解操作系統的I/O。

          11 正則表達式

          (1)掌握常見正則表達式符號。

          (2)熟練運用正則表達式解決實際問題(比如匹配電話號碼、郵箱、域名等)。

          Section 5

          h5edu 的源碼

          pure--響應式css框架

          Hadoop大數據

          ERP系統開發

          linux

          freemarker

          weblogic/jobss

          webwhpere

          webservice http://www.iteye.com/topic/1135747

          bootstrap

          HTML5

          android

          css/jslever

          spring aop ssh ssm 徒手搭建

          jquery源碼分析融匯

          緩存 echacge

          并發

          頁面靜態化

          UML

          shell

          pathy

          github

          網絡編程

          ExtJS

          網絡爬蟲

          設計模式

          多線程與并發

          第三方支付/登錄http://wiki.connect.qq.com/%E7%BD%91%E7%AB%99%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B

          ============================================高級工程====================================

          找一些高級題目去做

          借鑒理解源碼http://www.java1234.com/a/kaiyuan/javaWeb/

          ========================================================================================

          1.Core Java部分

          這是最基礎的,對于一個java高級開發/設計人員,你需要對這一部分達到精通的水平,重點內容如下:

          a.面向對象編程思想(封裝繼承多態接口)

          b.字符串處理

          c.java.lang包,java.util包等常用包

          4.java異常處理

          2.Java高級部分

          a.Java I/O流

          b.Java多線程技術

          c.Java網絡編程

          d.Java Swing

          后兩項可以了解即可,如果項目需要可以深入研究

          3.前端基本技能

          * HTML + CSS網頁開發

          * JavaScript

          * Jquery

          * 瀏覽器兼容性 CSS hack(了解)

          4.熟練使用JSP + Servlet進行開發

          5.MVC設計模式,原理,以及相關框架,如Struts

          6.SSH框架

          7.緩存技術 session & cookie

          8.熟練使用一種以上Java開發工具

          Eclipse/MyEclipse/Jbuilder/Jcreator

          9.熟練使用XML

          JDOM w3c.dom SAX

          10.Java設計模式

          工廠模式,單例模式==

          11.Java反射機制

          反射的各種用法

          12.了解或熟悉 C, C++, .NET

          13.熟悉JDK的配置,環境變量

          14.數據庫oracle必學,其他最好了解一種以上(mysql,sql server,access==)

          oracle:視圖,索引,存儲過程,觸發器,游標,包,常用函數==

          15.數據庫原理

          事務的原理,鎖機制,表連接,復雜查詢語句(工作經驗),性能調優,鎖表以及解決方案==

          16.JDBC,連接池

          17.Ajax,反向Ajax

          18.HTTP協議,request 和 response的原理,HTTP status(了解常用的),Https原理

          19.熟悉Linux基本命令,使用過Linux/Unix系統,可以編寫shell腳本,可以在Linux上部署項目

          20.了解windows系統批處理腳本bat

          21.了解HTML5,最好學習過

          22.熟悉一種JS框架,如Prototype

          23.J2EE原理 熟悉一種以上web容器如Tomcat,JBoss,websphere,weblogic==

          24.熟悉ant或maven

          25.熟悉一門腳本語言,如python ,ruby

          26.了解php/ asp

          27.了解ftp協議及原理

          28.熟練使用Junit測試,熟悉Mockito等測試工具

          29,熟悉javac,javadoc,native,native2ascii等常用命令

          30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究過一些的算法,下面的這個就是我曾經研究過的一個:

          http wenku baidu com /view/391db3f0941ea76e58fa04e9點html

          http://wenku.baidu.com/view.391db3f0941ea76e58fa04e9.html

          31.了解Flex(不學也沒關系)

          32.了解敏捷開發模式

          33.工作流workflow至少用過一種,如OSworkflow,了解原理

          34.使用過VPN了解其原理

          35.熟悉jstl表達式和el表達式

          36.熟悉webservice,WSDL,SOAP

          37.圖片處理,如圖片上傳,預覽,限制大小等,下面共享一(垃圾勿噴):

          http wenku baidu com/view/05337bfc770bf78a6529541b點html

          38.版本控制工具,CVS VSS SVN

          39,JSON技術,JSON+AJAX

          40.分頁技術,最好自己實現過不僅僅是用過要知道原理

          41.Java Mail

          42.Java讀寫txt,excel

          JXL技術

          43.JVM原理,JVM內存管理,GC,Java堆棧池

          44.熟練使用下面的工具:

          office辦公軟件,word,excel,ppt等

          plsql,sqldevelop 數據庫開發工具

          outlook大公司都用

          ue編輯器

          瀏覽器控制臺,調試

          SHH/PUTTY 遠程

          45.UML建模工具 Rational Rose等

          46.使用log4j

          47.使用過開放API如百度地圖,騰訊街景,新浪微博等

          48.頁面靜態化技術(偽靜態頁面)UrlRwriter

          49.報表技術,使用過報表制作工具,如水晶易表

          50.定時任務,如Spring batch,學會自定義batch任務(不適用第三方工具)

          51.了解uuid

          52.B/s 和 C/s架構

          53.正則表達式

          54.了解JNDI JMS

          55. ERP

          56.unicode編碼,亂碼的解決

          57.開源網絡編輯器,如ckEditor

          58.二進制原理

          59,使用過,了解開源論壇框架,如discuzz

          60, GWT ,Closure框架

          61.了解 大數據,云計算

          62.搜索引擎搜索技術

          63.軟件工程,項目管理

          1.你需要精通面向對象分析與設計(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應該十分了解UML,尤其是class,object,interaction以及statediagrams。

          2.你需要學習JAVA語言的基礎知識以及它的核心類庫(collections,serialization,streams,networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。

          3.你應該了解JVM,classloaders,classreflect,以及垃圾回收的基本工作機制等。你應該有能力反編譯一個類文件并且明白一些基本的匯編指令。

          4.如果你將要寫客戶端程序,你需要學習WEB的小應用程序(applet),必需掌握GUI設計的思想和方法,以及桌面程序的SWING,AWT, SWT。你還應該對UI部件的JAVABEAN組件模式有所了解。

          JAVABEANS也被應用在JSP中以把業務邏輯從表現層中分離出來。

          5.你需要學習java數據庫技術,如JDBCAPI并且會使用至少一種persistence/ORM構架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(國產JDO紅工廠軟件)或者iBatis。

          6.你還應該了解對象關系的阻抗失配的含義,以及它是如何影響業務對象的與關系型數據庫的交互,和它的運行結果,還需要掌握不同的數據庫產品運用,比如:oracle,mysql,mssqlserver。

          7.你需要學習JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,

          codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)還有不同的安全/認證 API,例如JAAS(JavaAuthenticationandAuthorizationService),

          JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。

          8.你需要學習Servlets,JSP,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries。

          9.你需要熟悉主流的網頁框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他們下面的涉及模式,如MVC/MODEL2。

          10.你需要學習如何使用及管理WEB服務器,例如tomcat,resin,Jrun,并且知道如何在其基礎上擴展和維護WEB程序。

          11.你需要學習分布式對象以及遠程API,例如RMI和RMI/IIOP。

          12.你需要掌握各種流行中間件技術標準和與java結合實現,比如Tuxedo、CROBA,當然也包括javaEE本身。

          13.你需要學習最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。

          14.你應該學習如何利用JAVAAPI和工具來構建WebService。例如JAX-RPC(JavaAPIforXML/RPC),SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),

          JAXM(JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。

          15.你需要學習一門輕量級應用程序框架,例如Spring,PicoContainer,Avalon,以及它們的IoC/DI風格(setter,constructor,interfaceinjection)。

          16.你需要熟悉不同的J2EE技術,例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService),JMX (J

          最后,想學習JAVA的小伙伴們!

          請關注+私信回復:“學習”就可以拿到一份我為大家準備的JAVA學習資料!

          面報道

          (1)AngularJS在2015

          (2)Vue.js:輕量高效的前端組件化方案

          (3)avalon:小而美,輕量級前端MVVM框架

          (4)解讀React

          (5)探索React生態圈

          (6)解讀Mobile Library背后的設計故事和理念

          資訊

          (1)外刊速遞:CACM

          (2)大數據是如何改善倫敦公共交通的

          (3)確保用正確的方法做事

          (4)創業公司失敗的原因

          (5)業界聲音

          (6)數據與國際組織危機處理

          (7)2015中國人工智能大會觀察

          技術

          (1)我是如何進行異構并行計算算法設計的

          (2)電信行業服務化實踐

          (3)如何像巫師那樣隔空操作

          百味

          (1)程序員的年齡天花板

          《專家導讀》──流行前端框架展示,告訴你如何選擇? 文/ 程邵非

          2014到2015年,隨著移動互聯網的興起,前端框架開始從jQuery一統天下的局面,逐漸演變成了百花齊放的局面。從這些框架的功能和目標來看,前端工程師的視角已經逐漸從“兼容性”和“更好的API”轉向了“開發效率”,“表現和邏輯分離”,而后兩者正是更大規模軟件所需要的,這意味著前端這個崗位的職責開始發生變化,原來的前端只是負責切圖、頁面制作,而現在前端工程師更多涉及編程方面。

          MVC模式誕生于1970年代,在前端領域,從Backbone起,借鑒這一模式的框架開始進入開發者視野,如徐飛在本專題中所展示的AngularJS便是從微軟提出的MVVM中獲取靈感的框架,國內工程師司徒正美更毫不掩飾自己對于微軟架構的偏愛,連avalon這個名稱都是從Vista的codename而來。Vue.js也是MVVM框架中的優秀之作,是由華人發起的、現在業內框架中為數不多的在國外技術社區頗有影響力的框架,它以輕量、語法簡潔和充分利用JavaScript的特點,贏得了不少追求極簡的開發者喜愛。

          同樣是希望提供更優秀的UI架構,Facebook的React提出的很晚,卻有后來居上的趨勢,憑借Facebook的影響力和React Native,它的每一個新聞都極有沖擊力,它獨有的Flux跟一般意義上的MV*框架有很大區別,JSX語法也使得它的UI和代碼耦合性更強。其實React在各方面都可謂“叛逆”,而我了解到,在所有同時嘗試過AngularJS和React的團隊中,幾乎一致地最終選擇了React,其中原因令人深思。

          在本期封面報道中,我們也分享了手機淘寶的前端庫Mobile Library,與前面所述的框架不同,它是一組庫,而非一個框架,Mobile Library更致力于解決移動開發中的點的問題,而把架構問題的答案留給框架去解決。

          前端框架現在處于戰國時期,而實際的框架選擇,還是依賴于工程師對業務特征的判斷。架構其實沒有對錯,唯有了解更多,才能更好地做出決策。

          訂閱咨詢:

          • 在線咨詢(QQ):2251809102
          • 電話咨詢:010-64351436
          • 郵箱咨詢:reader@csdn.net

          結合個人經歷總結的前端入門方法,總結從零基礎到具備前端基本技能的道路、學習方法、資料。由于能力有限,不能保證面面俱到,只是作為入門參考,面向初學者,讓初學者少走彎路。

          互聯網的快速發展和激烈競爭,用戶體驗成為一個重要的關注點,導致專業前端工程師成為熱門職業,各大公司對前端工程師的需求量都很大,要求也越來越高,優秀的前端工程師更是稀缺。個人感覺前端入門相對容易,但是也需要系統地認真學習,在打好基礎后堅持學習,成為優秀前端工程師也只是時間問題。

          學習任何知識最重要的都是興趣,如果經過一段時間的學習感覺不喜歡,那可能強迫自己學習是很痛苦的,效果也不會好,畢竟這很可能就是以后很多年生存的技能。不過隨著互聯網行業的發展,前端必然是Web開發人員需要學習的知識,有時候是沒有專業前端工程師一起合作的,所以即使不做專門的前端工程師,掌握基本的前端技能為工作帶來方便。

          以下是個人覺得入門階段應該熟練掌握的基礎技能:

          HTML4,HTML5語法、標簽、語義

          CSS2.1,CSS3規范,與HTML結合實現各 種布局、效果

          Ecma-262定義的javascript的語言核心,原生客戶端javascript,DOM操作,HTML5新增功能

          一個成熟的客戶端javascript庫,推薦jquery

          一門服務器端語言:如果有服務器端開發經驗,使用已經會的語言即可,如果沒有服務器端開發經驗,熟悉Java可以選擇Servlet,不熟悉的可以選PHP,能實現簡單登陸注冊功能就足夠支持前端開發了,后續可能需要繼續學習,最基本要求是實現簡單的功能模擬,

          HTTP

          在掌握以上基礎技能之后,工作中遇到需要的技術也能快速學習。

          基本開發工具

          恰當的工具能有效提高學習效率,將重點放在知識本身,在出現問題時能快速定位并 解決問題,以下是個人覺得必備的前端開發工具:

          文本編輯器:推薦Sublime Text,支持各種插件、主題、設置,使用方便

          瀏覽器:推薦Google Chrome,更新快,對前端各種標準提供了非常好的支持

          調試工具:推薦Chrome自帶的Chrome develop tools,可以輕松查看DOM結構、樣式,通過控制臺輸出調試信息,調試javascript,查看網絡等

          輔助工具:PhotoShop編輯圖片、取色,fireworks量尺寸,AlloyDesigner對比尺寸,以及前面的到的Chrome develop tools,

          FQ工具:lantern, 壁虎漫步

          學習方法和學習目標

          方法:

          入門階段反復閱讀經典書籍的中文版,書籍中的每一個例子都動手實現并在瀏覽器中查看效果

          在具備一定基礎之后可以上網搜各種教程、demo,了解各種功能的實際用法和常見功能的實現方法

          閱讀HTML,CSS,Javascript標準全面完善知識點

          閱讀前端牛人的博客、文章提升對知識的理解

          善用搜索引擎

          目標:

          熟記前面知識點部分的重要概念,結合學習經歷得到自己的理解

          熟悉常見功能的實現方法,如常見CSS布局,Tab控件等。

          入門之路

          以下是入門階段不錯的書籍和資料

          HTML先看《HTML & CSS: Design and Build Websites》1-9章,然后《HTML5: The Missing Manual》1-4章。

          CSS先看《CSS: The Missing Manual》,然后《CSS權威指南》

          javascript先看《javascript高級程序設計》,然后《javascript權威指南》

          HTTP看HTTP權威指南

          在整個學習過程中HTML CSS JavaScript會有很多地方需要互相結合,實際工作中也是這樣,一個簡單的功能模塊都需要三者結合才能實現。

          動手是學習的重要組成部分,書籍重點講解知識點,例子可能不是很充足,這就需要利用搜索引擎尋找一些簡單教程,照著教程實現功能。以下是一些比較好的教程網址

          可以搜索各大公司前端校招筆試面試題作為練習題或者他人總結的前端面試題還有個人總結的面試題(帶參考答案)

          http://code.tutsplus.com有各種各樣的教程

          MDN也有很多教程,更重要的是里面有詳細的文檔,需要查找某個功能時在Google搜索:xxx site:https://developer.mozilla.org

          http://www5rocks.com/zh/也有很多優質教程

          http://www.sitepoint.com/

          http://alistapart.com/

          原生javascript是需要重點掌握的技能,在掌握原生javascript的基礎上推薦熟練掌握jQuery,在實際工作中用處很大,這方面的書籍有《Learning jQuery》或者去jQuery官網

          建一個https://github.com/賬號,保存平時學習中的各種代碼和項目。

          有了一定基礎之后可以搭建一個個人博客,記錄學習過程中遇到的問題和解決方法,方便自己查閱也為其他人提供了幫助。也可以去http://www.cnblogs.com/或者http://www.csdn.net/這樣的網站注冊賬號,方便實用

          經常實用Google搜索英文資料應該經常找到來自http://stackoverflow.com/的高質量答案,與到問題可以直接在這里搜索,如果有精力,注冊一個賬號為別人解答問題也能極大提高個人能力。

          經典書籍熟讀之后,可以打開前面必備基礎技能部分的鏈接。認真讀對應標準,全面掌握知識

          繼續提高

          有了前面的基礎之后,前端基本算是入門了,這時候可能每個人心中都有了一些學習方向,如果還是沒有。 可以參考前面必備技能部分提到的那兩個項目,從里面選一些進行發展學習。以下是一些不錯的方面:

          Grunt:前端自動化工具,提高工作效率

          less css:優秀的CSS預處理器

          bootstrap:優秀的CSS框架,對沒有設計師的團隊很不錯,與less結合使用效果完美

          requirejs:AMD規范的模塊加載器,前端模塊化趨勢的必備工具

          Node.js:JavaScript也可以做后臺,前端工程師地位更上一步

          AngularJS:做Single Page Application的好工具

          移動端web開發:智能手機的普及讓移動端的流量正在逐步趕超PC端

          Javascript內存管理:SPA長期運行需要注意內存泄露的問題

          High Performance JavaScript(Build Faster Web Application Interfaces)

          Best Practices for Speeding Up Your Web Site:重要技能

          一些個人經歷

          LingyuCoder的學習經歷

          上面的大神都總結得差不多了,我這里就胡扯一些吧

          工具

          chrome dev tools:前端開發調試利器,著重注意幾個功能:

          console(廢話)

          elements:元素樣式調整,很常用

          sources:代碼中添加斷點,單步調試,以及單步調試過程中查看內存中的對象

          watch expression:通過表達式查看當前內存中的值

          call stack:查看調用棧,開啟async,可以看異步調用棧(這個非常有用,尤其是ajax調試的時候)

          scope variables:作用域鏈上的變量,非常有用

          network:抓包查看每個請求,非常重要,前后端聯調必備

          timeline:分析渲染、js執行等等各個階段,性能優化利器

          emulation:模擬移動端環境,mobile頁面開發必備

          一些插件:

          liveload: 修改頁面后自動刷新,不用按F5

          dimensions:直接在頁面上測量的利器

          livestyle:css樣式修改后自動起效果,不需要刷新,elements修改后也能同步到代碼中

          image tool:測量,取色

          UC二維碼:移動端調試掃碼必備

          pagespeed,YSlow:頁面性能分析和優化插件

          馬克飛象:優秀的在線markdown編輯器,快速寫周報,做記錄

          sublime text2:編碼方便,插件多,速度快,性能好

          emmet:提升html編碼速度必備

          sublimelinter + 各種語言的lint和hint:代碼糾錯

          一些snippets:自動補全,提升開發效率

          Intellij IDEA和WebStorm:集成開發環境,集成了各種功能,開發比sublime要方便,但會比較吃性能

          Mark Men:測量、取色、標注利器,拿到視覺稿之后第一個打開的軟件

          GFW Fucker:我用紅杏,可以的話買個虛擬服務器當梯子

          iHosts:非常優秀的hosts管理軟件,輕松修改hosts,開發調試必備

          Charles:Mac 平臺最好用的抓包分析工具

          Rythem:AlloyTeam出品的代理抓包軟件,非常輕量,安裝簡單,移動端(真機)開發調試很好用

          Wunderlist:一個非常不錯的Todo List,任務、需求多的時候管理起來很方便

          技能

          前端的技能其實除了JavaScript(包括NodeJS)、HTML、CSS以外,還有很多。其實前端的技能樹很大,這里只能列一些我開發中見到的說一說

          語言基礎

          JavaScript:

          作用域鏈、閉包、運行時上下文、this

          原型鏈、繼承

          NodeJS基礎和常用API

          CSS:

          選擇器

          瀏覽器兼容性及常見的hack處理

          CSS布局的方式和原理(盒子模型、BFC、IFC等等)

          CSS 3,如animation、gradient、等等

          HTML:

          語義化標簽

          進階

          JavaScript:

          異步控制(Promise、ES6 generator、Async)

          模塊化的開發方式(AMD、CMD、KMD等等)

          JavaScript解釋器的一些相關知識

          異步IO實現

          垃圾回收

          事件隊列

          常用框架使用及其原理

          jQuery:基于選擇器的框架,但個人認為不能叫框架,應該算工具庫,因為不具備模塊加載機制,其中源碼很適合閱讀鉆研

          AngularJS/Avalon等MVVM框架:著重理解MVVM模式本身的理念和雙向綁定的實現,如何解耦

          underscore:優秀的工具庫,方便的理解常用工具代碼片段的實現

          polymer/React: 組件化開發,面向未來,理解組件化開發的原理

          CSS和HTML:主要是CSS3的特性和HTML5的特性,以及瀏覽器處理的流程和繪制原理

          DOM樹、CSSOM樹、渲染樹的構建流程及頁面渲染的過程

          解析HTML、CSS、JavaScript時造成的阻塞

          HTML5相關

          SVG及矢量圖原理

          Canvas開發及動畫原理(幀動畫)

          Video和Audio

          flex box布局方式

          icon fonts的使用

          常用NodeJs的package:

          koa

          express

          underscore

          async

          gulp

          grunt

          connect

          request

          一些理念:

          響應式Web

          優雅降級、漸進增強

          dont make me think

          網頁可用性、可訪問性、其中的意義

          SEO搜索引擎優化,了解搜索引擎的原理

          SPA的好處和問題

          性能優化:

          減少請求數量(sprite、combo)

          善用緩存(application cache、http緩存、CDN、localstorage、sessionstorage,備忘錄模式)

          減少選擇器消耗(從右到左),減少DOM操作(DOM和JavaScript解釋器的分離)

          CSS的回流與重繪

          項目

          版本管理:首推Git,用過Git都不會想用SVN了

          Git:本地版本管理的機制

          SVN:遠程中心的版本管理機制

          自動化構建:主要就是less、模板、coffee等的預處理以及對代碼壓縮和合并

          Gulp:基于流構建,速度快、模塊質量好

          Grunt:獨立任務構建,速度慢,配置蛋疼,靈活性高

          預處理和模板引擎

          less:語法簡單,但功能有限

          jade、ejs、velocity等模板引擎,各有各的長處

          coffee:python工程師最愛,我沒用過

          環境搭建:主要是將線上代碼映射到本地,并在本地啟動一個demo服務器,至于模擬數據的mock,見仁見智了

          本地代理:ihosts

          自動化測試:在業務較為穩定的情況下,可以通過自動化測試來減少測試的事件,但需求較多的時候,維護測試用例的成本會很高,可能用自動化測試會起到反效果

          jasmine

          mocha

          生態系統

          npm

          bower

          spm

          搭建一個屬于自己的博客

          git pages

          hexo

          jekyll

          未來

          Web Componets:面向未來的組件化開發方式

          HTML模板

          Shadow DOM

          Custom Elements

          HTML Import

          移動端Native開發:這也是需要了解的,以后前端工程師會經常地和webview打交道,也要了解native開發

          其他

          有些東西不是考敲碼就能弄好的,我參與實習的時候感受到了很多,這些是我遇到的也是我感覺自己做的不好的地方

          對于業務的思考:我個人這方面非常欠缺,所以放在最前面,在敲碼前要多思考業務

          交流和溝通能力:這個非常重要,前端同時需要與項目經理、產品、交互、后臺打交道,溝通不善會導致很多無用功,延緩項目

          知識管理、時間管理:input和output的平衡,output是最好的input。如何做好分享,參與社區,做好交流,作好記錄

          對新技術的渴望,以及敢于嘗試

          入門書

          入門可以通過啃書,但書本上的東西很多都已經過時了,在啃書的同時,也要持續關注技術的新動態。這里推幾本我覺著不錯的書:

          《JavaScript高級編程》:可以作為入門書籍,但同時也是高級書籍,可以快速吸收基礎,等到提升再回來重新看

          《JavaScript權威指南》:不太適合入門,但是必備,不理解的地方就去查閱一下,很有幫助

          《編寫可維護的JavaScript》和:

          《Node.js開發指南》:不錯的Nodejs入門書籍

          《深入淺出Node.js》:Nodejs進階書籍,必備

          《JavaScript異步編程》:理解JS異步的編程理念

          《JavaScript模式》和《JavaScript設計模式》:JavaScript的代碼模式和設計模式,將開發思維轉變到JavaScript,非常好的書

          《JavaScript框架設計》:在用輪子同時,應當知道輪子是怎么轉起來的,講解很詳細,從源碼級別講解框架的各個部分的實現,配合一個現有框架閱讀,可以學到很多東西

          《Dont make me think》:網頁設計的理念,了解用戶行為,非常不錯

          《CSS禪意花園》:經久不衰的一部著作,同樣傳遞了網頁設計中的理念以及設計中需要注意的問題

          《高性能JavaScript》和《高性能HTML5》:強調性能的書,其中不只是性能優化,還有很多原理層面的東西值得學習

          《HTML5 Canvas核心技術》:我正在讀的一本書,對于canvas的使用,動畫的實現,以及動畫框架的開發都非常有幫助

          《HTTP權威指南》:HTTP協議相關必備,前端開發調試的時候也會經常涉及到其中的知識

          《響應式Web設計》:技術本身不難,重要的是響應式網頁的設計理念,以及移動先行的思想

          《JavaScript語言精粹》:老道的書,也是普及JavaScript的開發思維的一本好書,非常適合入門

          一些不錯的網站

          github:沒啥好說的,多閱讀別人的源碼,多上傳自己的源碼,向世界各地的大牛學習

          codepen:感受前端之美的必選之地,里面有很多酷炫的效果和優秀的插件

          echojs:快速了解js新資訊的網站

          stackoverflow和segmentfault:基本上各種問題都能在上面獲得解答

          google web fundamentals:每篇文章都適合仔細閱讀

          static files:開放的CDN,很好用

          iconfont:阿里的矢量圖標庫,非常不錯,支持CDN而且支持項目

          html5 rocks: 一個不錯的網站,很多瀏覽器的新特性以及前沿的技術,都能在這上面找到文章

          css tricks:如何活用CSS,以及了解CSS新特性,這里可以滿足你

          JavaScript 秘密花園 JavaScript初學必看,非常不錯

          w3cplus:一個前端學習的網站,里面的文章質量都挺不錯的

          node school:一個不錯的node學習網站

          learn git branch:一個git學習網站,交互很棒

          前端亂燉:一個前端文章分享的社區,有很多優秀文章

          正則表達式:一個正則表達式入門教程,非常值得一看

          阮一峰的博客和張鑫旭的博客:快速了解某些知識的捷徑,但是如果需要深挖,還需要其他的資源

          各路大牛的博客:這個太多了,就不貼了,知乎上有很全的

          各種規范的官方網站,不懂得時候讀規范

          歷程

          以前是做Java SSH的,半路出家做的前端,所以水平比較弱,遇到問題也比較多。基本上入門靠看書和W3C School上的教程,以及一些前端博客,如湯姆大叔的博客。以前也只是使用jQuery,原生js也沒有太多的鉆研,后來逐漸看了很多本動物書,比如老道的語言精粹等等。從這些書中學到了很多語言層面的知識。但這顯然是不夠的,所以我經常會去社區上看看大家在談論什么,然后去看看相關的資料,感興趣就會多找些資料看看,或者寫一寫demo。學CSS主要就是通過這種方式。后來開始更多的關注各路大牛的博客和一些比較深的書籍,以及關注一些新的知識和框架,并且不斷地練手提交代碼到github,這樣也學到了很多知識。在實習的過程中,切身參與到實際項目開發之中,能學到很多在學校學不到的理念和思維,這點也有很大的幫助。不說了,我要去搬磚求offer了…

          MrRaindrop的學習經歷

          應qiu神的邀請分享一下前端學習經驗,這里對前端知識體系架構就不做總結了,各位大神們的總結已經相當到位了,我就貢獻幾個個人認為還比較有用的鏈接大家研究研究就好,然后主要分享一下我在前端學習過程中遇到的問題和總結的經驗教訓吧,如果能幫到想要入門的FE初學者(我就姑且假定為本文的讀者受眾類型了),讓他們少走點彎路,每走一步都知道自己下一步的方向,這是最好了。各位大神的總結和分享詳見qiu神整理的FE-learning。

          先說下,前端這個東西每個人都可以有適合自己的學習方法,這篇僅作參考,寫的有點亂,各位湊合看。

          緣起

          我是屬于誤打誤撞進了前端,之前一直往做游戲的方向去來著,搞過游戲網站,玩過游戲引擎,比如unity,unreal這種商業引擎,搗鼓了幾個游戲原型,不過自打研一進了實驗室,直接就被導師派去寫了js,導師給了我半個月時間讓我寫個基于百度地圖api的數據展示頁面,雖然這個時間還是相當寬裕的,不過之前沒怎么寫過js,也不會用地圖api,于是我就一邊啃著《Javascript權威指南》(犀牛書)一邊參考實驗室前人留下的“代碼”,總算是把功能都寫出來了。那個頁面算我的js入門作了,也是我前端學習路線的開始。

          現在想來,雖然指派了去做前端,但是一直做下去并做好還是得靠興趣維持,當然前端是一個趣味性十足的技術領域,而且社區每天都很“熱鬧”。

          項目,下一個項目

          我個人認為前端的學習,初學階段你可以完全脫離開書本,以項目驅動。雖然我個人是從犀牛書開始啃的,不過如果你沒有充足的時間,或者覺得啃大部頭乏而無味的話,還是別像我這樣。當然了如果決定啃書最好是把書里的例子都跟著敲一遍的。我上研之前沒接觸過js,4月份還沒開學呢就被直接被導師甩了個百度地圖api的項目到臉上,接著就是各種ERP,地圖數據展示,雖然換著花樣來一點不重樣,不過基本上都是前端的活,SSH和android開發也打過醬油,整個實驗室就我一個人寫前端敢信?富客戶端SPA時代的后端就是一個restful接口,代碼量基本都在前端啊,寫的我一個人怎一個爽字了得…期間跟著導師感受了一把創業,每天從7點搞到晚上10點,也算是經歷了一段快速成長期。

          掌握一門技術先掌握它的大體框架,想一個能實現的點子,做一個能跑就行的demo,再去完善它的細節,等到demo完成了,對這門技術有了一個感性的認識,再去啃書,收獲會大很多。我從開始原生js寫到jquery,再到extjs,再到angularjs,從導師指定技術,到自己做技術選型,一個項目接著一個項目的練,就跟打怪升級似的。當然沒有項目就去自己創造項目,動手實現自己的想法是件有樂趣和成就感的事。

          收集癖和知識管理

          前端學習有個特點,很多東西都很零碎,分散,需要你自己去整理、歸納和總結。在微博、知乎上follow了眾多的大神,你不僅僅是為了聽八卦,大神們的只言片語有時候留下的是無盡的余味,很有可能一個不經意提到的一個詞就成為你下一個學習的目標。收集這些信息,善用google,提問,思考。就像游戲里的收集要素,前端學習也是充滿搜集要素的一個“游戲”,只不過你需要一個知識管理工具來充當物品欄和倉庫,我所知道的大牛們無一不是知識管理工具的重度使用者。以前用的oneNote,那時候還沒綁定到云存儲,現在基本上用evernote,筆記已經累計到1200+篇。書簽一直打算用delicious,因為它是基于tag管理的,但一直沒用起來。當然重點不在于這些工具,但是趁手的工具可以提高你的學習效率。最關鍵當然是隨時保持旺盛的學習欲望,你的目標是了解有關前端的一切(當然不是所有都要掌握,因為畢竟你的精力有限,而且現實的說這也不太可能)。

          跟對神

          這個可控性貌似不大…跟對老大這個就不多說了,一定程度要看造化。不過話說回來,多跟身邊的高手交流是王道,這個高手不一定要多高,但是一定要對技術有熱情。研一的時候熱情高漲,每天7點進實驗室門,然后發現有個家伙居然比我還早到。后來發現這家伙上午就走了,下午又來了,而且導師對此習以為常,原來這家伙晚上不睡覺通宵寫代碼,上午才跑回去睡。后來經常和這位神討論問題,每次感覺經驗值蹭蹭蹭的往上漲。然后實驗室還有一位神,被前面這位通宵神形容為“只能望其項背,一直在追趕,從來沒趕上”,兩位神的特點都是什么都了解一點,所以什么都能跟你討論得起來,我有段時間做了個讀書計劃,從c/c++到vc/mfc再到unix網絡編程,最后一路看到java核心技術和MSDN上的C#編程指南,和神們也能扯得很high了。

          總之就是這兩位神把我拉進了坑,或者說從一個坑跳進另一坑,雖然兩位神都不是搞前端的,不過技術之間總有相通之處。

          讀書

          讀書,多讀書,讀好書。在劉未鵬的博客里看到過一個公式,你第一個月的工資等于之前買過(讀過)的技術書價格總和(這里說的技術書指那些經典的公認的好書)。討論這個公式的正確性似乎沒什么意義,然而它的合理性是毋庸置疑的,那就是多讀經典技術書。最極端的一個例子,google的徐宥在我的大學里面說他掃蕩了圖書館的整個TP312書架…對于前端的經典書籍,后面列了一個我收集的前端書列(如果有遺漏的前端經典好書,還請留言告訴我),有條件可以嘗試刷一遍這些書,我也是在找完整的時間去啃完它們。之前說的,前端知識點松散,收集零散的知識點,從博客里快速學習等,這些只是前端學習的一個方面,如果你要想深入理解一個知識體系,了解它的來龍去脈,對它建立系統認識,讀經典書還是必不可少的。

          我從最開始啃完犀牛書,然后接著去看了其他一些和前端干系不大的經典技術書,再后來通過實驗室的項目和自己弄的一些小項目逐漸對前端領域比較上路以后,又看了《Javascript模式》、《Javascript設計模式》、《編寫可維護的Javascript》,后來了解到node并開始用node搞點小玩意兒,又看了本《NodeJS up and run》和《Mongodb權威指南》,不過感覺前者略坑。那會兒樸靈那本深入淺出(曬書么么噠)還沒出,后來出了就去圖書館借來看完,這么看下來感覺還不錯,不過感覺看的還是偏少了,還需要繼續刷(參照上面的書列)。

          前端的定位

          前端的定位關乎到你需要吸收什么樣的知識和技能,決定在技術世界里你對什么需要格外敏感。如果你認為前端僅僅停留在切頁面,實現交互和視覺的要求,那你對前端的認識還停留在初級階段。阿里終面的時候我問了考官這么個問題:前端技術日新月異,范圍越擴越寬,標準越來越豐富,似乎任何一個觸角都能伸出很遠。怎么給前端一個合適的定位?考官給我分析了半天,然后總結成一句話,就是用戶和網站的聯結者,用戶體驗的創造者(原話不是這樣,但大體是這個意思)。也就是說前端的終極目標其實就是創造用戶體驗,提升用戶體驗,以用戶體驗為中心。不管你是從交互設計上下手,還是從性能優化出發,或者改進工作流提升工作流效率,最終都是為了創造和提升用戶體驗,最終都要體現到用戶體驗這一點上來。我認為這個總結非常有道理(當然“用戶體驗”這個詞太寬泛了,并且不僅僅是前端工程師的范疇,比如開發后臺的時候對一個數據處理過程進行優化,提升了整體性能,這也是對用戶體驗的一個提升)。

          現在的前端工程師做到一定階段不可避免會接觸到很多比切頁面、實現視覺要求、實現交互等更深入的問題,比如前端自動化、圖像編程、性能優化等等,再往后推一點就是PHP/JSP/ASP/nodeJs,過去后端模板一般屬于后端的范疇,現在隨著前端架構的演進,可能會讓你去寫后端模板的代碼,需要用到后端語言(PHP/Java/C#等),這就是所謂大前端(然而這與前端的定位并不是相背離的,大前端處理的依然是與用戶接觸的部分,仍然是對用戶體驗的優化)。可能最常見或者被談論最多的就是node,其實這幾種技術選型都可以,bat三家據說百度用PHP比較多,阿里用node比較多。

          玉伯在他的博客里提過所謂全端是橫向的,全棧是縱向的。全端即所有的終端說白了都是前端,因為都關乎到用戶體驗,直接和用戶接觸。適應多終端的開發,要求你在web前端的基礎上,可能還要去擴展android開發和ios開發的知識,好在由于hybrid開發方式的流行,對使用native語言開發的技能會要求的不那么深入。

          全棧可以說是最適合初創公司的一種發展類型,廣義上認為是從前端干到后端,從開發干到運維,這種就不說了,一般人應該不會想要去往這個方向發展,想要成為這種意義上的full-stack dev的,可能用不著來看我這篇文章了;而狹義上的全棧特指使用js語言從前端寫到架設在nodeJs上的后端,前后端統一語言,統一編程模型,甚至公用同一套代碼。更多了解全棧開發可以看看玉伯這篇說說全棧工程師。

          以上是我對前端以及衍生出來的技術路線的一些淺薄理解,學習一個領域掌握它的整體上的走向和趨勢還是挺重要的。另外如果想要對前端學習方向、職業成長路徑有一個整體的認識,推薦看看拔赤總結的這篇前端開發十日談。

          最后

          貢獻幾個對前端學習、面試有幫助的鏈接:

          前端面試問題合集(Front-end-Developer-Interview-Questions)(https://github.com/darcyclarke/Front-end-Developer-Interview-Questions)

          前端技能匯總(JacksonTian)(https://github.com/JacksonTian/fks)

          另一張前端技能匯總圖(http://www.f2er.info/)

          前端那點事兒(書列)(http://book.douban.com/doulist/13701898/)

          byr論壇yiyizym的建議

          與grunt相比,學習gulp會比較簡單

          做SPA的話,推薦backbone.js和 backbone.marionette.js

          FQ不用折騰,花十塊錢買一個月的 紅杏。

          把基礎打扎實了再學這些都沒問題。

          html 沒什么好說的,有空學學html5。

          css 盡量看文檔 ,因為很多中文資料都各執一辭,看多了反而會糊涂。

          有個網站可以查找html/css標簽、屬性在各個瀏覽器中的支持情況,挺好用的。

          javascript 就看 javascript高級程序設計 。不過這么厚的書看過就會忘。對javascript核心概念的講解:對象/原型鏈/ 構造函數/執行上下文/作用域鏈/閉包/this,這里有篇不錯的文章。

          有閑情可以看看 ecmascript 6,計劃明年6月就發布啦。阮一峰的網站有入門資料。

          jquery 有很多 API,這個網站可以方便查到。有時間弄清楚jquery deferred 的用法。

          多給 sublimetext 裝插件,比如說檢查代碼錯誤的


          主站蜘蛛池模板: 在线观看国产区亚洲一区成人| 丰满岳乱妇一区二区三区| 精品无码国产AV一区二区三区| 久久99精品国产一区二区三区 | 久久高清一区二区三区| 国产成人一区二区三区电影网站| 亚洲综合无码AV一区二区| 午夜AV内射一区二区三区红桃视| 99久久国产精品免费一区二区 | 国模少妇一区二区三区| 中文字幕乱码一区久久麻豆樱花| 亚洲福利视频一区二区| 无码视频一区二区三区| 久久综合亚洲色一区二区三区| 一区二区在线播放视频| 精品免费AV一区二区三区| 精品无码一区二区三区爱欲| 日本一区二区三区不卡视频中文字幕| 中文乱码人妻系列一区二区| 中文字幕一区二区三区久久网站| 日韩人妻无码一区二区三区99| 久久精品国产一区二区三区日韩| 国产凹凸在线一区二区| 国产亚洲综合一区柠檬导航| 国产在线一区二区三区| 国产成人精品一区二区秒拍| 国产精品福利一区二区| 精品一区二区三区| 东京热无码一区二区三区av| 国产综合无码一区二区三区| 日韩免费无码视频一区二区三区 | 国产一区美女视频| 中文字幕亚洲一区| 91久久精品无码一区二区毛片| 国产精品日韩欧美一区二区三区| 国产精品亚洲专区一区| 制服丝袜一区二区三区| 无码乱码av天堂一区二区 | 成人精品一区二区三区中文字幕| 天堂国产一区二区三区| 日韩精品福利视频一区二区三区|