大家好,我是melo,一名將近一年的后臺練習生,2021即將告別我們而去,一年的練習生涯即將結束,趁著跨年之際,抓住生涯的末尾,對2020以及2021年做了一次復盤,
????大學前的暑假
高考結束那會,我只覺得考得很崩很崩,不想談論試卷,回到家就是一股腦的把自己泡在游戲里,碌碌無為的過著每一天,沒有勇氣去直面高考,
高考填報志愿那會,在出省與不出省之間糾結,211還是計算機資源(作業室氛圍與資源),最終選擇了后者,
等到游戲打夠了,靜下心一想,雖然念的大學跟平日里模擬的落差很大,但所幸所讀的專業還是自己一直以來心心念念的計算機類,開始拾起曾經自己的夢想,
開始咨詢同鄉會的師兄姐,開始在b站上自學c語言,翁愷老師的課程真的是生動有趣,有很多有趣的思維題,就這樣“玩玩鬧鬧”到了開學......
截圖至今都還保存著
????大一上 --> 栽了更頭
開學后,不知道從哪聽說到了acm這回事,雖然心心念念的還是作業室,自己更想要的也許是長久積累沉淀,最終完成一個專案的滿足感,而非在四五個小時賽場上的緊張刺激快感,不過抱著試一試的心態,還是去嘗試了一下,畢竟作業室也是大一下學期才開始招新,
??ACM之旅
準備Acm協會設計部的面試與筆試程序中,初次接觸了杭電oj,洛谷等刷題網站,設計部的考核有兩種方式,一種是做題,一種是設計海報(高中學的ps早就忘光光了hhh,小后悔當時沒做筆記),最終硬是靠著暑假學的一點c語言和翁愷老師的思維題通過了筆試,成功加入了Acm協會設計部,
在協會里邊認識到了很多不錯的師兄與大佬(很多都是OI生,起步早我們很多很多),開始了一邊刷題一邊接受演算法培訓課的艱苦日子,一切向著最終的新生賽進發.......
在新生賽之前,協會的月賽我也都有去參加去練練手,當時自我感徑訓算不錯,取得的成績排名也還可以,不過發現自己似乎只是為了一個目標,忘記了去靜下心來體會比賽對自己有沒有樂趣可言..
最終新生賽了,如果按月賽排名的話,是可以進入集訓隊的,只不過沒想到的是,為了照顧到更多的新生,今年的新生賽注重的是數學與思維題目而非特定的演算法題,覺著特定的演算法題對非協會人員不太公平,而平日里那些模擬,思維題自己都不加重視,做過去沒有舉一反三多加擴展,一變了題就GG了,而且新生賽真的突然多出來好多陌生面孔好多大佬啊哈哈(果然大佬都不稀罕打月賽),最終也是在決賽里栽了更頭,沒能進隊,
結合高考失利的成長
實際上,繼高考后的再一次失利,我還是如高考般不愿去面對,不想談論題目,自己跑到了食堂,覺著自己對不起師兄,一直以來請教問題,一直以來的努力似乎都白費了,
不過這一次也有所不同,或者說自己更成熟了點,會靜下心來思考一下這個程序自己是不是樂在其中,還是只是為了進隊這個目標,細思幾分之后,才想起當初選擇大學的時候,看重的是作業室做專案,自己更習慣更想要的也是長久的積淀出一個完整的專案,同時,我也意識到了自己如果只是功利的為了實作某一個目標的話,會經常去抉擇“優先性”,覺著哪些題比較重要,哪些題應該是不考的就沒放那么多心思在上邊,新生賽跟高考一樣,都是突然變數很大,跟自己平日的模擬很不一樣,
但如若總是念著變數很大,題目很不一樣,其實有時候只是在逃避問題,也許最終的失利,恰是因為自己平日里沒有舉一反三,沒有深入問題的本質,總習慣性的功利性的去“押題”罷了,
積攢的一些小筆記
c++中的stl學習
洛谷記錄
當然很多是重復的AC記錄啊哈哈
塞翁失馬,焉知....
沒有了新生賽進入集訓隊的目標后,其實也給了自己好好準備大一下專業分流的機會,有更多的時間和心思去準備學業,最終也是考出了心儀的成績,分流到了心儀的班級--軟體工程卓越班,
C語言課設
主要實作的是一個自動售歡訓,可以實作基本的用戶注冊,登錄進入售歡訓界面購買,管理員CRUD商品,所用的技術主要是:檔案流操作,動態鏈表(當時的課也就講到這里)
主頁面
顧客界面
管理員界面
圖形化界面版本
后邊因為學校不讓用VS,非要我們用上古神器Turbo C++ (真是李大普,最后還是拿著上邊的版本去參加學校的課程設計大賽,拿到了二等獎)
最次吐槽一下,課設大賽是等到大一下臨近期末才舉辦的,拿著久違生疏的代碼實在提不起興趣,對這個比賽本身也沒有多大期待,emmm看到有些同學甚至準備了比賽答辯的PPT,自己屬實是不上心了,
主頁面
顧客界面
管理員界面
笑死了,這一塊就隨便做一做的
????大一上寒假
忙活完考試,該拾起最初的目標了--進軍作業室,改變學歷啊哈哈哈,
易班(大一加的社團)的師兄師姐們真的幫了我很多,很慶幸當時還多報了一個社團,兩個完全截然不同的社團性質,易班帶給我的不僅是前端后臺知識,更多的還是作業室氛圍,以及大學社團的文化特色,寒假的時候,也是跟師兄要了學習路線,我算是比較明確的就選擇了后臺這條路,當時看的高淇老師的基礎課,敲著敲著就到了大一下,作業室開始準備招新的時間段了,
????大一下 --> 改變學歷
??作業室之旅
開學不久,各大作業室便開始陸續招新,聽了好幾個宣講會,最后比較喜歡研發師兄姐的熱情態度,以及宣講會活躍的氛圍,一輪便下定決心專心做好研發的考核,要說acm鍛煉了思維和碼力,那在這兩輪的考核期間,則是鍛煉到了復雜的業務邏輯處理能力,以及各環節之間耦合度的處理,
作業室的考核,周期相對比較長,分為了兩輪,雖不至于像比賽那般緊張刺激,但到了ddl的時候,還是會忍不住去繼續優化和完善功能,
第一輪考核--鹽系筆記
我們第一輪考核的內容是設計一個本地筆記軟體,類似于甜不辣這種,在這一階段,技術要求方面是在JavaWeb之前就可以了,優化和GUI占了一大塊頭,我本人是比較喜歡樹狀結構來梳理筆記的,當時就決定要做這一個功能出來,對應到Swing里邊就剛好有一個Tree控制元件,
UI就將就看看吧,Swing是真的丑
第二輪考核--網頁微信
第二輪考核就需要用到JavaWeb了,還需要學習前端三件套自行搭建一個網頁微信出來!!!沒錯,幾乎微信的很多功能我們都實作了,在線聊天還需要用到WebSocket,
emm但是感覺二輪考核的時候,65%的精力都在前端上邊啊哈哈,一輪考核期間封裝好的都直接拿過來用了,相關的留著以后再講,下學期還要招新呢,不能把題目透光光了,
最終經歷了兩輪考核,從寒假學的Java基礎,到二輪考核做出一個網頁微信出來,涉及到的知識點很多很多,JavaWeb,MySQL,Git,Websocket,更重要的是優化方面:因為考核要求不能用框架,優化層面主要是采用了反射+泛型封裝好BaseDao資料層,還有手寫的資料庫連接池,工廠模式+組態檔生產相應的JavaBean(后來改成動態代理+工廠生成代理物件了),動態代理實作全域例外處理和日志列印,單例模式和建造者模式的巧用等等,這些優化,才是寫專案真正的樂趣所在!!
關于這些優化,以后要是有時間的話會來補上博客的!flag插這了
????大一下暑假
考核完其實差不多期末了,直到寒假才有機會來繼續學習后臺方面的知識,到這個階段已經要上升到框架的學習了,當時是滿懷敬畏之心,躍躍欲試上手框架的,從mybatis開始,再到spring和springmvc.....,但是突然就感覺,好多原本自己考核優化的工具類,引以為傲的東西,其實人家都封裝好了,直接開箱即用....,到這個階段,寫起代碼來更多變成會用并記住怎么用,我們的目光變得更多放在業務和架構層面上,而這一階段,也還沒有時間去深入框架的原理,學習新框架感覺也失去了樂趣,改變了學習計劃,打算先把基礎的,永恒不變的東西先學好-->資料結構和設計模式,
學習資料結構的程序,一方面是考慮到下學期也有開設資料結構課,另一方面也是希望能早點開始每日一道LeetCode的節奏,不過一開始的刷題還沒那么帶有目的性,只是隨意刷刷,學到哪就刷刷哪個模塊的題目,就這樣從鏈表的一些特殊操作,LeetCode題目開始,學習堆疊和佇列,最后學到了快速排序那一章節,設計模式,斷斷續續也就學了工廠模式,單例模式,
所學清單
- git鞏固和實戰模擬沖突
- maven依賴原則
- spring
- springmvc
- mybatis
- springboot
- mybatis-plus
- 設計模式(零零散散主要是暑假看)
- 多執行緒和并發鎖事(主要是開學頭看,還有一些沒看完)
- 資料結構與演算法(到排序)
- Nginx(很多進階還沒學)
- Linux服務器應用
- shiro權限框架(學習中,后邊沒用到也就沒深入學了)
練手專案
第一次團隊開發,雖然沒得線下協同合作,單純只是在線上合作,合作開發了一個作業室招新小程式和作業室招新后臺管理app,第一次了解了一個專案的開發流程,我們總共有五個小組,UI,前端,后臺,安卓,大資料,
- 各組討論定好需求檔案,然后后臺開始設計資料庫,搭載環境,UI開始畫稿,
- UI畫稿,定好稿子,
- 前端和安卓拿到原畫稿,開始畫頁面,
- 前端和安卓決定好需要什么介面,介面的傳遞引數回傳引數等,然后分發介面任務給我們后臺去撰寫,
- 后臺開始撰寫介面,然后測驗沒問題之后撰寫介面檔案,交給前端和安卓,
- 測驗階段完成,后臺開始配置一些上線后需要的環境,攔截器之類的東西,同時進行一些優化,
專案優化
- 全域例外處理
- AOP實作例外日志單獨列印到特定檔案
- WebSocket實作App實時通知
- mybatis攔截器記錄日志
- 引數自動校驗
- 預防XSS攻擊
??大二上 --> 沉淀技術
終于,熬過了寒假的線上合作開發,來到學校作業室給我們分配好了工位,終于可以開開心心當個"打工人"了,有了工位,不用再每天匆匆忙忙趕圖書館搶充電位,晚上圖書館又早早閉館不得不回宿舍,剛開學季空閑時間還是比較多的,在還沒真正開始開發專案之前,又回顧了一下寒假所學的知識,再學習了Linux,nginx,redis,maven私服,
第一個維護專案
很快,我們拿到了第一個專案,師兄繼承下來的維護專案,一開始拿到師兄的專案時是絕望的hhh,專案的復雜度很高,各個模塊之間的關聯性又很強,通常需要我們結合師兄撰寫的模塊關聯圖,模塊功能流程圖,再通過網頁控制臺介面呼叫,debug除錯才能對該模塊有較為清晰的理解,
識訓
學會了如何閱讀他人的專案
- 有介面檔案優先看介面檔案,然后搭配網頁控制臺,在后臺相應介面處設定斷點debug,理解該介面的呼叫程序
- 有條件的話還能去打開前端專案,直接搜索某個介面名稱
第一個從零開始的專案(尚待優化)
這個專案主要是實作一個預約搶票+現場排隊叫號的系統,有點類似于醫院掛號,提前預約好特定的時間段,然后到現場叫號,說來也巧,這個專案中就剛好用到了并發和redis相關的知識,
關于這一塊優化,后邊還會再專門拿出來講講,說起來,自從做起專案以來,就很少更文了,
技術堆疊識訓
- RestTemplate呼叫介面
- MapStruct實作VO跟PO的轉換
- 多資料源配置
- SpringBoot抽離yml部署,bat運行
- 定時任務
- JMeter并發測驗
- 微信授權登錄,喚起掃一掃功能
- Java中的各種日期
課程設計--字典樹實作背單詞軟體
最近臨近期末,剛好在搞課程設計,選中的題目是字典樹,字典樹普遍的應用都是用在過濾文本,過濾敏感詞匯,未免單調了些,過濾的作用還能體現在哪呢?某天突發奇想,想到不妨用這個過濾來過濾單詞呢?首先搭建一個高頻詞匯表,一個用戶自定義熟詞表和生詞表,進入背單詞模式時,就可以選擇用熟詞表來過濾高頻詞匯表中出現的單詞,以此達到拼寫+背誦的功能,由于現在還沒開始答辯,暫時還不方便放出來,后續有機會的話我們再單獨放出來瞅瞅,
不過這個課程設計僅限于C語言實作,做起了實屬吐血,也沒有心思去搞圖形化界面了,單純加深對字典樹的理解,
所學清單
- 資料結構到圖 (主要重心,幾乎兩三天就會做題,但主要是學校的anyview平臺) -- 做專案就很少更文了,下次一定!
9月和10月做題比較多,回圈佇列,排序和哈希
11月開始跟著學校的樹課程,12月跟學校的圖,這段時間還是專案為主
- Dubbo+zookeeper應用 (10-12到10-17)
- redis (斷斷續續10-21到11-4)
- maven私服 (斷斷續續10-22到10-24)
- mybatis-plus
- JUC(零散的筆記,有空整理成文)
- jwt(很小塊的一個筆記,但是蠻重要的)
- Nginx專案應用(服務器之間的各種跳轉)
- SpringCloud組件(主要只是視頻學習,還沒真正實戰)
- Docker(視頻)、RocketMQ入門
??存在問題
卷?
雖說自己平時不是很卷,到了考試前才會開始比較卷一點,像上文說到的,大一上準備acm的時候,在新生賽之前的課內課程,內心是有點抗拒想盡量拖到比賽后再認真學的,以及大一下作業室考核期間,身邊的小伙伴很多都沒去上課,熬夜趕工,我好像還是兢兢業業去上課了hhh
但是真正學還是等到比賽結束,作業室考核結束,還有考試月可以好好卷,刷往年習題,相當于考核后就已經全身心扎在學習上了吧,繼續深入后臺方向的知識還得等到寒假的時候了,
這種卷是否有意義呢?
最后得到的成果,雖說也不賴,但總感覺不是很實質性彰顯技術水平方面的,都是一些其他的Buff加成,校一等獎學金,優秀學習標兵獎,還有大一上的時候四級考了605分,大二上也就是一周前還在速成備考六級 (說到這個已然麻了),
身處"卷"中風暴,需秉持自我
現在分流來到了最"卷"的班,立志今年不卷的我,有時候也很難做到啊喂!!
不過有在慢慢變得不那么"卷"了,現在已經臨近考試周了,還沒開始備考(甚至還想趁著大家都在復習,有些課自己平時有聽可以稍微放一放,不想分配那么多時間在備考上,考試周這么大塊的時間不如接著學點新技術hhhh),屬于是擺爛中....就是不知道會不會擺爛擺過頭掛科了(bushi)
綜合能力
急躁
如果是專案中遇到了問題,會比較想趕快解決,沒有系統的去學習,而是抱著試一試的心態,盲目的找尋解決方案,沒法靜下心來去認真思考,
全能or全不能
對很多事情,會想著盡量學得細一點做得認真一點,不會說過多的甄別重要性與否,學得細,做筆記,寫博客,然后發散和回顧知識點,
不過也因為這些總結和發散的時間,少了很多去學習新知識的精力,視野方面就稍微狹窄了一點,所用的技術堆疊也沒有更新,
- 相關的總結發散主要在這篇專欄中,后續作業室招新大一新生的時候,也會再來回顧回顧一些面經:聊聊Java
不過感覺所謂學得快,也只是接觸得多,會用而已吧?真正深入原理的還是偏居少數,
軟實力方面
會嘗試去跳出舒適圈,曾經自己是個不太愿主動表現的人,現在在社團中擔任部長,以及作業室擔當負責人,很多大大小小的社團活動,康樂活動都需要策劃和組織,雖然感覺只是單純的"苦力活",不過想真正做好還是需要考慮到很多方面,更需要跟成員們打好交道,協調好各個部門,向他人呈現出最好的我們,
學習方法
筆記太"多"
在學習的程序中,會過分追求筆記的完整性和工整性,找一個學習視頻之前會習慣于先去找有沒有現成的全面的筆記,只看重了完整性,雜而不精,
很多用法性的筆記其實可以不用記太多,這些到時網上一查就有了,
- 真正應該記的是總結性,思考性,或者說能夠輔助自己記憶的筆記,
身心狀態方面
窩在作業室窩久了,一整天沒運動,大概是早上/中午吃完飯過來,中午在工位上倚著電腦椅仰睡20-30分鐘,晚餐吃外賣,待到晚上10.30左右,
下學期爭取晚上早點回去,趕上10點可以去操場跑個步!
??感謝博客園
博客園算是一個老牌博客網站了,文章的質量和數量在各大平臺中都算佼佼者之一,這里的程式猿們,給出的意見和建議也特別多,評論氛圍相較之下更優一點,在這里的每一篇隨筆,雖然自己積攢了很多筆記,但是要整理成一篇博客,還是需要多加潤色,以及發散知識點的!!
- 同時這里的高水平高水準,也讓我的某篇博客引發了諸多"歧義",自己對于其他語言的理解不全面,很多東西只是知道理論沒有深挖底層,導致鬧了笑話,一度還上了評論榜(尷尬).
??新的一年
寒假
把這學期的專案以及下學期要用上的作業室招新小程式,APP用所學的分布式知識優化一下!!!分布式的深入應該暫時還不會踏足,趁著寒假有大塊的時間,把JVM和設計模式,并發瑣事,MySQL高級這些大塊頭再深入一下,
大二下學期
學校終于要開設計網和作業系統了,作為以后面試的敲門磚,要好好啃起來,開啟讀書模式!
與此同時還有一門演算法課,可以來拾起大一上那些演算法了,跟著三葉姐的腳步!!!
?
最最重要的,希望自己不再是一個“全能”的人,能在某一個領域專攻,或原始碼,或演算法,或比賽,或開源專案!!也想知道有哪些比賽,開源專案是比較值得參加的,就目前了解的還比較少,歡迎一起交流!!
愿:永遠年輕,永遠熱淚盈眶,永遠在路上...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404288.html
標籤:其他
上一篇:云原生愛好者周刊:Grafana Loki 免費電子書
下一篇:華為應用內評論測驗要求
