導航:首頁 > 程序命令 > 學了三年的程序員

學了三年的程序員

發布時間:2023-03-04 01:44:45

A. 工作3年的java程序員應該掌握哪些技能

1、基本語法
這包括static、final、transient等關鍵字的作用,foreach循環的原理等等。
2、集合
非常重要,基本上就是List、Map、Set,各種實現類的底層實現原理,實現類的優缺點。
集合要掌握的是ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的實現原理,
(1)ConcurrentHashMap的鎖分段技術
(2)ConcurrentHashMap的讀是否要加鎖,為什麼
(3)ConcurrentHashMap的迭代器是強一致性的迭代器還是弱一致性的迭代器
3、設計模式
設計模式在工作中是非常重要、非常有用的,23種設計模式中重點研究常用的十來種就可以了,面試中關於設計模式的問答主要是三個方向:
(1)你的項目中用到了哪些設計模式,如何使用
(2)知道常用設計模式的優缺點
(3)能畫出常用設計模式的UML圖
4、多線程
假如有Thread1、Thread2、Thread3、Thread4四條線程分別統計C、D、E、F四個盤的大小,所有線程都統計完畢交給Thread5線程去做匯總,應當如何實現?
聰明的網友們對這個問題是否有答案呢?不難,java.util.concurrent下就有現成的類可以使用。
另外,線程池在面試中也是比較常問的一塊,常用的線程池有幾種?這幾種線程池之間有什麼區別和聯系?線程池的實現原理是怎麼樣的?實際一些的,會給你一些具體的場景,讓你回答這種場景該使用什麼樣的線程池比較合適。
最後,雖然面試問得不多,但是多線程同步、鎖這塊也是重點。synchronized和ReentrantLock的區別、synchronized鎖普通方法和鎖靜態方法、死鎖的原理及排查方法等等,關於多線程,
5、JDK源碼
要想拿高工資,JDK源碼不可不讀。總結一下比較重要的源碼:
(1)List、Map、Set實現類的源代碼
(2)ReentrantLock、AQS的源代碼
(3)AtomicInteger的實現原理,主要能說清楚CAS機制並且AtomicInteger是如何利用CAS機制實現的
(4)線程池的實現原理
(5)Object類中的方法以及每個方法的作用
6、框架
老生常談,面試必問的東西。一般來說會問你一下你們項目中使用的框架,然後給你一些場景問你用框架怎麼做,比如我想要在Spring初始化bean的時候做一些事情該怎麼做、想要在bean銷毀的時候做一些事情該怎麼做、MyBatis中$和#的區別等等,這些都比較實際了,平時積累得好、有多學習框架的使用細節自然都不成問題。
7、資料庫
一些基本的像union和union all的區別、left
join、幾種索引及其區別就不談了,比較重要的就是資料庫性能的優化,如果對於資料庫的性能優化一竅不通,那麼有時間,還是建議你在面試前花一兩天專門把SQL基礎和SQL優化的內容准備一下。
8、數據結構和演算法分析
數據結構和演算法分析,對於一名程序員來說,會比不會好而且在工作中絕對能派上用場。數組、鏈表是基礎,棧和隊列深入一些但也不難,樹挺重要的,比較重要的樹AVL樹、紅黑樹,可以不了解它們的具體實現,但是要知道什麼是二叉查找樹、什麼是平衡樹,AVL樹和紅黑樹的區別。
9、Java虛擬機
Java虛擬機中比較重要的內容:
(1)Java虛擬機的內存布局
(2)GC演算法及幾種垃圾收集器
(3)類載入機制,也就是雙親委派模型
(4)Java內存模型
(5)happens-before規則
(6)volatile關鍵字使用規則

B. 在一線城市上班的程序員,3年後平均工資是多少

程序員的行業根據環境,地域,行情,技術等因素來決定薪資,所以除了專業的數據分析平台,我個人只能給出一個大概的范圍吧:

雖然小明知道現在的待業已經不算高了,但是重在安逸穩定,所以他並沒有跳槽的想法,哪怕看到網上一些言論說四年的工資多少,他也直接無視,但是程序行業日新月異,老東家堅持不住了,倒閉了,於是小明又要重新找工作了,這個時候的小明五年工作經驗,稅前16k,於是他寫簡歷,因為他有資歷,了解了現在的行情,洋洋灑灑寫了一份很精緻的簡歷附上期望月薪30k,可是面試的過程並不順利,很多問題他都答不上來,要麼就是基礎忘記了,要麼就是新技術他不會,於是他開始迷茫了~~

