A. 我想做一個高級程序員,需要學什麼.全面的
高級程序員?
如果你現在一點都不懂的話應該從最基本的學起.
先學c語言,數據結構,資料庫基本的.
c語言是軟體入門,如果想了解點硬體的話看看數字邏輯電路,是硬體入門.
學完c語言學c++,java之類的語言就容易學了,然後再學點
如果想系統的學習,可就比較多了.有一些基本的課程,比如離散數學之類的數學課程是計算機專業的基礎課,可以了解了解.
下一步學學計算機組織與結構,操作系統,軟體工程,UML建模的課程.
至於做b/s結構的程序,asp,php之類的比較容易學,很短時間就可以學會.
最後如果想提升的話學學軟體項目管理,J2EE架構等課程.
一時想不起來太多了,就寫這些吧
B. 程序員如何學習
沒有捷徑,只有靠多寫代碼
但是要寫有用的代碼,不能老是寫一樣的,所以重構項目是一種很提升水平的經歷,每隔一兩年最好能參與一次這種優化代碼的機會。
還有就是多讀書,經典代碼讀物比如《代碼大全》,這本書適合5年以內程序員看
C. 一個高級Java程序員必須學習哪些技術
1、Java語言的基礎掌握
這部分內容包括Java的面向對象開發的特徵,JVM的結構以及Java
Web開發的體系結構等內容。這部分內容雖然都比較基礎,但是細節卻比較多,包括Java性能優化、Java並發開發、Java操作資料庫、Java
Web開發標准、Java網路開發、Java序列化等一系列內容。
2、Java分布式開發
對於Java語言來說,分布式開發是Java一個重要的內容,由於Java一個很重要的應用場景就是大型網路平台的後端開發,而後端開發一個重要的基礎就是構建一個健壯的分布式開發框架。Java的分布式開發比較考驗程序員解決問題的能力,從早期的RMI、SOAP到目前採用的分布式框架(bbo、zookeeper)以及Spring
Boot和Spring Cloud的使用,這些技術的運用是Java高級程序員必須掌握的。
3、場景解決方案
對於一名Java高級程序員來說,在不同的場景下要有不同的方案,這也是非常重要的。要能夠根據具體的需求完成不同技術方案的實現過程,這是Java高級程序員經驗的一個直接體現。
D. 一個優秀的程序員必須學習什麼課程呢
一個優秀的程序員必須不斷學習的課程:
1、專業的的理論教程,系統的知識學習面。
要成為一名出色的程序員,從數據結構、演算法。資料庫都需要系統全面的了解和認識,並可以靈活運用。對自己所從事的編程語言要靈活調用。
2、不斷嘗試,樂於挑戰。
編程高手都是從不斷的失敗和嘗試中走出來的,所以對於一個剛入門的新手來說,任務就是不斷的去編程,發現自身存在的缺陷,以及更熟練的掌握各種數據介面的調試和數據調用的應用。
3、好學,不恥下問。
成功都是建立在無數次嘗試的基礎上的,同時也需要利用前輩們已經得出的一些規律,盡量的少走彎路。
4、保持良好的心態。
編程每天對著的都是一些枯燥的單詞以及數據,所以保持一個良好的心態是至關重要的,只有擁有一個良好的心態,才是端正自己學習和勤奮的根本。
5、善於從生活中發現需求。
每一個程序都是為了滿足網名的一種需求,所以發現網名的的需求,並把這種需求利用程序解決,可以極大的促進自己的職業發展。
6、擴大自己的視野。
編程的同時,我們也要緊跟時代的步伐,學習更多的前進的經驗以及技術,更好的為自己所用。
以上,可以總結為《一個優秀程序猿的自我修養》。
E. 我想成為一名高級程序員,請問要學習什麼知識呢
程序員可以分為很多種,像Unix程序員、Windows程序員,或是C++程序員、Delphi程序員,等等。今天我想談的是Web程序員,一名真正的Web程序員應該懂得那些方面的知識,應該注意學習哪些東西。
也許有些朋友會說,我知道Asp、Jsp,會做網站、會做bbs,這應該叫Web程序員了吧。確實,我承認,這些技術是一名Web程序員應該具備的;但是,你如果僅懂得這些,卻只能叫做Asp程序員、Jsp程序員,而不是真正意義上的Web程序員。現在的世界是屬於Internet的,大部分的應用基於Internet,大家可以想想,像Yahoo、Microsoft、Amazon那樣的網站,其訪問量之大、應用之復雜,需要什麼樣的技術才可以支撐,難道僅僅是硬體的功勞么。
我想在Windows平台下來談談Web程序員應該掌握的技術
1. 首先,就是上面提到的各種腳本,asp、jsp、php等等,這些東西大同小異,基本可以舉一反三。
2. 資料庫,
相信做Web的人肯定用過,像Access、Sql Server、Oracle。很多人會用各種資料庫,但是僅限於寫一些sql,select、update、insert,用ADO來操作,如果這樣,就算會用100種資料庫又有什麼用呢?
你應該考慮用戶量、訪問速度、內存消耗,這些東西和你的sql密切相關,我經常見到很多分頁程序根本不去考慮資料庫中有多少條數據,統統select出來,很明顯,當你從資料庫中查出1萬條數據和100條數據,佔用的內存是不同的。
另外,資料庫連接池和事務機制是非常重要的,應該知道資料庫用什麼來保證事務,連接池如何實現,這些都是商務應用的關鍵。譬如,目前很多的應用服務,像weblogic、MTS,都包含事務處理,可以說好的事務處理決定了他們的競爭力。
3. 組件技術
我想是現在的Web應用推動了組件技術的發展。以前,從老式的靜態庫、動態庫(dll),到現在的COM/DCOM,再到正在興起中的Web Service;從單機調用,到基於內部網的分布式調用,到現在基於Internet的分布式計算。現在的應用都是基於組件的n層結構,最明顯的就是COM和JavaBean。
這些東西體現了軟體架構的發展,以前是基於單機的應用,然後是C/S結構,到現在的B/S結構。我記得李維曾經說過,程序員一定要注意軟體技術的發展趨勢,只有這樣,才不至於被淹沒在技術的洪流中。我想,作為Web程序員,一定要明白COM的原理,如何實現這種調用、如何進行分布式調用。說實話,我覺得COM還是比較復雜的,否則微軟為什麼要提供ATL和VB呢,要搞明白,應該學學C++,因為VC中提供的ATL庫可以很明顯的說明COM的內部運行機制。
4. 網路技術
這可以說是Web程序員最應該懂得東西。起碼,應該知道Web伺服器的機制,要明白Http協議。就拿IIS來說,要懂得web應用程序運行的進程安全和IIS的關系,懂得ISApi的作用。
如果有時間,就看看TCP/IP,看看winsock,這些都是底層的網路的東西。
我所說的這些都是基於微軟技術下的東西,其他的像Java方面的東西都可以對照參考,就不多說了,這也是我這幾年來的一些心得。總之,學海無涯,每當接觸一些新的東西,就會發現自己的不足,同時也就覺得基礎知識的重要。說實話,像我們做應用開發,用別人的東西,在現在這種情況下,新的技術層出不窮,稍不注意就會被甩開,這也是沒有辦法的事情。
F. 程序員高級深入應該學習哪些知識
安博志遠課程設置 1、C++ / Java 和面向對象我個人以為學好C++,Java也就是舉手之勞。但是C++的學習曲線相當的陡。不過,我覺得C++是最需要學好的語言了。參看兩篇趣文「C++學習信心圖」 和「21天學好C++」學習(麻省理工免費課程)C++面向對象編程讀我的 「如何學好C++」中所推薦的那些書至少兩遍以上(如果你對C++的理解能夠深入到像我所寫的《C++虛函數表解析》或是《C++對象內存存局(上)(下)》,或是《C/C++返回內部靜態成員的陷阱》那就非常不錯了)然後反思為什麼C++要干成這樣,Java則不是?你一定要學會對比C++和Java的不同。比如,Java中的初始化,垃圾回收,介面,異常,虛函數,等等。實踐任務:用C++實現一個BigInt,支持128位的整形的加減乘除的操作。用C++封裝一個數據結構的容量,比如hash table。用C++封裝並實現一個智能指針(一定要使用模板)。《設計模式》必需一讀,兩遍以上,思考一下,這23個模式的應用場景。主要是兩點:1)鍾愛組合而不是繼承,2)鍾愛介面而不是實現。(也推薦《深入淺出設計模式》)實踐任務:使用工廠模式實現一個內存池。使用策略模式製做一個類其可以把文本文件進行左對齊,右對齊和中對齊。使用命令模式實現一個命令行計算器,並支持undo和redo。使用修飾模式實現一個酒店的房間價格訂價策略——旺季,服務,VIP、旅行團、等影響價格的因素。學習STL的用法和其設計概念 - 容器,演算法,迭代器,函數子。如果可能,請讀一下其源碼。實踐任務: 嘗試使用面向對象、STL,設計模式、和WindowsSDK圖形編程的各種技能 做一個貪吃蛇或是俄羅斯方塊的游戲。支持不同的級別和難度。做一個文件瀏覽器,可以瀏覽目錄下的文件,並可以對不同的文件有不同的操作,文本文件可以打開編輯,執行文件則執行之,mp3或avi文件可以播放,圖片文件可以展示圖片。學習C++的一些類庫的設計,如: MFC(看看候捷老師的《深入淺出MFC》),Boost, ACE, CPPUnit,STL (STL可能會太難了,但是如果你能了解其中的設計模式和設計那就太好了,如果你能深入到我寫的《STL string類的寫時拷貝技術》那就非常不錯了,ACE需要很強在的系統知識,參見後面的「加強對系統的了解」)Java是真正的面向對象的語言,Java的設計模式多得不能再多,也是用來學習面向對象的設計模式的最佳語言了(參看Java中的設計模式)。推薦閱讀《Effective Java》 and 《Java解惑》學習Java的框架,Java的框架也是多,如Spring, Hibernate,Struts 等等,主要是學習Java的設計,如IoC等。Java的技術也是爛多,重點學習J2EE架構以及JMS, RMI, 等消息傳遞和遠程調用的技術。學習使用Java做Web Service (官方教程在這里)實踐任務: 嘗試在Spring或Hibernate框架下構建一個有網路的Web Service的遠程調用程序,並可以在兩個Service中通過JMS傳遞消息。C++和Java都不是能在短時間內能學好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學習經歷是:深究C++(我深究C/C++了十來年了)學習Java的各種設計模式。2、加強系統了解重要閱讀下面的幾本書:《Unix編程藝術》了解Unix系統領域中的設計和開發哲學、思想文化體系、原則與經驗。你一定會有一種醍醐灌頂的感覺。《Unix網路編程卷1,套接字》這是一本看完你就明白網路編程的書。重要注意TCP、UDP,以及多路復用的系統調用select/poll/epoll的差別。《TCP/IP詳解 卷1:協議》- 這是一本看完後你就可以當網路黑客的書。了解乙太網的的運作原理,了解TCP/IP的協議,運作原理以及如何TCP的調優。實踐任務:理解什麼是阻塞(同步IO),非阻塞(非同步IO),多路復用(select, poll, epoll)的IO技術。寫一個網路聊天程序,有聊天伺服器和多個聊天客戶端(服務端用UDP對部分或所有的的聊天客戶端進Multicast或Broadcast)。寫一個簡易的HTTP伺服器。《Unix網路編程卷2,進程間通信》信號量,管道,共享內存,消息等各種IPC…… 這些技術好像有點老掉牙了,不過還是值得了解。實踐任務:主要實踐各種IPC進程序通信的方法。嘗試寫一個管道程序,父子進程通過管道交換數據。嘗試寫一個共享內存的程序,兩個進程通過共享內存交換一個C的結構體數組。學習《Windows核心編程》一書。把CreateProcess,Windows線程、線程調度、線程同步(Event, 信號量,互斥量)、非同步I/O,內存管理,DLL,這幾大塊搞精通。實踐任務: 使用CreateProcess啟動一個記事本或IE,並監控該程序的運行。把前面寫過的那個簡易的HTTP服務用線程池實現一下。寫一個DLL的鉤子程序監控指定窗口的關閉事件,或是記錄某個窗口的按鍵。有了多線程、多進程通信,TCP/IP,套接字,C++和設計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP伺服器(帶線程池)實踐任務: 通過以上的所有知識,嘗試 寫一個服務端給客戶端傳大文件,要求把100M的帶寬用到80%以上。(注意,磁碟I/O和網路I/O可能會很有問題,想一想怎麼解決,另外,請注意網路傳輸最大單元MTU)了解BT下載的工作原理,用多進程的方式模擬BT下載的原理。3、系統架構負載均衡。HASH式的,純動態式的。(可以到Google學術里搜一些關於負載均衡的文章讀讀)多層分布式系統 – 客戶端服務結點層、計算結點層、數據cache層,數據層。J2EE是經典的多層結構。CDN系統– 就近訪問,內容邊緣化。P2P式系統,研究一下BT和電驢的演算法。比如:DHT演算法。伺服器備份,雙機備份系統(Live-Standby和Live-Live系統),兩台機器如何通過心跳監測對方?集群主結點備份。虛擬化技術,使用這個技術,可以把操作系統當應用程序一下切換或重新配置和部署。學習Thrift,二進制的高性能的通訊中間件,支持數據(對象)序列化和多種類型的RPC服務。學習Hadoop。Hadoop框架中最核心的設計就是:MapRece和HDFS。MapRece的思想是由Google的一篇論文所提及而被廣為流傳的,簡單的一句話解釋MapRece就是「任務的分解與結果的匯總」。HDFS是Hadoop分布式文件系統(Hadoop Distributed File System)的縮寫,為分布式計算存儲提供了底層支持。了解NoSQL資料庫(有人說可能是一個過渡炒作的技術),不過因為超大規模以及高並發的純動態型網站日漸成為主流,而SNS類網站在數據存取過程中有著實時性等剛性需求,這使得目前NoSQL資料庫慢慢成了人們所關注的焦點,並大有成為取代關系型資料庫而成為未來主流數據存儲模式的趨勢。當前NoSQL資料庫很多,大部分都是開源的,其中比較知名的有:MemcacheDB、Redis、Tokyo Cabinet(升級版為Kyoto Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。寫了那麼多,回顧一下,覺得自己相當的有成就感。希望大家不要嚇著,我自己這十來年也在不斷地學習,今天我也在學習中,人生本來就是一個不斷學習和練級的過程。不過,一定有漏的,也有不對的,還希望大家補充和更正。 關鍵字: 程序員高級深入
G. Java程序員都需要學習什麼
據我所知java編程需要學習面向對象、基本語法、JSP、WebServer以及常用的Java開發工具和常用框架等知識。學習java編程可以使用JBuilder、IDEA、Eclipse等工具。
如果有C++等面向對象語言的開發經驗,可以簡單的翻看一下介紹JAVA的相關書籍就可以了。如果是新手就需要花時間好好研究一下Java的語法了
做JAVA程序員都少不了和JSP以及HTML打交道。因此,想成為JAVA程序員就不可避免的要熟悉JSP和HTML,最好能知道JSP的幾個內置對象,如Session,Request,Reponse,以及常用的JSP標簽,如include,userBean等。如果再熟悉一下JS和CSS就更好了,那會使得製作的頁面更友好。
熟悉了以上這些已經可以製作出來JSP頁面了,但是頁面總要跑起來才能看到它的效果,這就要求必須熟悉一種WebServer,比如:TOMCAT,RESIN等。要學會如何發布應用,如何利用WebServer的資料庫資源等。
想要創維一名優秀的Java程序員,建議找一家專業軟體培訓機構學習,我推建AAA軟體教育集團,AAA教育集團(隸屬於深圳市漫動者教育科技有限公司),成立於2007年,專業從事高端計算機職業教育工作,是國內知名的教育品牌。集團創立以來,依託先進的辦學理念,AAA培養出數萬名專業性、實戰型高端技術人才,被業界譽為「互聯網金領生產基地」。
H. 月薪20k以上的高級程序員需要學習哪些技術
源碼分析、
分布式架構、
微服務架構、
性能優化、
團隊協作效率、
高並發項目實踐。
請採納!
I. 想成為一個程序員應該學習什麼知識
程序員需要學習程序的邏輯,其次是需要學習編程的語言,這才是最根本的,有了語言才能和計算機「溝通」
如果做一個專業的程序員:
1.基礎語言知識 :從底層的ASM 到結構化的C,到面向對象的C++ JAVA,如果不能都精通,但是要了解,至少要精通一門
2.基礎數學知識: 高等數學(數學分析) 線性代數 離散數學,概率.數理統計等等
3.基礎計算機原理:操作系統原理,微機原理,編譯原理 資料庫原來等等
J. 成為一個python 程序員要學習什麼
一、認識Python,熟悉Python的安裝及配置,找一些入門資料進行查看學習。
二、學習一些簡單Python程序,注重對其理解,把握Python的一個整體認知。
三、了解Python數據類型,注重編程能力:
1、基本數據類型、數據類型的轉換
2、控制流程、if、if elif、for循環、while循環
3、函數
四、掌握Python設計思想
1、類的定義(類的初始化、類的實例化)
2、類實例屬性(數據屬性、方法屬性)
3、繼承
五、Python基礎中不可忽視的高級專題,這是具有區分能力薪資大小版的專題
1、異常(異常的抓捕和修復)
2、文件輸入輸出(文件對象、文件的讀寫)
3、模塊的使用
4、迭代器、生成器、裝權飾器
5、正則表達式