JAVA一年,何去何從
原機械設計專業畢業~,後轉行JAVA開發!
工作的第一年很容易總結------------浮躁。不管是在公司的工作還是自己的學習,都是浮躁,
首先是周圍環境因素影響(os:其他人,其他專案組下班那麼早,為什麼我們還在做。。。。其他人的領導那麼好,為什麼我們的領導。。)
其次是學習態度,由於工作的繁重和壓力,自己其他的學習時間就被本能的捨棄了(為什麼我工作都這麼累了,我回去就不能好好休息一下嗎?感覺大多的知識和技術應該是再專案中學習到的。。。。)
再然後是個人性格(有了一點小的成就就沾沾自喜,感覺自己牛逼了~,止步不前)
等等
相信也會有人遇到這種問題,在工作的時候根本沒有意識到,知道因為種種原因,在工作一年的情況下離職後,才漸漸認識到自我。JAVA一年,這是一個尷尬的時間段,不過大多數一年的經驗還是會把自己的基礎打得很牢固,相信也會有種種意外情況,我就是這個意外,在公司一年,寫過很多的前端(dorado框架,國內小眾框架,感覺沒幾個人用的那種),在這個上面花費了很多精力,加上學習態度不端正,錯失打下基礎的過程,喪~~~~~~~~~
找工作-----處處碰壁!!!!!!!
1,spring
2,SSM
3,SSH
4,JSP+Servlet
5,前端
6,常用SQL
就這幾個最基本的東西(JAVA標配),完全是一問一懵逼~!想想離職前的高薪幻想就感覺臉紅~
話不多說~看招
1,專項學習基礎,任何東西都需要基礎,在這個不上不下的經驗下,你的基礎最重要(除非你是專門學習某一塊,且精通~)
2,態度,態度,態度!!!重要的事情講三遍,不要把自己的定位放太高。
3,有計劃地學,有計劃地找(首先廣撒網,各種面試筆試,回來後學習,幾個來回,感覺基礎知識就差不多了,然後在基礎的知識上稍微多瞭解一些之前不會的,跟人家公司的技術人員有話聊。感覺差不多了,找到之前想去的公司,使勁投簡歷,多投幾次,有可能沒有看見什麼的,之後的把握應該大很多)
4,待續~~~
另附上基礎知識:
1
Java面試題全集(上)//blog.csdn.net/jackfrued/article/details/44921941很多基礎的東西,建議先看。
各大公司Java後端開發面試題總結 //blog.csdn.net/sinat_35512245/article/details/59056120,你應該準備這些知識點
在看面試題的過程,你會遇到一些自己沒接觸過的或者以前沒深入學習過的知識,例如最常問的HashMap內部實現原理,這就促使你得開始去看jdk的原始碼或者是學習一些新的東西。看原始碼是很重要的一步,起步很難,但是會讓你收益良多,看原始碼的過程如果碰到無法理解的地方,可以百度看下別人的理解。我學習原始碼的過程中,看過幾個人的關於原始碼的文章寫的很不錯,如下: //www.cnblogs.com/xrq730/
1.面試準備
1)背個雙肩包
2)換一身清爽的服飾
3)相關資料
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的內部工作原理。
分散式環境下,怎麼保證執行緒安全。
想要朝這方面發展或者真心有興趣的。網際網路java學習乾貨面試經驗,不定期分享需要加java學習交流群,群號:282711949。這個是免費的,希望同學找我要的時候不要有理所應當的態度,畢竟都是我的心血,希望你是真的有一顆想要學好java的心,我也會盡所能的去幫助你成為一名優秀的程式設計師。
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命令。