您的位置:首页 > 理论基础

转自计算机学院offer大神的面经:准备过程中的一些建议和看法

2014-05-07 15:23 239 查看
1.一定要好好学习1~2门编程语言,不仅仅是会写HelloWorld、了解语法,最好是通过项目锻炼,并把语法细节吃透。个人主要使用的是C,C++和Python也会一些,面向对象也知道是怎么回事,也曾学着《大话设计模式》这本书实现过所有设计模式的C++版本和Python版本,但我从来都跟面试官如实交代,后两者掌握程度远不如前者。如果给我更多时间,我希望能好好学习一下C++或者J***A这类面向对象语言,而且把Python这样的脚本语言的掌握更进一步。

2.如何看待算法?算法是编程的一个重要基础,在面试笔试中经常被考察,不要觉得自己没有兴趣、或者因语言封装了库而不去学习。当然,面试笔试中一般也不会出现特别难的算法,不必太纠结一些做不出的难题。至于“特别难”是什么意思,如果像我当时准备算法时一样把常用算法了解了,你自然就知道了。

3.对于复杂的数据结构,比如红黑树、B树、二项堆,了解原理优先,不必强求能写出代码。这其中又以红黑树为优先,毕竟Linux内核以及部分STL容器都利用了红黑树,它的性质、原理、插入删除操作都是要知道的。

4.练习纸上写代码的能力。脱离了电脑,可能很多人都不会写代码了,我以前以为只有VS用户才会这样,后来发现就算长期使用vim,一样会有这个问题。为了确保万无一失,我把常用的排序和二分查找以及二叉查找树的插入删除全部在纸上前前后后写了两遍,做一些算法题时也尽量在纸上先写写,再进行编码验证。

5.在学习过程中的理解和感悟形成博客,这样一方面能加深理解,另一方面便于日后使用。有时我感觉有的问题想清楚了,写博客时细细想想似乎是没懂,一边写一边思考,在写的过程中获得了进一步的理解,写完后才真正的理解。

6.常混技术社区,而且不仅仅是潜水,尽量参与(灌水除外,一定要发表有实质性的内容)。毕竟自己单干和从社区中汲取知识是不一样的,和大牛一起混,你的能力也能得到显著提高。archlinux和github我基本没上过,不过stackoverflow倒是用得不少,也贡献了一些answers

7.用心准备简历。我的简历前前后后花了近一周才准备好,下了不少功夫。一方面是选择一个合适的LaTex模版(抛弃word简历)并相应地修改,另一方面是字斟句酌。

说到LaTex有点小故事,当初接触到它并不是因为写论文,而是博客中有的复杂公式维护起来很不方便,后来发现可以直接贴LaTex代码,通过博客后台脚本自动转化成图片,非常方便和美观,就学了一些用法。不过在做简历前还是系统地进行了个入门,毕竟别人的模版并不一定适合自己,还是需要进行修改的。

模版当然比不上内容重要,LaTex简历只是个加分项,内容才是重点。这里我也推荐大家读一下The Google Resume,了解什么是STAR法则。下面是我把The Google Resume中如何写简历的方法的中文版总结,不过有时间还是读原书吧。

引用
总则:每行都应起到让HR想要雇佣你的作用

1.成就导向而不是负责导向

介绍过去做过的事的时候,应当介绍你取得了什么成就,而不是你按照分配的责任(理所应当地)做了什么。

应当避免contributed to、participated in、helped out with这样的负责导向性措辞。

2.量化的结果

避免使用类似于“降低延迟”、“提高客户满意度”这样的模糊措辞,使用具体的数字,say how much。(金钱方面比如节约了多少预算这样的尤为有冲击性;技术方面比如延迟的秒、修正bug的数目、大O级的算法复杂度改进等)

3.瞄准靶心

简历为求职的职位量身订造,并展现你有相关的经验或能够解决相关问题的技能。

4.易于理解

避免过于晦涩的行话和术语,特别是一些专业领域的字母缩写。

5.整洁、专业、简明

打印错误可能导致你的简历直接被pass掉。面试官不屑于看一个交流能力不足的应聘者的简历。技术公司对此的容忍度会稍高一些。要点:

简洁:避免大段的文本。简历应由一系列言简意赅的1~2行组成;

避免拼写错误(中文对应的是错别字),反复检查;

语法:Word的拼写检查可以简单地提供这个功能。如果英语非母语,最好找一位英语母语人士来帮忙检查。

正常字体:比如Times New Roman,不要用小于10pt的字号。Comic Sans是不可能被接受的。

一致性:可以选择逗号或分号做分隔,但要前后一致,即只使用一种。用句号或什么的不用来结尾每一个小段落。加黑、下划线、斜体也类似。

用空白做区分。

避免使用第一人称,用第三人称。

6.清晰并良好的结构组织

让HR能够一眼找到他想看的东西。

一些结构注意点:

对于应届生,教育经历及获奖情况放在项目经历之前

技能,进行分类。不要写平淡无奇的技能如Office。多种语言技能未必有用。

长度:

资深应聘者是可以使用两页的简历的。少于5至10年工作经验的应聘者请保持在1页以内。

缩减长度的方式:略;

8.做项目时记得把自己的做的工作总结好,找工作时就不用费力回顾那些记不清的细节和实现了。

9.大公司的历年笔试题有必要做做,但如果像前文的算法的准备方式进行准备,你会发现笔试题里的算法差不多都能解决,没必要再海量练习了。

10.每年的暑期实习招聘是一个很好的实战练习机会,建议参加。如果过了,去不去,请自行判断。

11.保持良好的生活习惯。毕竟常年累月写代码比较伤身体,因此非常建议平时进行一些运动。个人偏好去健身房,除了9月找工作比较忙以外,基本每周都去4~5次。当然打球长跑这些也挺好,保持住就行。除此以外,有时我也爱跑去看电影,今年就被《中国合伙人》励志到了,非常时机。

12.有时候面试就是个知识查漏补缺的过程,就算准备再充分,也有可能答不上来的问题。没关系,结束后好好思考下,下一次再被问到时把它答好了就行了。

13.找工作是技术实力+沟通能力+RP成分的综合考验。如果你实力很强却仍不能找到满意工作,请从后两者中找原因。有时,运气成分确实能决定结果,不要太纠结于一次两次的失利,全力去做,足矣。

14.校招正式开始前,记得把原来搞过的东西好好回顾一遍。9月初的时候,感觉准备的差不多了,可再翻翻之前做的题,发现怎么有的题又不知道如何解了?赶紧快速的进行回顾,把之前的记忆唤醒,保证万无一失。

15.不要太把实习经历和转正当回事,该好好准备校招还是好好准备。身边太多实习OK、转正悲剧的例子了。

16.课余时间折腾点自己兴趣相关的技术方面的东西。下面摘自《淘宝技术这十年》:

引用
“子柳:你经常出去招聘学生,你欣赏什么样的学生?”

“毕玄:其实在校招聘的时候,我比较欣赏的学生往往是那些‘不务正业’类型的。我经常会问他们,你有没有利用课余时间出于自己的技术兴趣做的一些小东西。这样的学生我们通常会比较感兴趣,我认为这样的学生是真正喜欢技术。聪明程度一般就可以的,他能够进入这些不错的学校,智商是不会有什么问题的。”

17.面试的时候不要一边掉书袋,一边又表现得翔一般不明所以。这时我在腾讯实习生面试时犯过的一大错误。阅读量后提高容易自满,要小心了。

18.关于时间利用和读书方式,可以参考《暗时间》。之前我采用的一些方法和此书很相似,但不如它系统,建议好好读读并领悟

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: