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