學習、工作心得分享-2017

2016過去了,2017來了,你好,2017!感謝你2016,你帶給我太多的驚喜和不捨。今天我寫下一路辛苦做出的總結,希望有一天有人看到這份總結,因爲這份總結而少走一些彎路,少趟一些雷。也希望當有一天我站在高處回頭望時,這份總結不會因爲時間而塵封,依舊那麼閃亮!

一、學習(目的性一定要強)

學習過程

  • 夯實基礎:語言基礎、第三方庫、多瞭解底層(系統層面、協議層面、語言實現層面)
  • 量變到質變:多敲、多看書、少看視頻、找到弱點大量練習
  • 記錄:記錄學習過程、學會總結、寫blog、豐富自己的github
  • 交流:少說多看、少問多想、分享成果與過程、拉幫結派、團伙作案
  • 投資:買書、補課培訓、學會計算投資與回收、投資時間
  • 英語:必須掌握好,甚至要達到母語水平

技巧:

  • 搜索引擎:谷歌-》必應-》百度
  • 一手資料:閱讀官方文檔,其次是翻譯過的或者別人總結的
  • 利用清晨:一篇新聞、一篇博文、一篇總結和計劃、找出難題中午吃飯之前解決
  • TODO:制定TODO、利用鬧鐘提醒、TODO做完寫出要點
  • 發散:擴大知識面(不只是技術方面)、讀讀心理學(瞭解別人想要什麼)、開腦洞、多看科幻
  • 總結:總結出來不是高手,高手是用一句話總結出來
  • 會睡覺:安排好作息時間,熬夜學習不划算
  • 零散時間利用:利用坐車、等人、吃飯時間嘗試閱讀書籍或利用移動設備看學習相關的視頻

學會提問

  • 謙虛:不分回答的人年齡、地位 保持友善,甚至是尊敬 聽人說完,想想再繼續問
  • 問到點:問之前先把問題想清楚,一句話問到位 問之前一定自己把問題全面考慮過,嘗試解決過
  • 仔細想:不是每個人回答者都很耐心,所以記住人家的話,仔細品味思考,爭取不要問第二次

二、面試(如果你是處,那就先面試一百家)

簡歷

  • 造假:簡歷寫的天花亂墜,吹牛逼上了天,只能讓你吃不了兜着走 適當造假,面試之前想好怎麼圓謊
  • 不造假:實事求是,會什麼寫什麼,不會的千萬不要寫
  • 適當美化:不要千篇一律、有自己的模板、不花哨 聯繫方式加粗 多寫專業名詞 按次序寫 重要的寫前面
  • 不要廢話:精簡 頁眉頁腳寫Blog、github地址 不要寫與專業無關的 寫出特色
  • 寫要點和績效:項目要點、技術關鍵點、產生多少效益

投簡歷

  • 懂市場:所在城市行情、同水平薪酬範圍、不要去智聯和51job(首選拉鉤、Boss直聘)
  • 先調查:查企業信用公示板、企業註冊登記查詢 百度、知乎等搜索企業信息
  • 抓住機會:不要因爲待遇問題而喪失機會 不要怕,不敢想

筆試

  • 鑽空子:可以字數寫多,字寫的不好看
  • 做題:可以做,不要刷,找目標公司以前的面試題

面談

  • 渴望:表達對目標公司的渴望,降低自己的身份
  • 不要說謊:實事求是,真誠的看着面試官的眼睛
  • 錯了就問:答錯了直接問爲什麼,與面試官簡單討論(不宜討論時間過長)
  • 衡量自己:自己值多少錢就多少錢,不要高也不要低
  • 善待面試官:切記不要頂撞,不要自以爲是 真誠、尊重

三、工作(用心)

選工作

  • 外包:外包並不一定好也不一定壞,好在鍛鍊人,壞在不當人,適合初學者
  • 非外包:看產品,看用戶量
  • 傳統:流程完善,可能生產力低,適合初學者
  • 互聯網:敏捷比較多,生產力高
  • 小公司:全方面鍛鍊,加快學習
  • 大公司:一個蘿蔔一個坑,全靠自己才能升

放開

  • 思想:都是同志,互相分享互相信任 不要怕面對上級 多一些思考多一些點子
  • 技術:貢獻自己會的,能做的 嘗試用創新解決團隊問題

小心

  • 說話:先想再說 多問少說 不要順嘴就說
  • 本職工作:不要毛 不要慌 不要手抖 多測試

多想

  • 業務:業務第一,想不明白就問,問不明白多想,多參加業務培訓
  • 技能:技能第二,還是持續學習,多想爲什麼(爲什麼這麼實現,爲什麼用這樣技術)

降低身份

  • 對上:保持恭敬而不低三下四,善意真誠直視對方,適當讚揚
  • 對下:保持平等而不高傲,微笑面對對方,適當關心
  • 對外:對客戶=對上,對其他人=對下