C. 一個剛做Java程序員如何規劃自己的3年計劃

我來給你一個好的回答吧,也算是經驗之談。
1。如果是初學者,那麼一定需要多多增加基礎知識,thinking in java等都是不錯的書。
2。盡量多多學習一下整個JAVA EE的知識,畢竟單獨用JAVA的不是太多。
3。看代碼,讀代碼,學代碼,經常去CSDN上面回答別人的問題,不會回答的,自己在網上找,盡量幫別人回答。
4. 爭取一年內 熟悉常用技術。

第二年,跳槽,一定選擇一個好的公司,大的公司,工作累的公司,別在乎工資。
如果你在上海,建議加入上海惠普GDCC。
在HP呆兩年,再次跳槽。

此時你在HP的兩年,已經不需要你計劃什麼了,你已經成為一個優秀的程序員了,當然 算不上是高級的。

第四年,再次跳槽,這次要選擇比較精確了,emc oracle ptc 等(工資一定要高,越高越好)都是可以選擇的公司,然後呆5年。 你會發現之前3年的東西非常有用,而且可以學到另外更加實用的東西。

後面的沒經驗了,也在摸索中。。

祝福你。。

另外 IDE一定要熟悉。項目管理要熟悉。

OK

D. 程序員需要學些什麼

程序員的崗位需求很多,例如大型網路公司、軟體開發公司等等都需要程序員。

程序員需要學習:

1、掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;

2、理解計算機的組成以及各主要部件的性能指標;

3、掌握操作系統、程序設計語言的基礎知識;

4、熟練掌握計算機常用辦公軟體的基本操作方法;

5、熟練掌握基本數據結構和常用演算法;

6、熟練掌握C程序設計語言,以及C++、Java、Visual Basic中的一種程序設計語言;

7、熟悉資料庫、網路和多媒體的基礎知識;

8、掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;

9、了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;

10、了解信息化、計算機應用的基礎知識;

11、正確閱讀和理解計算機領域的簡單英文資料。

程序員必備技能:

1、熟練開發工具

做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。

而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。

其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。

另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

2、熟知資料庫

作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。

雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。

3、了解操作系統

當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。

要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。

Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。

在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式。

從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。

至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。

4、明白DCOM/CORBA/XML/WEBServices存在的意義

隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。

XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。

5、不要將軟體工程與CMM分開

大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員。

一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能。

如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。

6、需求理解能力

程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。

要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。

7、模塊化思維能力

作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。

這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。

就業方向:

1、網路開發

現在網路已經成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發語言大部分是用作網路開發方面。

2、企業軟體開發

JAVA、C#、VB這幾類開發語言都實現了面向對象開發的目標,更多時候用於企業系統的開發。

3、系統軟體

C語言、C++、Object-C這些軟體更多是用在系統軟體開發,嵌入式開發的方面。

當然,這分類不是絕對,像JAVA、C#、VB很多時候也用於動態網站的開發。在很開發項目都會使用集成開發的方式,同一個項目裡面使用多種開發語言,各展所長,同步開發。

但所以在剛入門的時候,建議先為自己選擇一種合適的開發工具,「專注地投入學習,全力一擊」。


(4)學了三年的程序員擴展閱讀:

會編程、會計算機語言就能加入互聯網發展大潮中,享受數字經濟發展的紅利,一時間社會上的程序員培訓機構都變得格外火爆。

但是現在,專家的數據分析結果告訴你:若想跟上數字經濟發展的步伐,光會編程可不行,這個行業現在緊缺高端的、綜合型人才。

11月22日下午,清華大學經管學院互聯網發展與治理研究中心與領英聯合發布《中國經濟的數字化轉型:人才與就業》,揭示我國數字人才現狀與趨勢。

報告顯示我國數字經濟發展面臨人才短缺的挑戰,但這種短缺主要體現在擁有中高級專業技能數字人才的比例不高,擁有人工智慧、智能製造等前沿技術的人才更是少之又少。

