1. 学习篇
掌握:
程序设计、算法、操作系统
程序设计:
1,把基础的数据结构的C语言实现在纸上写三遍以上,用能想到的最精简最优化的方法
2,阅读CARM和TCPL,确保不会遗漏C语言的每个细节
3,重温之前自己做过的靠谱项目,并总结里面的关键难题和解决思路
4,重读Writing Solid Code、Elements of Programming、Practice of programming
5,阅读Science of Programming,做到可以证明自己的程序的正确性(前条件+后条件+不变式)
算法:
1,重读Algorithm Design Manual,重点阅读Dynamic Programming和Backtraverse
2,重读Programming Pearls和More Programming Pearls,并完成所有课后题
3,独立解决编程之美里面的题目(国内不少企业选题用的这本书)
4,完成Careercup里Amazon、Google和Microsoft这三个分类下面的前20页面试题
5,完成TopCoder的数十道D1L2~D2L1难度区间的算法题目
操作系统:
1,重读Modern Operating System,重温OS的核心概念
2,重读Computer Systems a Programmer’s Perspective的关键章节,回顾里面的关键点
2.学习资源-考核篇
1,Crack over the code interview
很靠谱的笔试面试指导手册
2,CareerCup
集齐了大量的真实笔试面试题,去外企的一定得看
3,TopCoder
如果不是ACM,练这个就够,其实面试也不会问太难的算法,哪怕是google
4,编程之美
尽管题目有些过时,但依然很实用,三星题目适合一个人仔细想
3.简历篇
1,可读性。推荐pdf或者markdown
2,禁止群发。避免出现 例如:敬爱的某领导
3,设计。建议可以有点设计感
4,篇幅。控制在一页以内
5,重点。一定要有重点,加粗或者黑色
6,措辞。甭搞“渴望得到这份工作”、“期待在xxx的工作机会”这样的句式,除了显得你低端,其它毛用没有。
7,别字。千万不要出现错别字
优先走内部推荐
所以平时多结识各个公司朋友很重要
4.笔试篇
1,Elements of programming style 2nd,写出良好风格的代码。纸上代码一般不长,但短短几行代码往往可以看出这个人的水准,风格很差的代码往往会被pass掉。
2,Algorithm design manual 2nd,作为非ACM出身的码农,这本书比算导实用很多,课后题也很实在,对回溯,动态规划这些编程技巧讲的非常清楚。
3,C interfaces and implementation,无论是面试还是笔试,一般都会用C写程序,这本书包含大量的工业级C代码,绝佳的参考和模仿素材。
4.面试篇
标准的技术面试一般有45分钟到60分钟
自我介绍(5~10分钟):
- 1,言简意赅,突出亮点
主要介绍:做过的项目,读过的书,认识的人。说且仅说你最牛逼的事迹,让对方留下深刻印象
- 2,紧贴简历
自我介绍部分内容应该是简历的补充
- 3,了解公司需求
技术对口,适当收起锋芒
- 1,言简意赅,突出亮点
技术提问(35~45分钟):
1,Behavior questions:此类问题针对面试者的过往经历,一方面考察面试者的表达能力和实际经验,一方面也可以排除掉一堆在简历上吹牛逼的真ds:
“说说你最牛逼的项目?”
2,Hypothetical questions:此类问题会假设出一些场景,让面试者进行作答,主要考察面试者的应变能力和实际经验:
“给你三天,你会如何把xx项目做得很牛逼?”
3,Probing questions:如果前两类问题答的不错,面试官往往会追加一些问题,以探测面试者能够走多远,此类问题的出现也是一个标志,面试官对你之前的表现感觉还不错:
“你会如何改进你做过的最牛逼的项目?”
考察题目视你的应聘职位和你的过往经历而定,开发岗会侧重代码编写和系统设计,测试岗会更注重测试用例的编写等细节,产品岗要对线框图,交互设计有了解
问答环节(5~10分钟):
- 态度:记住你是去求职,证明自己的能力达到职位需求是你的首要任务
- 着装:尽管IT公司大多不需要西装革履,但也别太拖沓,穿整齐些,至少给人很精神的感觉
- 交流:面试是一个交流的过程,不明白的一定要主动询问
最后:多写,多想,多问,多看
参考:
- 部分来自: jobbole.com