Guide 哥:有哪些程序員受用一輩子的好習慣?

本文來自 Guide 哥開源的 Github 倉庫 programmer-advancement:https://github.com/Snailclimb/programmer-advancement (程序員應該有的一些好習慣)。若是以爲文中的內容對你有幫助的話,不妨去點個 Star!html

程序員修煉之路

學習/編程好習慣

養成一個學習習慣和編程習慣真的過重要了,一個好習慣的養成真的對後面的學習有很大幫助。說實話我本身當初在這方面吃了很多虧,不少比較好的習慣我也是後面本身才慢慢發現,因此這裏想着重給你們說一下有哪些好的學習和編程習慣。java

正確提問

咱們平時任什麼時候候都離不開提問特別是初學的時候,可是真正知道如何正確的提問的人不多。問別人問題前不要來一句「在嗎」,你說你問了在嗎我是回覆好仍是不回覆好呢 ?不要讓別人給你發 32 位的 JDK,除非你是喜歡那我的。git

更多關於如何提問的內容,詳見 github 上開源版『提問的智慧』 https://github.com/ryanhanwu/...,抽時間看一下,我想看完以後應該會有不少收穫。程序員

更多內容能夠查看個人這篇原創文章:如何提問github

健康生活

我一直以爲這一方面是最重要的,我想不少人和我同樣會無心識間忽略它,等到真的身體不舒服了,你纔開始意識到健康生活的重要性。面試

  1. 除非萬不得已,不要熬夜了。熬夜的危害就不用多說了,禿頭加內分泌失調,你懂得!
  2. 看電腦 45 分鐘以後,起來走 5 分鐘,看看遠方放鬆一下。不要以爲這 5 分鐘浪費時間,相反,這 5 分鐘可能爲你帶來更大的效率提高。
  3. 能夠考慮買一個電腦架子,保護好本身脊椎的同時,辦公體驗也會提高不少。
  4. 能夠下載一個護眼寶,感受能夠護眼模式挺棒的,很是適合咱們這種須要常常盯着電腦的人使用,強烈安利。

高效搜索

儘可能用 google 查找技術資料以及本身在學習中遇到的一些問題。redis

解決 bug

程序遇到問題先在 stackoverflow 找找,大部分別人已經遇到過了。若是上面沒有的話,再考慮其餘解決辦法。實在解決不了的話,再去問你以爲有能力幫你解決的人(注意描述好本身的問題,不要隨便截一個 Bug 圖)。spring

善於總結

學習完任何一門知識後,你可能當時看視頻感受老師講的挺容易懂的。可是,過幾天后你發現你忘的一乾二淨,別人問你一個相似的問題,你一點思路都沒有。因此,我推薦你學完一門知識後不光要及時複習,還要作好總結,讓知識造成一個體系。另外,你能夠假想本身要給別人講這個知識點,你能不能把這個知識點講清楚呢?若是不能,說明你對這個知識點尚未完全瞭解。這也就是人們常常說的費曼學習技巧。編程

總結的方式:segmentfault

  1. 有道雲筆記、OneNote......這類專門用來記錄筆記的軟件上;
  2. 思惟導圖;
  3. 經過寫博客輸出。能夠考慮本身搭建一個博客(hexo+GithubPages 很是簡單),你也能夠在簡書、掘金......等等技術交流社區寫博客。Markdown 格式參考:https://github.com/sparanoid/...

寫博客

寫博客有哪些好處:

  1. 對知識有更加深的認識,讓本身的知識體系更加完整;
  2. 督促本身學習;
  3. 可能會帶來不錯的經濟收入;
  4. 提高我的影響力;
  5. 擁有更多機會;
  6. ......

總的來講,寫博客是一件利己利彼的事情。你可能會從中收穫到不少東西,你寫的東西也可能對別人也有很大的幫助。可是,寫博客仍是比較耗費本身時間的,你須要和工做作好權衡。

分享是一種美德,任何行業都不是靠單打獨鬥的,寫博客、寫好博客是一個程序員很好的習慣。我爲人人,人人爲我!

更多內容能夠查看個人這篇原創文章:我爲何推薦你寫博客?

多用 Github