與美國、英國、加拿大等國家相比,中國的數字人才儲備尚有很大差距。

此外,報告根據對人才需求的數據分析,結果顯示我國數字人才的技能需求不再強調單一編程技能,更加看重技術、管理和領導力等綜合技能。

2015年,我國從事信息傳輸、軟體和信息技術服務相關工作的人數約350萬,但其中中高端人才,特別是前沿技術的數字人才並不多。根據領英中國智庫的研究,在人工智慧領域,美國的從業者數量在85萬人以上,印度15萬,英國14萬,中國只有5萬多人。

報告負責人、清華大學經濟管理學院副院長陳煜波教授表示,我國目前在大數據與人工智慧領域人才缺口明顯。

他解釋說,目前中國85%以上的數字人才分布在產品研發類,而深度分析、先進製造、數字營銷等職能的人才加起來只有不到5%,存在較大缺口,新興技術人才和創新型人才培養方面存在滯後和不足。

這份研究報告的基礎數據來自領英在中國的3600萬個人用戶,這些用戶畢業於1.5萬多所國內外院校,分布在36.4萬家企業,擁有超過2.3萬項技能。

陳煜波研究團隊從中篩選了72萬數字人才,多維度提取用戶畫像並跟蹤其職業軌跡,以此預測不同地區的人才流向、僱傭率、受僱主歡迎的技能等人才趨勢層面的信息。

陳煜波說,根據數據分析結果,整體來看,雖然編程技能和數據分析技能需求占據主導,然而隨著數字產業走向成熟,企業除了強調編程技能,也逐步更加看重人才的技術、管理和領導力等綜合技能。

近年間,項目管理、產品運營等「技術+管理」類技能的需求呈現出明顯的上升趨勢,懂技術、懂管理的人才被認為是「一將難求」。

領英中國代理總裁曾志恆也提醒,如果你有興趣向數字職能轉型,不能僅僅專注於自己的技術能力,溝通和領導力等軟性技能將成為你脫穎而出的關鍵。

陳煜波希望這些研究結果能為教育行業和政府部門提供借鑒。他說,教育行業可根據職位的供需趨勢更好地規劃人才培養的方向,政府也可更好地了解人才流動方向、技術缺口等,以此制定有針對性的引才策略。

程序員崗位職責:

1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。

2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。

3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。

4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。

5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。

6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。

7、負責相關技術文檔的擬訂。

8、負責對業務領域內的技術發展動態進行分析研究。

相關書籍:

很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。

其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。

下面就按照各本書的推薦數排列。

1、《代碼大全》 史蒂夫·邁克康奈爾

2、《程序員修煉之道》

3、《計算機程序的構造和解釋》

4、《演算法導論》

5、《重構:改善既有代碼的設計》

6、《設計模式》

7、《人月神話》

8、《計算機程序設計藝術》

9、《編譯原理》(龍書)

10、《活著》

E. 工作三年的java程序員應該拿多少工資

工作三年的程序員拿多少工資,其實你可以去招聘網站看看企業的招聘信心的,基本上只要你是正常努力的人,不是那種在公司混日子的人,工作三年,工資在一萬五是沒有問題的。
不過話說回來,工作年限是一方面,更多的還是看你的努力程度,有的人工作一年就能達到你工作三年的技術水平,有的剛畢業就比你工作了一兩年經驗還要豐富,懂得還要多,所以提升自己的技術水平才是關鍵。

F. 3年經驗的c++程序員是個什麼水平怎麼評詁

有趣的問題,程序員的評估倒不難,寫個代碼就可以了。
問題是3年C++經驗是什麼水平?
首先,要問教育背景,是否計算機相關專業,這決定了知識體系是否完整,可能的知識廣度有多大。
再者,3年內完成了什麼內容?
按計算機業界3~6個月一個項目的情況來看,以及每個項目後有半年間隔,最少應有3~6個項目,當然也可能是同一個項目3~6個版本。
按代碼量來看,人均日產40行,實際編寫的代碼應不少於5000行,考慮到10倍效率差,最高應在5W左右。
寫過這么多代碼,應該熟悉了一個平台上的API,能說出一二三了。
最後,3年能學到什麼?

基本的工作方法:任務和時間安排、工作環境搭建等。
基本軟體開發流程,團隊合作過程等
對軟體系統的認識和理解,大致能照貓畫虎設計一個系統了。

