【转】程序员书籍
轉載:http://www.cnblogs.com/rainer-liao/p/4026706.html
技術語言書籍推薦:
一,《C程序設計語言》。C語言圣經,廢話不說,適合多看幾遍。譚書入門看一遍即可丟。
二,《C++Primer》。過兩遍,記住C++語法。中文翻譯還不錯,但有些地方仍有小瑕疵。建議看英文版,此書英文版非常容易看懂,且你從頭到尾看完一本英文原著,對英文能力提高巨大。英文能力對程序員來說是重要的,先進技術、最新書籍都是英文版,且牛逼網站stackoverflow和github也是英文,作為程序員巨頭大的問題——變量命名,英文水平的提高也是非常有幫助。API什么的我就不多說了。當然,看英文書籍速度是沒有中文書快的。建議在看中文書籍對句子不理解的時候,翻看英文原版。
三,《Effective C++》。適合有一定實際經驗者觀看。
四,《Inside the C++ Object Model》。看完這個媽媽再也不擔心面試官問我多態虛函數什么的啦。
五,《C和指針》。一般,不過其中一道課后題錯了,自己敲出來后發現不對,去stackoverflow上提問,還增加了reputation,開心。
《More?Effective C++》《STL源碼剖析》《C++標準庫》《C++程序設計語言》買了,翻過一些,沒有時間細看。
?
操作系統(底層)書籍:
一,《現代操作系統》。Modern?Operating System。重點關注進程和線程、死鎖等概念。
二,《程序員的自我修養——鏈接、裝載與庫》。見過一個本科學弟看完這本書后在自己簡歷中寫精通語言底層的鏈接、裝載等,竊以為還沒到那個地步。
三,《深入理解計算機系統》。CSAPP。中文書名很奇怪。
四,《鳥哥的Linux私房菜》。至少知道如何裝linux,如何打開shell寫個echo hello world。
五,《Unix環境高級編程》。APUE。看完MOS后看看,要實際敲代碼。
六,《Linux命令行與shell腳本編程大全》。用了腳本語言你才能知道媽蛋C/C++真是煩。
?
數據結構與算法書籍:
一,《數據結構與算法分析——C語言描述》。小白剛開始看,真心累死。課后題很不錯,適合都做做。
二,《算法導論》。后悔聽信旁人言,說這么厚的書沒必要看,到要用的時候再看。其實若能安心從頭到尾看完算導,幫助極大。限于時間問題,我只看了此書的某些章節。
?
逼格提升書籍:
一,《黑客與畫家》。當散文隨筆看。
二,《Unix編程藝術》。在不同階段看有不同感悟。
三,《代碼大全》。翻翻看,學生階段不看完全可以,不過有助于提高逼格。期待在工作后有更多感悟。
四,《浪潮之巔》、《數學之美》。當小說看,開闊視野。
五,《人月神話》。10個女人花1個月的時間是不可能生出一個孩子滴。
?
從純小白出發,個人建議看書路線:
一,譚書。看一遍就丟,知道如何用IDE。
二,《C程序設計語言》。代碼都敲一遍,肯定很多不懂,多百度多谷歌多問。
三,《數據結構與算法分析——C語言描述》或+《算法導論》。了解常用數據結構(鏈表、棧、隊列、樹等),課后題多思考多敲。
四,《C++Primer》。語法問題,只能死記硬背。
五,《現代操作系統》。知道操作系統還有Linux、Mac,不僅Windows。知道什么是進程線程。
六,《鳥哥的Linux私房菜》。是時候玩會別的OS了。
六本書看完,多敲多思考,多問多理解。自己多搜搜其他書籍,結合自身情況,繼續學習。
?
4.簡歷
簡歷真的非常非常重要!
公司招聘,簡歷篩選是第一環節。當然,一般而言,簡歷不會被刷掉,筆試機會會給你。但簡歷實在太重要了,重要到許多人忽視了簡歷的重要性。
簡歷是你對自己的一個書面情況說明,簡歷做的粗糙,我可以認為你對自己不了解、不負責,或說對公司不負責、不尊重。如果我是面試官,簡歷不好,我連面試你的興趣都沒有。
和Lucida類似,我也曾經做過阿里的內推,收到過許多同學的簡歷。因為自己也是校招求職者,也投遞過許多內推/正式校招簡歷,因此我對每個同學的郵件都進行了回復,也耐著性子看完了所有同學的簡歷。但是!做完這次校招內推,我再也不想做類似的這么有廣度的內推了。說一下心得:
1,如何寫郵件:
郵件最好有標題,不要空白,不要單純只寫內推倆字,更不要寫成內!退! 童鞋丟過來的格式有這樣的:1,阿里內退;2,XX的簡歷;3,個人簡歷。建議格式:姓名-學校學歷-求職意向。?
郵件的發件人,最好改成自己名字,不要43543534(qq號)、我只愛你一個(我看到這個手都顫了)、火星文(你也是蠻拼的)。
郵件正文,禮貌用語,不卑不亢。寫清楚你的個人信息,姓名,聯系方式,簡單介紹一下自己,3-5句話。不需要寫什么求求您給一次機會什么的,你這樣寫了,我第一映像就是你沒自信。即使你過了這關,也過不了下關。
郵件附件,千!萬!不!要!寫:我的簡歷 or XX的中文簡歷 or ?我的簡歷v2.3 。我看到這樣的附件,每每有種直接刪除郵件的沖動。附件簡歷命名最好也是按照?姓名-學校學歷-求職意向 格式來辦。至少這樣我把你簡歷下下來不用再重命名。
真的是一句話:細節決定成敗。
2,簡歷本身:
關于是否貼照片:程序員沒有必要。完全沒有必要。
頁數:一頁滿或兩頁滿,大忌一頁半兩頁半。建議一頁滿。
排版:排版務必整齊一致,字跡清晰明了,有層次,有重點,有突出。將你最優秀的點放在最顯眼的地方。
專業技能:程序員們請不要在自己的專業技能中寫你會word、PPT、excel、ps等,拜托了。
錯別字:對你的好感直接為0。
文件格式:PDF,不要word。現在很多郵箱都可以預覽郵件附件,PDF格式都可以正確無誤預覽,而word各種錯誤。我了解一些公司的確會要求要word版本,不知出于何種目的。建議PDF。
文字用語:語句通順,條理清晰,項目介紹遵循STAR,一句話背景、自己完成的任務、做了哪些工作、有哪些結果(最好用數字量化,如找了100個bug,效率提高了20%)。
自我評價:一句話即可。你寫再多自己積極向上、勤奮努力,我只覺得你簡歷沒啥好寫的為了湊字數。
程序員如何看你的簡歷:參考 coolshell?http://coolshell.cn/articles/1695.html
?
5.面試
面試是重頭戲,成敗在此一舉。
就程序員面試來說,流程一般是:1.自我介紹2.技術提問3.你有什么想問我的嗎?
自我介紹:
自我介紹,就是將簡歷中的人給形象化,有血有肉展示自己。有些童鞋,自我介紹是:面試官你好,我叫XX,來自XX學校。三!句!話! 這樣真的好嗎? 簡歷能看到的,還要你這樣介紹干什么。 我初期在實習招聘的時候自我介紹更傻:我專業是XX,非計算機,沒有實際經驗,balala....。詳細介紹自己的缺點。
自我介紹,要充分展示自己的長處,比如做過某個競賽、得過哪個大獎、發了幾篇論文、寫過幾個專利。你說你上面的都沒有,那也行,成績如何?介紹一下自己的GPA和專業成績也行。成績不好?掛科? OK,那講講你看了哪些牛逼書籍,做過哪些實際項目、follow過哪個開源項目。都沒有,怎么辦? 沒辦法了,這只能靠平常的積累。
技術提問:
技術提問分兩種,寫代碼和不寫代碼。不寫代碼無非是聊聊你的項目,問一些語言細節、操作系統概念。當然項目講的好,加分非常多。關于講自己的項目,建議事前一定好好練習一下,要能有主次、順暢地介紹自己項目,遵循上面的STAR原則。
寫代碼,是重頭戲。Talk is cheap,show me the code。寫代碼一般是給出算法題,在紙上寫。紙上寫代碼和在IDE上寫是完全不一樣的,沒有語法高亮,沒有代碼補全,你可能非常不習慣。這都需要事先的練習。面試官出題后,不要著急就在紙上寫,如果沒有特別高效的方法,可以先想一個簡單粗暴的,給面試官講講你的思路,說:我先出一個最簡單粗暴的方法,是這樣的...但是我知道您肯定希望得到更高效的方法,我再想想...想不出來,可以讓面試官給一些提示。有了清晰思路后,再和面試官交流,得到肯定后開始在紙上寫。多注意邊界條件、非法輸入、代碼風格。
紙上寫代碼,最重要就是一個字:練。
推薦書籍:《劍指offer》《編程之美》《編程珠璣》《Crack over the code interview》
推薦網站:TopCoder
你有什么想問我的嗎?
很多人不知道這里該問什么,其實如果你之前對這個公司這個崗位比較感興趣,你自己就會去查相關的東西,就會有相應的問題。我問過一些這樣的問題:1,自己的職業規劃:繼續做算法還是轉研發?求建議。2,上班作息(上下班時間)。3,你們具體在干什么,能簡單介紹一下在做的業務及相應需要的技術么?
其他
程序員面試其實很單純,技術過了,性格還ok,基本沒問題。不需要考慮什么撿垃圾之類的搞笑問題。保持基本的禮貌,敲個門、問個好、謝謝你,就行了。
?
轉載于:https://www.cnblogs.com/wdw31210/p/4028321.html
總結
- 上一篇: 在vi里面实现字符串的批量替换
- 下一篇: Python基础(10)--数字