先解決別人的問題

  • 用戶爲先:把用戶當傻子、自己體驗自己的產品、盡力完善用戶需求和體驗(不合理的需求要學會爲客戶變通)
  • 幫助別人:舉個例子,當你解決了dba連接數據庫的工具,那dba就會幫你解決你sql語句查詢慢的問題

天助自助者

  • 學習:持續學習,夯實基礎,掌握方法,記住核心
  • 忙碌:多加班,充分利用8小時,如果不累中午多學習,快速完美的完成任務,不瞎忙
  • 擴大影響力:組內-》部門內-》公司內-》公司外,參加各種大會(嘗試演講),與別人討論

四、技術(持續學習,夯實基礎,大量閱讀代碼)

java

  • 基礎:語法、類和對象、static作用域、IO、語法糖、java core、反射、異常 api、collections用法與底層實現
  • 框架:spring mvc、spring、spring boot、mybatis、slf4j、maven、apache commons、fastjson、ProtoBuf、xml、httpclient等等
  • 設計模式:單例、工廠、策略、裝飾者、建造者、觀察者、適配器、依賴注入與控制反轉
  • 多線程:concurrent、隊列、生產-消費者、鎖(悲觀與樂觀)、信號、共享內存、各種數據結構在高併發下出現什麼問題
  • jvm:gc、內存模型、字節碼格式、反編譯、閱讀openjdk源碼和jvm規範、jvm參數、內存分析工具
  • 高併發:nio、多線程、dubbo、緩存、消息隊列、反向代理與負載均衡、jmeter、loadrunner

c

  • 算法與數據結構:堆棧、隊列、鏈表、哈西、樹、圖,查找、排序、其他更專業的算法和數據結構
  • 各種lib:libevent、libcurl、qt、數據庫驅動等等
  • 模型:epoll、select、零拷貝、事件、回調鉤子等
  • 協議與驅動:tcp、udp參數和報文狀態、http協議,學會抓包,嘗試編寫硬件驅動
  • 指針、宏、結構體:函數指針、指針函數、引用與句柄、野指針、多級指針,指針壓縮,宏運算、宏展開、宏條件判斷,結構體嵌套,結構體序列化與反序列化,結構體、聯合體壓縮
  • gcc:gdb、gcc優化等級、自定義gcc,利用makefile

linux

  • 基礎:常用命令、網絡配置、倉庫、vi、bash腳本語法、計劃任務、鑑權、文件系統、引導裝載程序
  • 服務:ntp、nfs、iscsi、dns、dhcp、autofs、udev、cron、syslog以及其他第三方服務(ngix、apache、tomcat、vsftp等)
  • 性能與安全:內核調優、啓動調優、針對服務調優、鑑權、災備、chkrootkit、rootkithunter
  • 監控:top、netstat、iostat、htop、vmstat、ps、lsof、nagios、tail -f查看日誌
  • 自動化:bash、python腳本,自動化部署、自動化運維工具,蜜罐、ips

數據庫

  • 基礎:sql語句(DDL、DML),數據庫架設,查看日誌 事務隔離級別 存儲引擎特性
  • 執行計劃:explain,看懂查詢計劃並優化
  • 索引:什麼語句用的了索引,什麼用不了索引,聚集索引與非聚集索引,什麼列該加索引,什麼不該加,最左原則,索引底層數據結構
  • 語句優化:減少語句網絡請求,利用查詢計劃和索引,減少like in,不要select *,不要全表掃描,不要超過3表以上鍊接等等
  • NoSQL:redis、mongodb等
  • 分佈式:cluster、第三方proxy、讀寫分離、主從複製
  • 災備:制定備份和恢復方案、利用自動化備份、瞭解binlog、瞭解存儲結構和存儲方式
  • 監控:旁路監控、利用數據庫本身提供的監控工具

架構

  • 模型:事件驅動模型、領域模型等
  • 進階:單機整站、多機整站、多機橫縱向切分、多機業務切分、分佈式微服務、雲計算與虛擬化、霧計算
  • 需求與業務:需求和業務優先於技術與架構,架構師需要把業務玩的透透的才能合理設計架構
  • 設計與拆分:拆分業務、拆分系統、拆分模型、拆分接口、拆分代碼、拆分數據存儲、拆分通信過程、UML和各種文檔的編寫
  • 重構:持續重構、不斷優化、抽取提煉、多用設計模式
  • 代碼整潔之道:命名規範、代碼量規範、工程結構規範、配置規範、註釋規範,持續整理
  • 封裝:封裝基礎服務,封裝基礎數據,封裝基礎類庫,封裝底層實現,封裝協議標準,降低部署複雜度,降低一切複雜度
  • 高可用與性能:壓測得出指標、優化完成指標、量化細節指標、出現問題快速解決或回滾、豐富測試環境與預發佈環境、分流引流、優化架構與設計、持續監控優化性能
  • 多語言:學習掌握go、erlang、nodejs等現代編程語言,適當使用彌補不足
  • 管理:人員分配、工時分配、項目風險控制、資源利用率、投資回報、採用何種方式管理(敏捷還是傳統)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章