沒事多去 Github 轉轉,若是有能力能夠參與到一些開源項目中。多看看別人開源的優秀項目,看看別人的代碼和設計思路,看的多了,你的編程思想也會慢慢獲得提高。除了這些優秀的開源項目以外,Github 上面還有不少不錯的開源文檔、開源資料什麼的,我以爲對咱們平時學習都挺有幫助。Github 用得好還能裝一下,畢竟人家仍是一個全英文網站,咳咳咳。

實踐

多去實踐,將學到的東西運用到實際項目中去。不少人都找我抱怨過沒有實際項目讓本身去作,怎麼能有項目經驗呢?若是實在沒有實際項目讓你去作,我以爲你能夠經過下面幾種方式:

  1. 在網上找一個符合本身能力與找工做需求的實戰項目視頻或者博客跟着老師一塊兒作。作的過程當中,你要有本身的思考,不要淺嘗輒止,對於不少知識點,別人的講解可能只是知足項目就夠了,你本身想多點知識的話,對於重要的知識點就要本身學會去往深出學。
  2. Github 或者碼雲上面有不少實戰類別項目,你能夠選擇一個來研究,爲了讓本身對這個項目更加理解,在理解原有代碼的基礎上,你能夠對原有項目進行改進或者增長功能。
  3. 本身動手去作一個本身想完成的東西,遇到不會的東西就臨時去學,現學現賣。

注意代碼規範

從學習編程的第一天起就要養成不錯的編碼習慣,包、類、方法的命名這些是最基本的。

推薦閱讀:

其餘

溝通能力

程序員也離不開溝通。你可能須要與客戶交流需求,還要和同事交流項目問題,還有可能按期須要向領導彙報項目進展狀況。因此,我以爲不錯的溝通能力也是一個優秀的程序員應該有的基本素質。

如何提高我的影響力

  1. 寫博客;
  2. 參與開源項目;
  3. 寫書;
  4. ......

面試必知

如何獲取大廠面試機會?

在講如何獲取大廠面試機會以前,先來給你們科普/對比一下兩個校招很是常見的概念——春招和秋招。

  1. 招聘人數 :秋招多於春招 ;
  2. 招聘時間 : 秋招通常 7 月左右開始,大概一直持續到 10 月底。可是大廠(如 BAT)都會早開始早結束,因此必定要把握好時間。春招最佳時間爲 3 月,次佳時間爲 4 月,進入 5 月基本就不會再有春招了(金三銀四)。
  3. 應聘難度 :秋招略大於春招;
  4. 招聘公司: 秋招數量多,而春招數量較少,通常爲秋招的補充。

綜上,通常來講,秋招的含金量明顯是高於春招的。

下面我就說一下我本身知道的一些方法,不過應該也涵蓋了大部分獲取面試機會的方法。

  1. 關注大廠官網,隨時投遞簡歷(走流程的網申);
  2. 線下參加宣講會,直接投遞簡歷(相比於線上投遞成功的概率會高不少!);
  3. 找到師兄師姐/認識的人,幫忙內推(可以讓你避開網申簡歷篩選,筆試篩選,仍是挺不錯的,不過也仍是須要你的簡歷夠棒);
  4. 博客發文被看中/Github 優秀開源項目做者,大廠內部人員邀請你面試;
  5. 求職類網站投遞簡歷(不是太推薦,適合海投)。

面試的時候應該穿什麼?

穿西裝、打領帶、小皮鞋?NO!NO!NO!這是互聯網公司面試又不是去走紅毯,因此你只須要穿的簡單大方就好,不須要太正式。

面試前有哪些須要注意的地方?

  1. 提早準備好自我介紹;
  2. 隨身帶上本身的成績單和簡歷(有的公司在面試前都會讓你交一份成績單和簡歷當作面試中的參考);
  3. 若是須要筆試就提早刷一些筆試題;
  4. 花時間作一些邏輯題和智力題(面試中發現有些公司都有邏輯題或者智力題測試環節,而且都把邏輯提或者智力題成績做爲很重要的一個參考);
  5. 準備好本身的項目介紹;
  6. 面試以前作好定向複習(所謂定向複習就是專門針對你要面試的公司來複習。好比你在面試以前能夠在網上找找有沒有你要面試的公司的面經);

怎麼自我介紹比較好?

