① java工作經驗2年,怎樣才可以找到一份好工作
一般來說面試我都記下印象深刻的面試題,其他感覺都沒什麼好記的,但是今天這個面試的過程感覺是我職業生涯中比較有意思的一次面試,遂分享出來。
今天頂著大太陽出去面試,找了好久終於找到了這家公司的位置,貌似是集體辦公區域,就是一層樓有N個公司在辦公,也沒什麼隔斷。心想創業公司吧,這樣也正常。在這之前已經面過三家公司都挺順利,公司規模都還可以,還有一家一面也是過了等二面。之所以來這家公司面呢是因為對公司的產品還挺感興趣的,想來看看。
然後到地方後面試官先給了我一份卷子做,都是些很簡單的題,寫完後等了好久面試官來了,開始進行面試。面試官先看了下我的簡歷,然後說你怎麼兩年才做這么4個項目,尤其是第一家才1個項目。我說外包公司項目多,沒必要挨個寫上,寫上最近一家公司的項目,和之前公司代表性的項目就行了。然後他就教育了我一番,說怎麼寫這么點兒呢,很容易讓人覺得你啥都沒做,做過的都得寫上。我之前一直以為我這種兩年多經驗的寫一頁簡歷足夠了,不過他說了下我覺得確實可以考慮考慮多寫一些。。。不過老實說我在想。。難道他畢業四五年了還冊團把剛畢業的項目往簡歷上寫?
吐槽完項目。面試官不知道為什麼看著我的簡歷以為是培訓班出來的,然後就旁敲側擊的問我畢業是否有參加過什麼培訓啊。我滿臉黑線,我簡歷寫的我第一份工作畢業就進去的,而且我項目都是專業領域性很強的項目,這是從哪兒看出來的。然後這面試官又問我那你大學都學什麼族指課程啊,我又耐著性子解釋了一圈。然後他看問不出啥的就沒問了。然後就問了一個項目有關的正常問題。開始問我技術了。
第一個技術就問我spring框架,然後問我spring主要注重哪些技術,我說了就依賴注入和自動化配置,然後這人問我如何學習spring,我說看了spring實戰,深入理解spring架構,然後還看了源碼,然後這人說你看了官方文檔嗎,我說看了小部分,然後他說你怎麼不多看官方說明文檔呢,州穗橘我說我更多喜歡直接看看源碼設計,而且官方文檔更多就是說明書的意思,我覺得用來入門還行,要真正了解肯定還是要深入底層去看下。然後爭論了一番後他問我springboot自動化配置如何實現的。我從實現原理,源碼流程說了一圈,我估計他應該不懂這塊兒,然後我說完後他和我說你覺得看這些東西用處大嗎,你為什麼不看官方文檔。我當時真是滿臉黑線,合著這官方文檔在他眼中是聖經啊。然後又問我springboot如何實現的tomcat啟動,我源碼解釋了一圈後我估計他還是不懂源碼這塊兒,所以又和我死磕說你這些東西為什麼不看官方文檔說明呢。。嗨,我第一次看到對官方文檔如此執著的人..。。當然了他舉了個有意思的例子,說比如你買了個冰箱,你不看說明書你怎麼知道如何使用呢。。我真的很想說我看過這台冰箱深入介紹的幾本書並且連內部零件構造都了解你覺得我不會用這台冰箱嗎。。
然後框架就沒問了,老實說我覺得可能是他也不太了解。。然後就問我sql了,說有沒有用過索引,sql優化。我說了一些,然後他說下mysql索引類型呢? 我說你指的哪種類型,是hash/b+tree ,還是聚集索引/非聚集索引,還是普通索引/唯一索引/主鍵索引/..... 這種。然後我估計他對前兩個應該不了解,然後惱羞成怒的來了句你覺得我問的是哪個? 我去,這個我哪能知道。然後我就說了下 hash/b+樹索引,然後這個人來了句b+樹你覺得是什麼,是一種演算法,還是xxx,我當時很無語,名字都叫樹了這難道不應該是一種數據結構嗎。 然後又解釋了一圈我感覺他可能也不了解這塊也就沒問了。然後問我演算法。
其實就簡單的問了句,你了解哪些排序,我說冒泡排序,插入排序,快排,堆排序.....,然後這面試官嘲諷的笑了一聲,我趕緊回想了哪個有問題,結果想了下沒想到哪個字說的有問題我就問 你為什麼笑,然後他說堆排序是什麼東西。老實說聽到這句話我是真的很想直接走的,但是想下這對不起我請的一上午假。然後我很克制的說了句,你不知道不代表沒有,這是任何一本講數據結構與演算法的書都應該會講到的東西,建議去網路下。然後這個時候我估計他本就有點兒惱羞成怒的心情被徹底點著了,然後開始問我jmm。哦對了,他看著我寫筆試題的時候排序那兒說了句這是什麼排序。(我覺得快排方法應該還是挺好認的)
jmm問我五大數據區域,我說了後最後我提了一下直接內存,然後這人我估計也不懂,然後就開始說我問你這個了嗎?我讓你說五大區域你為什麼提這個? 你有聽清楚我的問題嗎? 我當時就???,合著我這多提了一嘴直接給戳高潮了。。。然後趕緊閉嘴了,讓他接著問後面的問題。
然後問了我期望薪資,我說了個期望薪資,結果這人說,你覺得你在項目中能承擔部門負責人? 還是項目經理? 合著我期望的薪資在這家公司是部門負責人才有的待遇,看這意思應該是覺得我漫天要價。我覺得我要再說我已經有的三個offer都比我剛提的要多怕不是能讓他當場爆炸。。當然了,為了不自討沒趣我就說我只能承擔個中級開發吧。。。
最後問我有什麼想問的,我就照例問了下公司技術棧,然後他說後端用java nodeJs ,我就問為什麼後端會用兩種技術棧? 然後他回答道,這么用肯定是處於公司技術考量啊,巴拉巴拉的,反正最後也沒說個明白為啥會用兩種技術。。然後這個時候提了一嘴既然採用nodeJs是覺得更加方便為什麼不考慮考慮使用Python。老實說我覺得我這句話作為大家都是技術人員,技術探討性的問題應該很正常吧,結果這句話不知道為什麼又把他戳高潮了,他直接回到 為什麼要用Python?我在嚴肅的和你講公司技術棧,你覺得這樣好嗎? 你覺得這樣提問好嗎?你這樣隨意的一問覺得合適嗎?
最後伴隨著這幾個疑問,面試結束了。。。老實說我被面的有點稀奇古怪的,盡管他問的問題我覺得我應該全都回答上了,但看他的樣子似乎很不高興
② Java工作兩年需要掌握什麼技術或者說需要會什麼
一、對於參加工作1年到2年的程序員
這部分時間段的同學,已經對Java有了一個更加深入的了解。但是對於面向對象的體會可能還不夠深刻,編程的時候還停留在完成功能的層次,很少會去考慮設計的問題。
於是這個時候,設計模式就來了。我當時看的是《大話設計模式》這本書,並且寫了完整版的設計模式博客。因此,我要求大家,最多在你工作一年的時候,必須開始寫博客,而設計模式就是你博客的開端。
這一年,你必須對於設計模式了如指掌,《大話設計模式》可以作為你的開端。
此外,設計模式並不是你這一年唯一的任務,你還需要看一些關於代碼編寫優化的書。比如《重構 改善既有代碼的設計》,《effective java》。
總而言之,這個階段,你的核心任務就是提高你的代碼能力,要能寫出一手優雅的代碼。
二、參加工作2年到3年的程序員
有的同學在這個時候覺得自己已經很牛逼了,於是忍不住開始慢慢鬆懈。請記住,你還嫩的多。
這個階段,有一本書是你必須看的,它叫做《深入理解Java虛擬機》。這本書絕對是Java開發者最重要的書,沒有之一。在我眼裡,這本書的重要性還要高於《Java編程思想》。
這本書的內容是幫助你全面的了解Java虛擬機,在這個階段,你一定已經知道Java是運行在JVM之上的。所以,對於JVM,你沒有任何理由不了解它。
另外,在過去2年的工作當中,你肯定或多或少接觸過並發。這個時候,你應該去更加深入的了解並發相關的知識,而這部分內容,我比較推薦《Java並發編程實戰》這本書。只要你把這本書啃下來了,並發的部分基本已經了解了十之六七。
與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的了解,對於Java的類庫也有了更深入的了解。因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。
這些源碼能看懂的前提是,你必須對設計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什麼要這么寫?為什麼要定義這個介面,它看起來好像很多餘?
③ java工作兩年了,應該達到什麼樣的水平
關於工作經驗,技能等級這說法就多了去了,2年工作經驗,最基本的水平應該達到:
寫代碼有很強的規范性和獨立性;
前台頁面會寫(當然要求不高,不要求你和美工一樣,,前台頁面只要求基本的);
後台代碼能寫並且優化,會高級調試數段,單元測試等;
資料庫方面我就頃神不用說了吧,不做到精通也應該會基本的語句和邏輯,什麼增刪改查,join等,不要求你會存儲過程。
最主要是會分析代碼,分析需求,這兒也看公司,大公司一般都是雀畢虧直接給你功能模塊,你寫就行了,小公司要求會比較多,這也要會那也要會,因為人少。
④ 幹了2年java開發的程序員何去何從
很多程序員都是這樣,很多時候你直接給他項目給他做,他可以馬上查找資料做了,可是實際中,想你這樣,說是幹了有兩年,其實經驗也不過1年多點,你向人家吹你很牛逼,做幾個SSH框架技術很厲害,人家不問你深入點怎看到你的經驗在哪呢?小公司就更不用說啦,小公司都是處於發展的重要時期,對真正的人才急需,所以重點看能力然後學歷可以再商量。現在Java人才扔著滿街都是,如果面試官面試時看不出你有什麼能力和優勢,直接PASS掉,反正人家手中有的是面試者。不知道底層的東西,你只是個初中級的程序員,不會成為真正的軟體工程師,25歲不老,只要你有真正的技術和一張推銷自己的嘴,去哪都不會事業。
⑤ java一年經驗和兩年的區別
經驗程度不同。
1、一年經含棗驗是指磨蔽具備工作經驗,工作過和實習過,有一定經驗,知道研發團隊是怎樣運轉的。
2、兩年經驗是指要有一份作為正式員工的工作經驗,正經接觸過公司的業務,真正投入到談游拆公司的業務研發流程中。
⑥ java兩年經驗面試都會問什麼問題
個人介紹:
首先介紹下我面試時的自身條件情況,我把自己的情況分為優勢和劣勢來說可能更有利於你們比較自身情況。
劣勢:
1.15年7月畢業後開始到上海工作,面試的時候是17年3月到4月,一年多的經驗,勉強算兩年經驗。分析:一年多經驗我認為是比較尷尬的,處於一個不上不下的位置,很多公司比較喜歡招三年經驗的,或者直接招應屆生來培養。
2.畢業於一個非985/211,勉強上一本的高校。分析:這個相對影響較小,因為有工作經驗後,公司對學校的要求就沒那麼高了,只要是本科就基本沒問題,但是還是有個別叼毛公司只要985/211。
3.前一家公司是傳統電信行業,加入項目組時,項目已經上線有段時間了,我們的任務就是有需求就開發,有bug就優化,其他時間就聊騷,各干各的,工作一年多跟在養老一樣,用一句話說就是編程5分鍾,扯淡2小時,項目經驗嚴重不足,沒開發過很難的需求。分析:這一點是最傷的,公司招有經驗的就想看你都幹了些什麼牛批的東西,結果你告訴面試官我寫的需求都是垃圾。
優勢:
1.大學時拿過比較多的獎,每年都是校級優秀學生,畢業時是市級優秀畢業生,拿過省級ACM二等獎等。分析:大學的榮譽對一個有工作經驗的人來說,公司不一定會看重,但是可能會對面試官產生微妙的影響,特別是ACM獎,我碰到過有的面試官也是搞過ACM的,有共同的話題聊起來總是比較容易的,但是也要注意不能把這一欄篇幅寫的過於多,只能當作點綴用,我當時是放在簡歷最後一欄,簡要的寫了最主要的幾個獎。
2.良好的溝通交流能力。分析:這個能力不會是關鍵性的,但是可以加分。
3.較強的學習能力和邏輯思維能力。分析:有些公司和面試官還是比較看重一個人的學習能力的,經驗代表著你現在在什麼級別,而學習能力則代表著你將來能到達什麼級別。
學習過程:
看了我的優劣勢介紹,你會發現我的優勢相對於我的劣勢來說,簡直不值一提。我自己對此也有清晰的認識,因此從過完年之後,我就開始抓緊空閑時間學習。學習的過程如下:
1.看面試題
正常人第一步肯定都會看面試題,我也不例外,在看的過程中,我發現有些文章寫的不錯,對我幫助不小值得推薦,如下:
Java面試題全集(上)很多基礎的東西,建議先看。
各大公司Java後端開發面試題總結
面試心得與總結—BAT、網易、蘑菇街
關於Java面試,你應該准備這些知識點
2.深入學習
在看面試題的過程,你會遇到一些自己沒接觸過的或者以前沒深入學習過的知識,例如最常問的HashMap內部實現原理,這就促使你得開始去看jdk的源碼或者是學習一些新的東西。看源碼是很重要的一步,起步很難,但是會讓你收益良多,看源碼的過程如果碰到無法理解的地方,可以網路看下別人的理解。我學習源碼的過程中,看過幾個人的關於源碼的文章寫的很不錯,如下:
五月的倉頡
佔小狼
zhangshixi的Core java系列
3.熟悉項目
找出自己工作以來開發過的最叼的功能,將整個功能的流程和涉及的東西吃透。項目是面試中必問的環節,一般是以一個功能點為基礎展開問,因此你必須對這個功能有很深的認識,不能有模糊的地方。如果有時間,能把涉及到的知識點也搞懂最好。
4.做面試題
有不少公司是有面試的,如果你沒有準備過,很容易在各種小地方犯錯,建議去一些面試題網站多做些題目,我自己是用的牛客網。
5.學習記錄
把自己每天的學習時間和學習內容記錄下來,可以讓自己更有動力的學習,學習是一個枯燥的過程,你必須讓自己時刻保持有動力。
投簡歷、約面試環節
1.在哪些網站投?
拉勾網、BOSS直聘、獵聘網。
2.是否該海投?
投簡歷分為兩個情況。
1)沒有社招面試經驗:建議採取海投的方式,只要職位要求跟自己比較匹配都可以投,累計面試經驗。這個環節可以把投簡歷的網站增加兩家:智聯和無憂。
2)自認為社招面試經驗已經足夠:投那些職位匹配、公司滿意的職位。公司評價可以去看準網、網路、知乎等查詢。
3.一天約幾家面試合適?
最理想的情況為2家面試,上午一般在10點左右,下午一般在2點左右。建議把理想的公司放下午,因為下午的時間比較充足,可以讓公司更充分的了解你。我開始面的時候,每次都是上午面的不好,下午面的不錯。
4.投簡歷經常沒下文?
我當初也沒想到簡歷篩選這關有這么難,可能是我的簡歷確實亮點不多,再者HR很多都不是行內人,因此他們看得最直接的就是你上家的公司和你畢業的學校,如果你不是從牛逼的公司/學校出來,可能會碰到和我一樣的情況,應對的辦法就是多投。
5.是否該裸辭?
我一開始是邊上班邊投,然後利用調休時間,或者請假去面試。後來,面試機會越來越多,請假太頻繁了,自己都不好意思了,並且自己也已經有足夠的信心,這個時候我選擇了裸辭。裸辭還有一個原因是,在面試過程中你會發現,有的公司要人要的緊,如果你的辭職流程過長可能會導致你錯過這個公司。
6.注意事項
1)面試前一天把路線和時間算好,最好別遲到。
2)背個書包,帶好簡歷、充電寶、紙巾、雨傘。
面試環節
1.筆試常見的問題?
面試常見的問題上面給的面試題鏈接基本都有。我只提幾點:1)寫SQL:寫SQL很常考察group by、內連接和外連接。2)手寫代碼:手寫代碼一般考單例、排序、線程、消費者生產者。我建議排序演算法除了冒泡排序,最好還能手寫一種其他的排序代碼。試想:如果一般面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,肯定能給面試官留下不錯的印象。
2.面試流程?
1)讓你自我介紹
2)問Java基礎知識
3)問項目
4)情景問題,例如:你的一個功能上了生產環境後,伺服器壓力驟增,該怎麼排查。
5)你有什麼想問面試官的
3.面試常問的知識點?
1)集合相關問題(必問):
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實現。
HashMap和Hashtable的區別。
ArrayList、LinkedList、Vector的區別。
HashMap和ConcurrentHashMap的區別。
HashMap和LinkedHashMap的區別。
HashMap是線程安全的嗎。
ConcurrentHashMap是怎麼實現線程安全的。
2)線程相關問題(必問):
創建線程的3種方式。
什麼是線程安全。
Runnable介面和Callable介面的區別。
wait方法和sleep方法的區別。
synchronized、Lock、ReentrantLock、ReadWriteLock。
介紹下CAS(無鎖技術)。
什麼是ThreadLocal。
創建線程池的4種方式。
ThreadPoolExecutor的內部工作原理。
分布式環境下,怎麼保證線程安全。
3)JVM相關問題:
介紹下垃圾收集機制(在什麼時候,對什麼,做了什麼)。
垃圾收集有哪些演算法,各自的特點。
類載入的過程。
雙親委派模型。
有哪些類載入器。
能不能自己寫一個類叫java.lang.String。
4)設計模式相關問題(必問):
先問你熟悉哪些設計模式,然後再具體問你某個設計模式具體實現和相關擴展問題。
5)資料庫相關問題,針對Mysql(必問):
給題目讓你手寫SQL。
有沒有SQL優化經驗。
Mysql索引的數據結構。
SQL怎麼進行優化。
SQL關鍵字的執行順序。
有哪幾種索引。
什麼時候該(不該)建索引。
Explain包含哪些列。
Explain的Type列有哪幾種值。
6)框架相關問題:
Hibernate和Mybatis的區別。
Spring MVC和Struts2的區別。
Spring用了哪些設計模式。
Spring中AOP主要用來做什麼。
Spring注入bean的方式。
什麼是IOC,什麼是依賴注入。
Spring是單例還是多例,怎麼修改。
Spring事務隔離級別和傳播性。
介紹下Mybatis/Hibernate的緩存機制。
Mybatis的mapper文件中#和$的區別。
Mybatis的mapper文件中resultType和resultMap的區別。
Mybatis中DAO層介面沒有寫實現類,Mapper中的方法和DAO介面方法是怎麼綁定到一起的,其內部是怎麼實現的。
7)其他遇到問題:
介紹下棧和隊列。
IO和NIO的區別。
介面和抽象類的區別。
int和Integer的自動拆箱/裝箱相關問題。
常量池相關問題。
==和equals的區別。
重載和重寫的區別。
String和StringBuilder、StringBuffer的區別。
靜態變數、實例變數、局部變數線程安全嗎,為什麼。
try、catch、finally都有return語句時執行哪個。
介紹下B樹、二叉樹。
ajax的4個字母分別是什麼意思。
xml全稱是什麼。
分布式鎖的實現。
分布式session存儲解決方案。
常用的linux命令。
一些經驗:
1.先投一些普通公司,等面出了心得再去投理想的公司。
2.不熟悉的技術不要主動提。
3.對於那種實習期6個月還打8折的公司,除非你沒有其他選擇了,否則不要去。
4.小公司喜歡在薪水上壓你,開的時候適當提高。
5.不要去參加招聘會,純粹是浪費時間。
6.把面試當作一次技術的交流,不要太在意是否能被錄取。
7.公司一般面完就決定是否錄取了,讓你回去等消息這種情況一般沒戲,無論你自己覺得面的有多好。
8.盡量少通過電話面試,效果不好。
9.在面試的日子裡,要保持每天學習,無論是學習新東西還是復習舊東西。
10.拿到offer了,問問自己這個公司讓自己100%滿意了嗎,如果不是,請繼續努力找更好的。
11.通過面試官可以大概判斷這家公司的情況。
12.拉勾投的簡歷很多會被篩掉,但是拉勾還是面試機會的最主要來源。
13.理想的公司可以多投幾次,我有好幾次都是第一次投被篩掉,多投幾次就過的經驗。
14.問到自己有深入研究過的知識,抓住機會好好表現,不要輕易放過。
⑦ 杭州java開發,兩年工作經驗,工資可以要多少
公司不同工資計算方式也不同,大體是多勞多得,看具體貢獻。
Java是目前世界上流行的計算機編程語言,是一種可以編寫跨平台應用軟體的面向對象的程序設計語言。這可以概括Java有搜雹做著自己獨特的優勢:語言簡單、是一個面向對象、分布式應用並且安全、體系結構中立並且可移植。權威統計機構統計——在所有軟體開發類人才的需求中,對Java工程師的需求達到全部需求量的60%~70%。Java工程師的薪水相對較高,通常來說,具有3~5年開發經驗的工程師,擁有年薪20萬元是很正常的一個薪酬水世衡平。計算機專業的大學生欲成為Java工程師,便捷的一條路就是參加以實戰項目為主要教學方法的Java職業技能培訓,從而有效地縮短同企業具體用人需求之間的差距。
想要了解更多關於java開發的相關信息,推薦咨詢千鋒教育。千鋒企業合作部於2013年成立,主要針對企業用人需求和學員職業規劃進行服務。肆隱經過8年發展,企業合作部已經成為千鋒連接企業和學員的重要紐帶。服務面對企業建立全方位、立體化、遍布全國的企業合作網路,覆蓋全國一線二線城市大中小型公司,成功幫助20000餘名人才實現就業,合作企業達20000餘家,每年簽訂1000餘份人才培養訂單,讓廣大學員沒有後顧之憂。
⑧ 兩年的java工作經驗,面試主要考什麼
不會問太難的問題,會考察你的基礎知識是否扎實,廣而深
比如jvm的基本工作機制,gc的工作原理,設計模式,java的堆棧,內存泄露等等。
其他還要看你面試的方向,如果偏web你當然還需要考慮常見的web框架,比如hibernate、ajax、struts等等,還有tcp/ip協議、soap協議等常見網路協議等
部分崗位資料庫也會問一些,常見SQL性能優化,如何提升等等
以上都是我自己最近的面試經歷,大到500強企業,小到創業型公司都試過,越大的企業考察的越基礎,需要你琢磨的比較深。不過基本都是問這些