宜信技术研发中心暑假实习总结
宜信技術(shù)研發(fā)中心暑假實習(xí)總結(jié)
2016年7月5日,我來到宜信技術(shù)研發(fā)中心-研發(fā)九部任職開發(fā)實習(xí)生,截止到8.25日離職,整整50天。在這里我度過了一個充實的暑假,學(xué)到了太多的東西,在提升自己技術(shù)能力的同時也明確了自己的職業(yè)方向,收獲頗豐。
------題記一、初來乍到
2016年7月4日,人生中第四次抵達北京,對這座城市不是很陌生卻沒有好感。匆忙找到落腳的地方,和同學(xué)小聚之后,便開始準(zhǔn)備第二天的報道。
次日,便前往Soho現(xiàn)代城報道,和我一起入職的員工有哈工大的研一學(xué)長、武漢大學(xué)的研究生學(xué)姐、北郵的應(yīng)屆生學(xué)長和清華大學(xué)的應(yīng)屆生師兄,所以我感到很有壓力,但同時也是對我的一種挑戰(zhàn)。我很幸運,能夠在我大二的暑假有機會來宜信實習(xí)。
面試的時候面試的是Java崗,所以已經(jīng)做好了Java開發(fā)的準(zhǔn)備,而來到研發(fā)九部之后,我遇見了對我職業(yè)生涯有很大影響的Team老大(其實我開始以為他叫麒麟的(麒麟之才)),老大同我聊了很久,了解我喜歡的方向和技術(shù),我便主動要求去做一些實際的項目,于是開始了和Scala的邂逅。
這里說明一下我對宜信的初印象:入職的時候提供入職大禮包和免費午餐,宜信的辦公室命名風(fēng)格獨特,諸如太平洋、大西洋、火星、天王星等等此類。每周的零食和水果發(fā)放,取之不盡的coffee、奶茶等等。后來我才了解到,福利還有,轉(zhuǎn)正后可以申請免費的MacBook pro和超大顯示器,加班有免費的晚餐,等等。上班時間均為彈性工時,可以靈活調(diào)整。實習(xí)生一般9.30到,晚上6.30下班,午間一個小時的休息時間。
二、初出茅廬
自然地,被分配到宜學(xué)貸APP開發(fā)團隊做后臺,后臺是scala做的。一門新的語言對我來說是一個新的開始,在這之前玩過一點spark,掌握一點spark的RDD(彈性分布式數(shù)據(jù)集)操作,所以對scala并不是特別陌生。當(dāng)然了,不陌生和掌握還是有很大的差距。下面我簡單介紹一下scala這門語言。
Scala是一門多范式的編程語言,一種類似java的編程語言,設(shè)計初衷是實現(xiàn)可伸縮的語言、并集成面向?qū)ο缶幊毯秃瘮?shù)式編程的各種特性。對于Java開發(fā)者來說,面向?qū)ο缶幊虘?yīng)該不是什么問題,可是對于函數(shù)式編程來說,我們就是layman了。習(xí)慣了Java,開始學(xué)scala的語法倒是沒什么問題,可是當(dāng)實際應(yīng)用的時候,你會發(fā)現(xiàn)面向?qū)ο缶幊毯秃瘮?shù)式編程有很大的不同,主要是思維方式的轉(zhuǎn)變,你不再寫各種控制邏輯,也不要再寫滿天飛的變量。這種思維的轉(zhuǎn)變困擾我很久,習(xí)慣了Java命令式編程,所以改變起來不是那么容易。Scala具有非常強大的Future和Actor等高級特性,這里不做過多介紹了。
后臺框架用的是Play Framework,這是一個比較新的full-stack框架,包括一個簡單的無狀態(tài)MVC模型,具有Hibernate的對象持續(xù),一個基于Groovy的模板引擎,以及建立一個現(xiàn)代Web應(yīng)用所需的所有東西。
由于play框架比較新,所以只能通過官方文檔去學(xué)習(xí),對于英語不好的我來說的確是一大挑戰(zhàn),不過還好有有道詞典(哪里不會點哪里)。了解了框架,發(fā)現(xiàn)它真的很輕量級,作為一個web框架,play要比諸如SSM、SSH輕量級不知道哪里去。它自帶的模板引擎和jsp很像,所以上手也比較容易。
三、小試牛刀
6天的時間,初步掌握一門語言、一個框架、配好環(huán)境。第七天,就開始了我的迭代任務(wù)。我們做的是宜學(xué)貸APP的后臺,這里有必要介紹一下項目背景:
宜學(xué)貸是面向教育培訓(xùn)機構(gòu)和個人推出的普惠金融咨詢服務(wù),為學(xué)生及學(xué)生家庭提供信用借款咨詢服務(wù),推薦便捷、廣泛的資金來源,幫助學(xué)生解決資金壓力,獲得教育培訓(xùn)機會。
宜學(xué)貸填補了國家助學(xué)貸款以外的市場空白,無論是學(xué)歷教育、 IT培訓(xùn)、語言培訓(xùn)或是藝術(shù)培訓(xùn)、職業(yè)技能培訓(xùn)等項目,宜信普惠均可以根據(jù)教育培訓(xùn)機構(gòu)的特點,結(jié)合學(xué)生的具體需求,量身定制不同的“宜學(xué)貸”解決方案, 使學(xué)生可以輕松通過分期付款的形式來完成學(xué)業(yè),形式更靈活,申請更便捷。
宜信普惠作為 “教育培訓(xùn)信用借款”的專業(yè)借款咨詢服務(wù)機構(gòu),先后獲 得“教育培訓(xùn)助學(xué)貸款領(lǐng)軍企業(yè)”及“百萬讀者推崇的教育培訓(xùn)信貸服務(wù)機構(gòu)”稱號。宜學(xué)貸目前服務(wù)網(wǎng)絡(luò)覆蓋北京、上海、廣州等近40個城市,已為1000多家全國性、地域性合作伙伴的數(shù)萬名學(xué)員及學(xué)員家庭提供了便捷服務(wù),實現(xiàn)信用的價值。
宜學(xué)貸官網(wǎng):http://www.creditease.cn/yxd/
目前,為增強進件時效、簡化申請流程,宜學(xué)貸產(chǎn)品線已經(jīng)開發(fā)并運營了一款宜學(xué)貸APP應(yīng)用,為客戶提供借款申請、借款查詢、還款查詢等功能。
隨時業(yè)務(wù)的不斷發(fā)展、變化,秉承引領(lǐng)市場的宜信理念,需要適時推出一款全線上的宜學(xué)貸APP應(yīng)用,應(yīng)用更加先進、成熟的驗證、防偽技術(shù),在保證風(fēng)險可控的前提下,實現(xiàn)借款申請、快速審核、非面對面簽約、按客戶時間需求選時放款、線上還款等功能,更好的滿足學(xué)貸市場的需求,更好的服務(wù)于宜學(xué)貸的客戶。
初來乍到,對業(yè)務(wù)的了解真是知之甚少,所以在完成每一項迭代任務(wù)的時候,都要熟悉相應(yīng)的業(yè)務(wù)。總結(jié)一下自己完成的迭代任務(wù),六個迭代周期,大大小小我記得完成這些:
完成親屬稱謂后臺靈活控制
完成身份證兩次輸入不一致時身份證信息入庫;
Boss身份證展示
Boss下載合同PDF
Boss用戶注銷
線下合同可上傳銀行卡信息
完善進件聯(lián)系人親屬稱謂判定
完善手持身份證DAO
完成最新需求上傳身份證、銀行卡統(tǒng)一接口的編寫和實現(xiàn)
修復(fù)一些bug
完成boss每日定時器執(zhí)行sql并且展示
完善boss用戶管理搜索模塊
完善用戶管理模塊
完成位置轉(zhuǎn)換成經(jīng)緯度的接口,以及計算距離
增加聯(lián)系人親屬稱謂時錯誤信息返回的code碼
身份證驗證時,增加兩次認(rèn)證不一致時也入庫
(BOSS)放款對賬需要加關(guān)鍵信息并增加按日期查詢
完善boss端用戶管理模塊(查詢和注銷問題)
放款對賬需要加關(guān)鍵信息并增加按日期查詢
手工改為線下簽約的訂單,在收到信審?fù)ㄖ獣r不要重新獲取簽約方式
(完善)boss用戶注銷,刪除用戶token
(BOSS)放款點擊按鈕,必須返回提示。并增加放款列表
計算兩個經(jīng)緯度之間的距離
根據(jù)商家地址獲取經(jīng)緯度
(BOSS)可以通過輸入手機號碼,查詢對應(yīng)的機構(gòu)碼
定時執(zhí)行進件按城市統(tǒng)計和每日統(tǒng)計的SQL,插入數(shù)據(jù)庫中
找到點擊任何按鈕,(經(jīng)常)頁面意外跳轉(zhuǎn)到登陸界面的原因
重構(gòu)定時查詢功能,完成定時執(zhí)行sql
修復(fù)boss端頁面點擊放款詳細(xì)查看后,跳出到登錄頁面的bug
完成boss用戶注銷,刪除用戶token后出現(xiàn)加密解密異常,返回錯誤token的錯誤co de碼
完善手持身份證DAO
身份證信息更新改為新添
Boss端配置管理功能,原型設(shè)計
配置組各項配置的合理性校驗
四、工作日常
每個研發(fā)團隊都有自己團隊的合作模式,我們team的代碼管理工具采用基于內(nèi)網(wǎng)的gitlab,任務(wù)進度管理由開始的Tower轉(zhuǎn)而現(xiàn)在的Trello。每日一次的站會,跟蹤進度,每個人輪流說自己昨天完成的任務(wù)和今天即將完成的任務(wù)。每周一次的技術(shù)分析會,分析如何高效地工作和學(xué)習(xí)、算法或者技術(shù)工具相關(guān)等等。不定期的小組討論會,由于團隊成員互相挨的比較近,所以有什么疑問隨時提問,隨時有人給你解答。老大和鵬哥離得我很近,所以每當(dāng)我有什么疑問,都會隨時請教他們。
學(xué)貸團隊人員由產(chǎn)品經(jīng)理、安卓團隊、iOS團隊、后臺、測試和運維組成。我想來到宜信之后,很大的收獲是熟悉了大公司的軟件工程開發(fā)流程,從產(chǎn)品經(jīng)理引進需求(開需求分析會)、到組內(nèi)細(xì)化需求(把需求拆分為任務(wù))、再到組內(nèi)分配任務(wù)(開小組討論會)、獨自開發(fā) 、開發(fā)完畢后review code、Acceped Merge Request、合并到master,然后測試服務(wù)器部署、測試人員測試,最后到這一迭代版本的上線。整個一套流程下來,你會收獲到不少東西。我在這里的50天,支持了6個迭代周期,平均每個迭代周期為一周左右,由于學(xué)貸是今年3月才開始做的APP,所有目前學(xué)貸還不是特別穩(wěn)定,大部分的需求都是新功能而只有少部分的維護,所以對于我來說是一個很大的挑戰(zhàn)也是一個很好的機遇。
除了支持APP的后臺,還對宜學(xué)貸APP應(yīng)用運維管理系統(tǒng)進行功能開發(fā)(boss端),由于boss端是web項目,所以我上手起來還是比較容易。而對于學(xué)貸APP,前后端分離的項目,測試起來就要自己寫測試用例進行單元測試和集成測試。我覺得有必要強調(diào)一下測試用例的重要性,因為作為一名優(yōu)秀的coder,可能寫測試用例的時間要多于寫code的時間,測試用例是對于你思維嚴(yán)謹(jǐn)性的體現(xiàn),你會知道你寫的code有哪些隱患和不足,減少bug。測試人員真正的工作不是給你檢查出bug,正常到他們手中的版本應(yīng)該沒有bug,當(dāng)然了,這種情況過于理想。
五、實習(xí)收獲
有一點很大的感觸是老大教會我的,在開始coding之前,一定要充分明白你在做什么,就是你一定要充分理解需求,充分理解產(chǎn)品經(jīng)理的話,然后在透徹地理解需求的基礎(chǔ)上,結(jié)合實際業(yè)務(wù)場景去coding。不要盲目地去寫code,一定要明確目標(biāo)。
每一次和老大探討,老大都會教會我很多東西,12年工作經(jīng)驗,老大的技術(shù)能力早日超出架構(gòu)師的水平,讓我深深佩服。他總是能從各個角度出發(fā)思考問題,對我們不能解決的問題提出解決方案。具有很強的大局觀,能夠用長遠(yuǎn)的眼光審視代碼、重構(gòu)代碼。
在這里結(jié)實了很多朋友,full-stack的老大、嚴(yán)謹(jǐn)?shù)涅i哥、幽默的杰哥、帥氣的強哥、熱心的一為等等等等,在工作中給我莫大的幫助和指導(dǎo),感謝你們,希望有機會能夠再一起合作。感謝欣姐,對我姐姐般的照顧。再次感謝浩瑜學(xué)長內(nèi)推,感謝瀟瀟姐對我入職前的答疑解惑。
了解了大公司職位晉升機制,在公司里晉升與否不關(guān)乎你的學(xué)歷,而是你的個人能力、你的KPI、你關(guān)鍵時刻能夠頂住壓力、你的主觀能動性和自驅(qū)力。以前自己經(jīng)常糾結(jié)是否讀研,現(xiàn)在我想我已經(jīng)很明確了。當(dāng)然,如果讀研玩一些高科技的東西,也未嘗不可,很多公司在部分崗位招人的時候,還會限制學(xué)歷,是吧?
暑假實習(xí)之余讀了幾本書,分享給大家:
- 《代碼整潔之道》:只讀了前幾章。感謝老大,讓我學(xué)會如何寫出“優(yōu)雅”的code,這本書讀完或許沒什么卵用,但你會下意識地審視自己的代碼的可讀性、可維護性和可擴展性。這種意識要比你會寫出優(yōu)秀代碼重要得多。
- 《大數(shù)據(jù)架構(gòu)師指南》:這本書很適合想做數(shù)據(jù)卻不了解大數(shù)據(jù)的人閱讀,此書介紹了大數(shù)據(jù)的一些技術(shù),諸如Spark、Hadoop、Storm及大數(shù)據(jù)可視化的相關(guān)技術(shù)和背景,會讓你對Big Data有一個比較宏觀的認(rèn)識,清華大學(xué)出版,還不錯。
- 《數(shù)據(jù)挖掘?qū)д摗?#xff1a;記得以前立過flag,不搞機器學(xué)習(xí),獨醉Java。我想可能當(dāng)時太年輕了,這本書寫的通俗易懂,導(dǎo)論嘛,沒有太多復(fù)雜的數(shù)學(xué)公式,入個門還是不錯的。想做數(shù)據(jù)挖掘的童鞋可以讀此書入門,歡迎與我交流,一起進步。
- 《機器學(xué)習(xí)實戰(zhàn)》:這本書只看了前幾章,自己閑暇之余用python實現(xiàn)了比較簡單的算法,例如KDD、決策樹、Logistic回歸等等比較簡單的算法,大三繼續(xù)看下去,把各種算法實現(xiàn)一遍。
- 《快學(xué)Scala》:學(xué)習(xí)Scala入門推薦首選,想當(dāng)時六天時間一門語言、一個框架大致內(nèi)容記一遍也是挺不容易的,這本書說實話有的地方翻譯的不是很準(zhǔn)確,但是入門絕對夠了,寫的比較易懂。如果想了解scala的更多細(xì)節(jié),不妨讀一讀《Scala編程》這本書,是老大推薦的,需要pdf版的可以私戳我。
六、娛樂時光
暑假的娛樂時光非常瀟灑,在傳媒大學(xué)附近住10天左右之后,我便如約住到哥們寢室去了—北京化工大學(xué),在那里:二人世界咔嚓,空調(diào)WiFi西瓜,2K15一打,雷霆火箭互殺。我想這也是為什么在北京近2個月未曾感到一絲孤獨,因為有兄弟陪伴?;疱?、燒烤、烤肉、驢肉火燒、海底撈、西餐、綠茶、必勝客,還有吃的最多的牛肉炒飯。我想這些都是我珍貴的回憶。
住在化工40天,節(jié)省了約3000元的住宿開支,四年兄弟情,無以表達感謝,來日方長,希望情誼長存。
七、未來展望
我想我已經(jīng)決定去做Distributed computing和Data Mining了,毫不猶豫,下學(xué)期加入王老師的海量數(shù)據(jù)研究中心,希望接觸到更多實際的項目。
之前把玩過Hadoop、Spark、Strom,也就是寫寫WordCount,搭搭偽分布式或者本地分布式環(huán)境,已經(jīng)忘得差不多了,接下來抽時間細(xì)作WordCount,接觸實際項目,把上述框架把玩一遍,深入了解下ZooKeeper、Hive、Pig、Hbase此類,之前了解的不夠深入,當(dāng)然,爬蟲還是要學(xué)的,暑假之余了解了py和Scrapy,python的確是一門出色的語言,能做很多事同時也非常簡潔,接著學(xué)學(xué)Scrapy,爬爬網(wǎng)站。至于Lucene、Nutch、Solr此類,有時間再學(xué)深入了解吧。還需要掌握下Nginx,目前做負(fù)載均衡用的還是比較多的,我們的項目也在用到。
記得和老大說過這樣一句話:我只能看得到自己一年后的樣子。正如老大所說,這樣的人生才有意義,不然,倘若你看得到十年后的樣子,豈不是人生很無聊嗎?
八、特別鳴謝
我想我最應(yīng)該感謝的是研發(fā)九部老大徐Sir,我的二面面試官,是您給了我實習(xí)的機會,我一直心存感激,珍惜在宜信實習(xí)的每一天,沒有太多機會和您促膝長談,只是離職前有機會和您聊一次,感觸頗深。誠然,基礎(chǔ)非常重要,我會謹(jǐn)記您的教誨,夯實基礎(chǔ),努力成為一名合格的軟件工程師。
再次感謝Team老大,您這段時間教會我太多東西,不僅僅是技術(shù),還有其他更重要的東西。您是一名出色的Leader,善于與人溝通交流,積極組織團建,帶動氣氛,當(dāng)Team里有人遇到困難的時候,您都同他長談,解決疑惑。您是我的榜樣,我希望以后可以跟您一樣出色。
再次感謝鵬哥、杰哥、一為,認(rèn)真耐心地回答我每一個問題,教會我很多技術(shù)細(xì)節(jié),希望有機會能再次合作,像你們學(xué)習(xí)。
附上我的離職申請:
最后送給自己一句話,與君共勉:
通曉天下武功而百無一用,其實和不出家門的書生也沒太大的區(qū)別;
學(xué)盡世上技術(shù)但做不出成功的產(chǎn)品,一樣是毫無意義。
所謂知行合一,實在缺一不可!
一萬小時的努力是任何人從平凡到超凡的必要條件!
總結(jié)
以上是生活随笔為你收集整理的宜信技术研发中心暑假实习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arch 服务器系统,arch linu
- 下一篇: 远程服务器和宽带连接711有关系吗,宽带