剛畢業那會,工作經驗短,招聘的要求同樣也低,一般只看重邏輯思維能力和和一些用演算法解決現實問題能力,對具體技術棧知識點的深度,掌握程度不強求,懂多少算多少,應屆畢業生裡面能夠表現出中上水平就能被錄用。我整體上感覺工作六七年後,並沒有積累和年限相對應的技術儲備,這一點如果是在穩定的崗位上也不會有太大問題。
直到2016年我的第二份工作,我在一家一線網際網路公司內部孵化的直播產品,用了四年時間做到專案副手,而在被HR約談到離職,前後不到四天。
我當時還在專心做規劃,寫東西、對業務需求、開發功能。應該還算是比較重要的,很多人等著的東西開展業務,我屬於他們的上游模型。HR郵件通知說業務調整,這邊接下來考核壓力挺大,我跟另一個工資最高的同事只能留一個。而最後確定了是我,整個流程不過半天時間,之所以用了四天是因為需要交接的東西比較多,說來也真是諷刺。
不過的確沒什麼好抱怨的,另外那個同事的確比我更努力,時常能看到工作之餘還在不斷的學習,而我則更像一條躺在老本上等死的鹹魚,這樣的我憑什麼被別人堅定選擇呢。
被踢出局之後,我回到了長沙,頹廢了一段時間,但日子還得繼續不是。沒轍,想再找到一份不錯的工作,就得提升自己的核心競爭力。之後有相當長的一段時間在補短板,也看些感興趣的東西,像JVM和併發相關的,那時候每天都有種醍醐灌頂的感覺。
不過面試的時候還是被打回原形了,準備的很多東西都沒有被問到,我自認為很厲害的東西只是鑽牛角尖了。我他喵裂開!!!
不過好在認識了一位很牛的行業老大哥,至於怎麼認識的就不贅述了,總之在他的引導下我才能拿到今天這5個還算不錯的offer,不說廢話了,先貼兩個offer再給你們分享一下學習經驗,不然你們還以為我吹牛皮。
這一年多不斷的肝學習也整理了一些學習筆記和資料,是按照我下面要寫的學習路線整理的,也都分享給大家,需要的朋友可以自行點選下方藍字領取。
Java私人學習筆記和視訊文件學習資料
面試22家公司後自己整理的面試題,點選直接領取
好了,開始正題。
一、效能調優
- Jvm效能調優
- Mysql效能調優
- Tomcat調優
- Nginx調優
二、併發程式設計
- 作業系統核心原理
- JMM記憶體模型
- 併發同步處理
- 併發包之tools限制
- 併發包之atomic原子操作
- 阻塞佇列BlockingQueue詳解
- 併發Map、List與Set詳解
- Executor執行緒池詳解及核心原始碼剖析
- ForkJoin框架詳解
- 無鎖併發框架Disruptor實戰
三、框架原始碼
應用框架Spring
- Spring IOC原始碼剖析
- Spring Aop原始碼剖析
- Spring MVC原始碼剖析
- Spring註解式開發
- Spring 5新特性
- Spring Security原理與原始碼剖析
- Spring Webflux詳解
ORM框架MyBatis
- MyBatis快速掌握
- Mybatis 原始碼分析
- Mybatis徒手實現
學習原始碼中的優秀設計模式
- 設計原則
- 建立型模式
- 結構型模式
- 行為型模式
- 設計模式對比及應用場景
當然了,只學不寫是不行的,我自己是比較傾向學一段時間就自己動手寫兩個專案,不一定要多難,但一定得做,這一年多的時間專案也沒少寫,整理了20個比較有代表性的專案可以分享給大夥,原始碼跟筆記都有,應該挺好上手的。
四、分散式框架
分散式訊息中介軟體
- Rabbitmq
- RocketMq
- Kafka
分散式儲存中介軟體
- Redis
- MongoDB
- FastDFS
- Elasticsearch
分散式框架
- Zookeeper
- Dubbo
- ShardingSphere
- Netty
五、微服務系列
微服務架構變遷史
- Spring Boot詳解及原始碼剖析
- Spring Cloud Alibaba詳解及原始碼剖析
- Spring Cloud Netflix詳解及原始碼剖析
六、網際網路工具
Git
- 整體認知GIT體系結構
- Git客戶端與服務端快速搭建
- Git的核心命令詳解
- Git企業應用最佳實踐
Maven
- Maven生命週期詳解
- Maven外掛體系詳解
- Maven核心命令詳解
- Maven的pom配置體系詳解
- Nexus私服搭建實戰
Jenkins
- 整體認知Jenkins體系結構
- Jenkins如何做持續整合
- Jenkins搭建及使用詳解
- Jenkins外掛體系詳解
Linux
- Linux原理、啟動、整體架構講解
- Linux運維常用命令實戰
- Linux使用者與許可權講解
- Shell指令碼程式設計實戰
虛擬容器
Docker
- Docker的映象,倉庫,容器詳解
- 快速開始搭建Docker環境
- DockerFile使用詳解
- DockerCompose整合式應用組合
- Docker服務編排實現
Kubernetes
- Kubernetes介紹與快速開始
- Kubernetes物件&Master元件&Node節點詳解
- Kubernetes生產叢集環境搭建與使用
七、擴充技術
演算法與資料結構
- 演算法複雜性分析
- 線性表、連結串列資料結構詳解
- 佇列、棧結資料結構詳解
- 基礎排序演算法詳解
- 數論&列舉&遞迴&分治&回溯思想詳解
- 貪心演算法與動態規劃
- 快排與歸併排序詳解
- 二分搜尋、雜湊表詳解
- 並查集演算法詳解
- 樹,基本概念,二叉樹(遍歷),紅黑樹詳解
- B樹,Trie樹,赫夫曼樹,堆樹詳解
- 圖論、深度優先遍歷、廣度優先遍歷詳解
- 最小生成樹、最短路徑詳解
- 布隆過濾器與點陣圖詳解
區塊鏈技術(Java版)
- 專案架構與技術點講解
- 區塊鏈原理整體介紹
- 區塊鏈整體結構設計與實現
- 密碼學
- 比特幣錢包的設計與實現
- 比特幣交易的設計與實現
- P2P去中心化網路設計與實現
大資料技術
- 第一階段–開發環境構建
- 第二階段–HADOOP核心
- 第三階段–大資料通用生態圈元件
- 第四階段–Spark及生態圈
- 第五階段–基於spark的資料探勘演算法
人工智慧技術
- 用一臺電腦搭建一個機器人開發環境
- Python程式設計入門和應用範例
- ROS客戶端庫和應用範例
- 開發你的第一個機器人應用
- 如何協調一個機器人內部的行為
- 計算機視覺基礎與應用
- 機器人建圖和導航
- 開發一個智慧安保機器人
- 神經網路基礎與應用
- 基於ROS開發多機器人應用
- 群體智慧
- 人工智慧前沿探討 類腦計算
- 人工智慧前沿探討深度強化學習(DRL)
之前也有朋友問應屆生面試有哪些需要注意的,我說注意的地方太多了,我就在這提一下怎麼提升自己的競爭力吧。結合了我面試22家公司的面試官所問的問題我總結了下面幾點,也許對應屆生有一些幫助:
1、參加過競賽( 含金量超高的是 ACM );
2、對資料結構與演算法非常熟練;
3、參與過實際專案(比如學校網站)
4、熟悉 Python、Shell、Perl 其中一門指令碼語言;
5、熟悉如何優化 Java 程式碼、有寫出質量更高的程式碼的意識;
6、熟悉 SOA 分散式相關的知識尤其是理論知識;
7、熟悉自己所用框架的底層知識比如 Spring;
8、有高併發開發經驗;
9、有大資料開發經驗等等。
寫到這裡其實也差不多了,該發的牢騷也發了,經驗也跟大家分享了,幸好通過自己的努力之後結果還算不錯,也祝正在迷茫的兄弟們早日上岸。
準備實習或者跳槽但又心裡沒底的兄弟都可以拿我這份面試22家公司後自己整理的面試題自測一下。
視訊:2021自學Java,學到什麼程度可以找到不錯的工作?GitHub最熱Java學習路線分享
本作品採用《CC 協議》,轉載必須註明作者和本文連結