下面我想跟大家分享一下。我認為,隨著你工作年限的增長、對生活對生命認識的深入,應當不斷思考三個問題:
1、我到底適不適合當一名程序員?
2、我到底應不應該一輩子以程序員為職業?
3、我對編程到底持有的是一種什么樣的態度,是夠用就好呢還是不斷研究?
最終,明確自己的職業規劃,對自己的規劃負責并為之努力。
關于專業技能
我這里要說明一下,以下列舉的內容不是都要會的東西—-但是如果你掌握得越多,最終能得到的評價、拿到的薪水勢必也越高。
- 基本語法
- 這包括static、final、transient等關鍵字的作用,foreach循環的原理等等
- 集合
- 基本上就是List、Map、Set,問的是各種實現類的底層實現原理,實現類的優缺點。
- 設計模式
- 知道常用設計模式的優缺點。
- 能畫出常用設計模式的UML圖。
- 多線程
- Thread和Runnable的區別和聯 系、多次start一個線程會怎么樣、線程有哪些狀態。
- JDK源碼
- List、Map、Set實現類的源代碼
- ReentrantLock、AQS的源代碼
- AtomicInteger的實現原理,主要能說清楚CAS機制并且AtomicInteger是如何利用CAS機制實現的
- 線程池的實現原理
- Object類中的方法以及每個方法的作用
- 框架
- 熟練使用三大框架
- 數據庫
- SQL基礎和SQL優化的內容
- JAVA虛擬機
- Java虛擬機的內存布局
- GC算法及幾種垃圾收集器
- 類加載機制,也就是雙親委派模型
- Java內存模型
- hAppens-before規則
- volatile關鍵字使用規則