我認為3年,一般可以達到專業入門水平,相當於圍棋的職業一段吧。

G. 工作3年的java程序員 很迷茫 我該怎麼走出來

其實我覺得你是一個很上進的人,肯吃苦,有理想,有干勁。拿死工資在我們這行月薪30k已經快到頂了,和做生意當然不能比。但是你父親不想讓你接手也有他的考慮,也許是他覺得你的工作很光鮮,也許想讓你自己闖可能。不管怎麼樣來說,你離父親確是差得很遠,這沒什麼,不用自責。所以你現在這么浮躁肯定是不行的,沉下心來 擺正心態

H. Java程序員如何自我提升

一、編寫可讀性強的代碼

曾經碰到過多少人認為編寫一些不可思議的、復雜的代碼可以為他們提供工作的保障。「如果除了我其他人都不知道薪資報告模塊是如何工作的話,上面就肯定不敢炒我魷魚!」

當然,這在理論上可能是對的(盡管有太多的人在說這句話的時候往往高估了自己)。雖然企業老闆可能不會炒掉你,但他們也不會支付你很多薪水。如果公司不能在薪資報告模塊上失去你,那麼自然而然也不會晉升你。它不會把你放到另一個更受人矚目的項目上。這樣做只會讓你牢固地待在當前位置,就像死水一樣波瀾不驚。

而且,不要自欺欺人地以為這也可以測試市場反應。企業總是希望程序員能夠編寫干凈、可維護的代碼。他們需要刷掉不合格的人以滿足業務需求。如果你的簡歷主要特點是精通某一個點,那麼你就不會有很多選擇,因為在一次又一次的晉升考驗中,你的老闆總是會略過你。

不要走那條錯誤的路。與之相反,你需要編寫能夠使其他人受益的代碼,並讓業務靈活起來,無論是在項目人員配置上還是在對代碼進行更改的時候。


二、了解你的代碼如何讓別人賺錢

如果有人付錢讓你寫軟體,那麼你的輸出結果就應該產出經濟效益。學習並了解這個利益關系。發展向任何人解答這方面內容的能力。

對最新的客戶端技術或在雲中進行加速的能力感到興奮的開發人員比比皆是。對這些東西感到興奮,並且了解如何使用這些能力來賺錢的開發者就少見的多了。

如果你能針對產品特徵好好培養對業務動機的理解,那麼你就能做得更好。你會找到既能節省時間又同樣能實現業務目標的替代方法。或者,當有一個產品特徵證明不可能實現時,你可以提出能降低一部分成本的建議。

企業(特別是真正支付薪水的大boss)喜歡這種軟體人的思維。這將意味著你可以晉升,提供咨詢服務以及擔任領導角色。

三、對職業的思考

擅長編程代表了職業生涯的其中一個方面,並且是一個重要的方面。建議多考慮許多其他的方面,並且有目的地去發展和培養那些習慣。在你自己的時間里,你應該通過一切手段,愛上這個職業。當然還要確保你可以為他人和為自己賺到錢。

閱讀全文

與學了三年的程序員相關的資料

熱點內容
桌面文件全部加密 瀏覽:401
6s怎麼外接u盤需要什麼app 瀏覽:131
linux查看文件許可權命令 瀏覽:685
安卓手游存檔怎麼用 瀏覽:761
linuxyum安裝ftp 瀏覽:690
村委會主任可以推行政命令嗎 瀏覽:102
電腦文件夾封面多張圖片 瀏覽:263
網吧總伺服器叫什麼 瀏覽:922
多個演算法解決同一個問題 瀏覽:455
小車解壓後我的購車發票呢 瀏覽:977
做app開發用什麼雲伺服器 瀏覽:177
linux網卡子介面 瀏覽:985
21歲職高畢業學程序員怎麼學 瀏覽:321
vs如何對單個文件編譯 瀏覽:6
為什麼有的電腦不能安裝python 瀏覽:75
金蝶迷你版加密狗檢測到過期 瀏覽:186
硬體描述語言編譯結果 瀏覽:655
程序員逆天改命 瀏覽:19
金斗雲伺服器 瀏覽:447
港口工程pdf 瀏覽:770