前言
????????本人目前在一家小公司后端開發實習差不多兩個月了,現在準備離職了,就這兩個月的實習經歷寫下這篇文章,既是對自己實習的一個總結,也是給正在找實習的小伙伴以及未來即將進入到后端開發這個行業的同學的分享一下經驗。
一、個人情況及實習公司情況
????????首先,本人是非科班出身(數學系,本科信息與計算科學,碩士數學),跟著黑馬自學的java后端,差不多學歷3個月吧,找實習之前學完了某某外賣項目和魚皮的RPC框架項目(簡歷上寫的也是這兩個項目),由于是瞞著導師偷跑的(導師放養,主要靠博士師兄,哈哈),所以就找了附近省會城市的一家公司,工作時長是8小時工作制,早9晚6點半,中午休息1個半小時,實習生不要求加班。
? ? ? ? 實習的公司說實話挺小的(雖然這邊是分公司),我在的這個組6個后端+4個前端+2個測試,帶2個實習生,還有一個架構師,產品經理都不在這邊。(Ps:公司在這邊沒有業務,感覺這邊開分公司純屬是因為這邊的人力資源便宜)
二、實習過程及注意事項
????????上來第一周主要還是熟悉環境,沒給安排什么業務。公司給配了一臺全新電腦,第一天早上去的時候顯示屏還在包裝盒里,人事說她不會,讓我自己裝(Ps:正式員工都有兩塊顯示屏,我們實習生只有一塊),第一天主要是在配環境,安裝各種軟件,開通各種平臺賬號。第二天參加了員工培訓,培訓完居然還要考試!!后面就開始看代碼,一開始只給開了一兩個模塊的代碼權限,看的要吐了。
接下來,根據我自己的經歷總結了幾點新人注意事項:
- 新人剛來要問清楚公司項目的JDK版本,項目是使用Maven還是Gradle以及對應的版本,問導師或者領導要settings.xml文件,公司一般都是有Maven私服
- Git要熟悉,常見的切分支,合并分支,提交,推送代碼要熟練,每次提交代碼之前前要合并分支,一次不要提交太多代碼,容易產生沖突。(Ps:有個老員工教的,每次提交代碼操作:Ctrl + t,Ctrl + k,Ctrl + Shift + k,哈哈)
- 公司電腦都要裝保密軟件,離開公司網絡,文件內容都會顯示亂碼,圖片也會看不清,在家里只能通過遠程連接進行工作
? ? ? ? 第二周領導安排了一個代碼重構的任務給我,說不限時長可以慢慢弄(Ps:要重構的代碼中有一個方法1800多行,整個程序3000多行,給我看吐了),終于在AI的幫助下,通過提取公共方法,添加注釋,枚舉類,采用工廠模式+策略模式對整個程序代碼進行了重構,大概花了3天,中間領導還給提出來不少意見(Ps:沒有AI我真的要栓Q了)。
? ? ? ? 第三周主要是在協助架構師,他想升級項目使用的Spring版本,我就跟著他在研究Spring源碼,版本差異以及將其中的模塊打包發送到指定位置,后面又讓我研究了國產的海量數據庫,公司項目要兼容這個數據庫。
????????后面開始給我安排一些業務上的工作了,基本上都是單表或者多表的CRUD,業務功能需求開發主要流程大概是:產品經理給一個需求文檔——>開會,理解各自的需求——>開發,并與前端對接——>前后端開發完畢,提交給測試人員進行測試——>改測試發現的Bug——>功能上線。(Ps:這里吐槽一下公司產品經理寫的需求文檔,太粗糙了)。
這里我也總結了幾點注意事項:
- 需求一定要理解到位,不明白就要問領導問產品,不要自己瞎寫,寫出來很可能不符合需求,浪費很多時間
- 要跟前端溝通好,她傳過來的是什么數據,你要返回給她的是什么數據,不要自己瞎寫
- 公司的項目會與自己開發的項目有很大不同,在框架層面就會完成許多功能的實現,不是所有代碼都需要自己寫,此外代碼規范也有很多要求(比如拋出的異常是要按照定義好的模板統一格式等等),剛開始上手的時候可以參考模塊中的其他功能的代碼
? ? ? ? 實習期間也改了不少Bug?,基本上都是什么空指針異常,接口響應速度太慢這樣的問題,沒什么難度。
三、收獲總結
????????這次出來實習雖然只有短短兩個月,只是一個小公司,但這次實習還是讓我受益匪淺,主要包括兩個方面的提升:1.人生閱歷上的提升;2.技術上的提升
- 第一次出來租房踩到的雷,自己買菜做飯踩到的雷,職場與學校兩種截然不同的感覺,一個人生活的孤獨感(Ps:一個人來到一個陌生的城市獨自生活的感受只有親身經歷過才會懂,之前在學校待的有點不耐煩了,真正踏入社會時才感受到學校的生活是多么美好和輕松)
- 從技術上看,之前自己僅僅只學習了3個月的時間,實際工作時才能感受到自己技術上的粗糙,以前寫項目時很多不規范的地方,自己都沒注意到,到工作上時全部都暴露出來了,領導一眼就能看出我寫的代碼哪里有問題(盡管能夠實現功能需求),兩個月的實習,一開始總是要借助Ai工具,后面逐漸可以獨立完成功能開發了
就寫到這里吧,歡迎大家在評論區分享自己的實習經歷和感受