Created
January 17, 2014 02:01
-
-
Save LiShuMing/8467239 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(1)算法导论学习笔记 | |
实现功能: | |
二叉搜索树的建立、遍历功能 | |
(3)注册TopCoder
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
(2)面试准备
IT公司的笔试和面试的题量都不大(相对于企事业单位和银行动辄上百道选择题的题量,算是很少),一般十几道选择题,三四道大题就算题量很大。但计算机的东西实在又是太多,程序设计、数据结构、算法设计、操作系统、体系结构、编译原理、数据库、软件工程等分支,编译的话太难(一千个码农里也没几个人能在纸上写一个最基础的递归下降LLParser),软件工程、体系结构、数据库这些太水(不是说这些分支没用,而是它们很难考察,尤其对应届生来说这些都是些文字游戏,比如说面向对象的三要素五原则,有个鸟用),这么一排除,再把数据结构和算法设计一合并,就剩下程序设计、算法和操作系统。没错,这三项搞定,国内外IT公司通杀。
因此我的笔试和面试准备很简单,就是重温+突击程序设计、算法和操作系统。下面是我的笔试+面试准备内容:
程序设计:
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的关键章节,回顾里面的关键点
从七月底开始一直到十一月,花了接近四个月,很多东西都是一边面试一边准备:面试->发现盲点->修复盲点。
此外列出一些面试笔试题的资源,此外感谢基友@CodeWarrior之前的推荐:
1、Crack over the code interview
很靠谱的笔试面试指导手册
2、CareerCup
集齐了大量的真实笔试面试题,去外企的一定得看
3、TopCoder
如果不是ACM,练这个就够,其实面试也不会问太难的算法,哪怕是google
4、编程之美
尽管题目有些过时,但依然很实用,三星题目适合一个人仔细想
此外也说下一些不靠谱的资源:
1、IT公司面试100题
这个恐怕是国内传的最多的IT面试题
题目本身还可以,但那个出题人本身代码功底一般,给出的答案包含大量错误和缺陷,导致参考价值骤降
2、程序员面试宝典
翔一样的书,各种错误概念的堆积,如果一个错误给我一块钱,我能从这本书搞成万元户。如果去正规公司拿这本书准备,包你被黑出翔。
4、简历
在MS时,老大曾让我帮忙招几个靠谱的实习生,因此我收到了几百封简历,过了一把HR的瘾。这里说说自己在看简历时发现的几点:
1、可读性。不要用Word或压缩包,用PDF。此外在邮件里面用纯文本加上自己的简介,简化对方阅读的操作。要记住HR一天看的简历海的去了,压缩包是HR最痛恨的格式,因为解压了就不知道扔哪去了,有时干脆就不看;Word有版本问题,10的docx到了07往往被黑出翔。还有就是对方有可能不在PC上读邮件,因此纯文本的简介非常有必要。
2、群发。不要给人群发的嫌疑,看清楚目标职位和目标公司,我发的工程院招聘贴,收到的几百封简历里面有十余封是投到微软亚洲研究院,有几个干脆写“敬爱的某领导”,尼玛这不找抽么。
3,设计。特别提一下设计,很多电工的简历就是翔,丑的一逼,对齐没有,字体拙计,要点不明。再放到几百份几千份简历里面,活该你被忽略。建议所有电工投简历前阅读《给大家看的设计书》,至少搞明白里面的C.R.A.P四原则。不要小看设计的威力,在简历内容接近的情况下,良好的设计会大大加分。
4、篇幅。控制在一页以内。倒不是说不能写两页,而是HR没时间看两页这么多。而且就我看过的几百封简历而言,凡是超过两页的没一个靠谱,有这么高的先验概率,HR才没工夫一个个筛,反正中国有的是人。
5、重点。一定要有重点,做到让HR通过简历在20秒内确定你靠不靠谱。可以用加黑字体进行视觉引导。
6、措辞。甭搞“渴望得到这份工作”、“期待在xxx的工作机会”这样的句式,除了显得你低端,其它毛用没有。
7、别字。千万不要出现错别字,别字简历一般直接干掉。一页的简历都能出问题,一般不会靠谱。
因为看了很多不靠谱的简历,我对简历重要性的理解要比其他人深刻很多。首先花了一周把原来两页半的纸缩到一页内,然后找UI朋友帮忙调整了版式、缩进和字体,并找UX朋友帮忙进行重点调整以进行视觉引导,然后在PC和手机上进行了简历可读性测试。从而获得了100%的简历通过率。
此外,优先走内部推荐,这样最有效率,所以结识各个公司的朋友是非常有必要的。
海投简历既没必要也没效率,有这个时间不如改改简历来的实在。
相关书目:
1、给大家看的设计书,让你的简历看起来不像一坨翔。
2、Google Resume,如何写出靠谱的简历,进行靠谱的求职。
5、笔试
如之前所说,IT公司的笔试相对单纯(程序设计、算法和操作系统),而且范围较窄,有不少题目被出了一遍又一遍。因此市面上存在大量面试/笔试宝典之类的书籍和题集。
准备国内的小公司,这些面试/笔试题集还靠的住,因为小公司往往不会在招人环节上下太大的成本,因此他们的试卷一般就是东拼西凑的网上题目;对于大型公司来说,这些题库或是宝典就显的不够用了,尤其是外企。
所以不要把希望放在运气或是临阵磨枪上。就我自己而言,笔试准备了一个多月,尽管这个时间并不算多,但由于自己平时一直在阅读CS的基础书籍,并做了大量的纸上代码练习,因此笔试通过率也达到了100%(实际上是由于我笔试的公司题目都略简单,据说EMC和网易游戏的笔试难度很高,但当时由于时间冲突没有去成,因此搞出了这个数据)。