转载: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,基本没问题。不需要考虑什么捡垃圾之类的搞笑问题。保持基本的礼貌,敲个门、问个好、谢谢你,就行了。