1. 程式人生 > >JAVA一年,何去何從

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命令。