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關鍵字使用規則
『貳』 一般3年程序員入職工資打折嗎
不打折。程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。一般3年程序員入職工資不打折。工資是一個勞動者付出勞動之後得到的報酬,工資一般只有上漲,打折的情況非常少見。
『叄』 1-3年的程序員,你跳槽了嗎
2019年年假放完回來,就著手跳槽的事情。對於我,一個普通二本,工作不到兩年經驗,二線互聯網公司,剛投遞簡歷的時候,碰壁不少。我相信很多不滿公司現狀的同學也是准備在一年中最旺盛的跳槽季做准備,鑒於我自己努力後,拿了幾個offer(包括阿里與騰訊銀行),分享一點心得。馬爸爸說過,跳槽有兩個原因,一是錢不到位,二是心傷了,而我,還要加一條,「未來的方向」。
本人是從事java技術崗,從近年來看,golang後來居上,已經開始動搖了java在後端的地位(當然我也遇到由於市場golang人才少和昂貴而轉java技術棧的,如騰訊下某政務公司)。並不是說故步自封不學習新技術,而是在黃金跳槽季中,經驗尚缺的我來不及學好另一門語言。對於「未來的方向」,我希望可以從事在金融領域上的開發,除了本身畢業於金融學院有相對的興趣,在非技術領域上的能力成長,一直是我在上家公司的心結。
我相信如果段位跟我差不多的同學,在投遞簡歷的首關上就碰了一鼻子灰。經過對數十家公司投遞簡歷的經驗上來看,大公司對於2年經驗的初篩簡歷,一般看三點: 經驗、學歷、上家公司。 相信很多人會不能理解,為什麼畢業兩年的社招,學歷的比重還如此之大呢?是的,現在的大公司,包括互聯網公司,對於211和985當成了基本的門檻。當然,像騰訊、阿里這樣的大企業反而不注重學歷,一般要求就是本科,也點燃了很多普通院校畢業生的希望。像我畢業不到兩年出去社招,工作經驗也成為了篩選項,崗位要求大多數都是3-5年,5-10年。硬著頭皮投遞3-5年,只有少部分企業會回應,還有部分是招聘網上的寫的經驗要求有時候是hr或者內部員工隨意寫的,因為像在阿里,內推多少人入崗,也是kpi。好的公司出來後,相當於給自己的簡歷上蓋上了該企業的印章,得到該企業關於專業的認證。而大企業的認證,也會等同於社會的認證,所以像阿里工作一年經驗的,可能比小企業工作3年在市場上更受青睞。
從校招過後,沒試過筆試和面試了。筆試對於java崗來說,除了java基礎,更多的筆試題目是演算法,建議要筆試的同學還是要去刷下leetcode的題目,很多筆試題都是從這里出來的。
本人的面試經驗,面試官提問的東西會從簡歷上的項目入手,然後由點到面,根據你的回答中的技術關鍵點,再深入詢問。如果對於某個技術棧或者中間件不是很熟的話,建議不要寫在簡歷上。比如我寫了項目用了zookeeper,面試官會問zk的仲裁選舉演算法細節,如何保證分布式一致性的;寫了kafka,kafka如何保障高可用?kafka的isr機制等內部原理,意在考察你是否對於使用的技術棧有進一步的了解。大體上,面試問題涵蓋的范圍有:
- java多線程實現細節,如reentranklock如何實現,什麼是aqs,什麼是驚群效應,如何避免驚群效應
- 操作系統三種io的本質區別
- jvm gc演算法,如cms會進行內存整理嗎
- 分布式事務的種類
- 常用的中間件原理,如kafka、zk、rabbit、bbo等
- spring的了解,aop的種類
- mysql內部原理,mvcc機制、索引、事務隔離級別
- https加密流程、http2的優化點
對於許久未面試且要面試大公司的同學,建議在多刷演算法的基礎上,投遞多家公司刷刷面試經驗,畢竟選擇是雙向的。這樣當心意的公司面試你的時候,心理素質和面試經驗上會大大提升。從個人經驗上看,面試大約准備了一個多月,這段時間的節奏基本都是面試,所以對於要跳槽的同學,建議選擇在工作空檔期。
說個題外話,也是從這次面試過程中發現的一點,就是企業招聘崗位,基本沒看到10年以上的,這是因為10年以上的工程師不需要走面試流程?還是社會淘汰了這部分人?不禁背脊發涼。或者有點杞人憂天,很多網友會對比國外60歲的程序員,但是從目前市場上看,起碼10年以上的崗位比較稀疏。還有一點就是對於2年工作經驗不到的,大公司的客戶端、前端的崗位會遠遠大於後端,一開始我以為是後端的崗位工作內容比較慎重,涉及的影響面比較大,會提高門檻篩選有經驗的人。但是從職業獵頭的描述上看,是java後端太過於泛濫,大企業對於1-3年的工作內容只交給校招生。
『肆』 工作3年的java程序員 很迷茫 我該怎麼走出來
其實我覺得你是一個很上進的人,肯吃苦,有理想,有干勁。拿死工資在我們這行月薪30k已經快到頂了,和做生意當然不能比。但是你父親不想讓你接手也有他的考慮,也許是他覺得你的工作很光鮮,也許想讓你自己闖可能。不管怎麼樣來說,你離父親確是差得很遠,這沒什麼,不用自責。所以你現在這么浮躁肯定是不行的,沉下心來 擺正心態
『伍』 在一線城市上班的程序員,3年後平均工資是多少
程序員的行業根據環境,地域,行情,技術等因素來決定薪資,所以除了專業的數據分析平台,我個人只能給出一個大概的范圍吧:
雖然小明知道現在的待業已經不算高了,但是重在安逸穩定,所以他並沒有跳槽的想法,哪怕看到網上一些言論說四年的工資多少,他也直接無視,但是程序行業日新月異,老東家堅持不住了,倒閉了,於是小明又要重新找工作了,這個時候的小明五年工作經驗,稅前16k,於是他寫簡歷,因為他有資歷,了解了現在的行情,洋洋灑灑寫了一份很精緻的簡歷附上期望月薪30k,可是面試的過程並不順利,很多問題他都答不上來,要麼就是基礎忘記了,要麼就是新技術他不會,於是他開始迷茫了~~
『陸』 程序員三年工作了,來大連好找工作嗎,工資大約能多少
現在IT軟體開發,大連的工作機會比較多,但多數職位有加班要求,工作強度也會因為公司或者項目組不同而不太一樣。三年工作經驗一般8000元/月,還是可以給到的。如果技術方向與公司的招聘要求比較符合的話,還可以給到更多。
『柒』 一個工作三年多的程序員被公司裁員,是不是說明他不適合這個行業,該轉行了
也不是這么說。有很多因素。比如公司不景氣,說不定能找到更好的工作
望採納,謝謝
『捌』 做了3年程序員我感覺心力憔悴,而且感覺自己老了很多,怎麼辦如果轉行的話哪些行業適合,我技術一般
銷售做好了,對你人生有前途。到時候一個月7000算個啥。你當程序員,以後你覺得有什麼前途,那些很牛的技術專家少之又少,而且都是當編碼程序有著瘋狂的追求的,普通的人誰會對著一行行枯燥的代碼感興趣呢,還是建議試試銷售吧。歲數再大些,程序員都不好當了。。