從 HR 面、技術面到高管面/部門主管面,面試官通常會讓你先自我介紹一下,因此好好準備本身的自我介紹真的很是重要。網上通常建議的是準備好兩份自我介紹:一份對 hr 說的,主要講能突出本身的經歷,會的編程技術一語帶過;另外一份對技術面試官說的,主要講本身會的技術細節,項目經驗,經歷那些就一語帶過。

我這裏簡單分享一下我本身的自我介紹的一個簡單的模板吧:

面試官,您好!我叫某某。大學時間我主要利用課外時間學習某某。在校期間參與過一個某某系統的開發,另外,本身學習過程當中也寫過不少系統好比某某系統。在學習之餘,我比較喜歡經過博客整理分享本身所學知識。我如今是某某社區的認證做者,寫過某某很不錯的文章。另外,我得到過某某獎,個人 Github 上開源的某個項目已經有多少 Star 了。

如何介紹本身的項目?

若是有項目的話,技術面試第一步,面試官通常都是讓你本身介紹一下你的項目。你能夠從下面幾個方向來考慮:

  1. 對項目總體設計的一個感覺(面試官可能會讓你畫系統的架構圖)
  2. 在這個項目中你負責了什麼、作了什麼、擔任了什麼角色
  3. 從這個項目中你學會了那些東西,使用到了那些技術,學會了那些新技術的使用
  4. 另外項目描述中,最好能夠體現本身的綜合素質,好比你是如何協調項目組成員協同開發的或者在遇到某一個棘手的問題的時候你是如何解決的又或者說你在這個項目用了什麼技術實現了什麼功能好比:用 redis 作緩存提升訪問速度和併發量、使用消息隊列削峯和降流等等。

若是面試官問"你有什麼問題問我嗎?"時,你該如何回答

若是面試官問"你有什麼問題問我嗎?"時,你該如何回答

幾乎每一場面試,特別是 HR 面和高管面的時候,面試官老是會在結尾問我:「問了你這麼多問題了,你有什麼問題問我嗎?」。不論是技術面試仍是非技術面試,若是你想贏得公司的青睞和尊重,我以爲咱們都應該重視這個問題。

網上提供了不少問題模板,我以爲回答這個問題重要要的就是:真誠一點,不要問太 Low 的問題。

面試官問你的優勢是什麼,應該如何回答?

回答這樣的問題,最好可以結合你要應聘的職位來作針對性回答。通常面試官問這個問題的時候,極可能會只讓你說幾個你以爲最能體現你能力的優勢,爲了不本身在面試過程當中不知道該說本身的那些優勢,你能夠在面試以前好好準備一下。 面試的時候最好能夠說幾個你要應聘的職位所作的事情須要的優勢或者說你要應聘的公司比較看重的優勢(企業文化)。

面試官問你的缺點是什麼,應該如何回答?

缺點確定不能是目標崗位須要的關鍵能力!!!

總之,記住一點,面試官問你這個問題的話,你能夠說一些不影響你這個職位工做須要的一些缺點。好比你面試後端工程師,面試官問你的缺點是什麼的話,你能夠這樣說:本身比較內向,平時不太愛與人交流,可是考慮到之後可能要和客戶溝通,本身正在努力改。

如何寫出更優秀的代碼

Java

  1. 使用 IntelliJ IDEA 做爲您的集成開發環境 (IDE)
  2. 使用 JDK 8 或更高版本
  3. 使用 Maven/Gradle
  4. 使用 Lombok
  5. 編寫單元測試
  6. 重構:常見,但也很慢
  7. 注意代碼規範
  8. 按期聯絡客戶,以獲取他們的反饋

上述建議的詳細內容:八點建議助您寫出優雅的 Java 代碼

更多代碼優化相關內容推薦:

做爲 IT 行業的過來人,你有什麼話想對後輩說的?

開源項目推薦

做者的其餘開源項目推薦:

  1. JavaGuide:【Java學習+面試指南】 一份涵蓋大部分Java程序員所須要掌握的核心知識。
  2. springboot-guide : 適合新手入門以及有經驗的開發人員查閱的 Spring Boot 教程(業餘時間維護中,歡迎一塊兒維護)。
  3. programmer-advancement : 我以爲技術人員應該有的一些好習慣!
  4. spring-security-jwt-guide :從零入門 !Spring Security With JWT(含權限驗證)後端部分代碼。

公衆號

相關文章
相關標籤/搜索