面试之前(转)

来源:互联网 发布:淘宝客怎么提现 编辑:程序博客网 时间:2024/05/16 06:09

面试之前-简历优化

简历是如何被筛选的

在筛选简历的时候他们主要看中这两件东西:

你够聪明吗?

会写代码吗?

也就是说你的简历只要好好的说清楚这两件事情就好了。至于你是不是喜欢打网球、旅游和变魔术这些东西没什么必要写上去。写上去也是浪费。

一定要记住招聘人员大概只用大概20秒的时间来筛选你的简历。所以你一定要让你的简历只保留那些最重要、最吸引人和最相关的内容,这些内容能让你的简历脱颖而出。那些不相关的内容只会让你的简历变得平淡,干扰招聘人员找到重点。

工作经验

相关工作经历:简历的工作经历千万不要包含你所有做过的工作职位。如果你买过冰激凌,这样的工作经历并不会给你“你聪明吗?”和“你会写代码?”这两个问题上加分。所以只写那些相关的工作经历

规范描述:对于每一个职位,你应该采用这样的格式,通过实现X,得到了Y结果,完成了Z。

看看这个例子:

通过采用Floyd算法,减少对象重绘时间75%,最终减少10%启动时间。

再来一个另外措辞的例子:

实现了一个基于windiff的比较算法,把匹配准确率从1.2提高到了1.5

尽管不是所有的事情都可以采用这样的表达,但是主要的想法就是:把你做过的事情,如何做的以及结果表达出来。如果可能的话一定要量化下结果。

 

项目经历

几乎所有的应聘者都有项目经历,即使是在学校里面的学术研究的项目经历。把这些经历都列在简历上吧!我个人建议你在简历里面加一个“项目经历”的部分,然后把最有意义的项目列在里面。然后说清楚这个项目是做什么的,用的什么语言,采用了什么技术,是个人项目还是团队项目。如果这些项目不是课程要求的话会更加的有说服力。这样更能的体现出你的热情、创造性和工作积极性。不过你也可以把项目经历分成“课程项目”和“独立项目”两部分来描述。

 

软件编程能力

软件:一般而言,我是不建议在简历里面列上熟悉的微软office软件。因为每个人都熟悉这些软件,这样的信息只会对你简历中的有用信息造成干扰。所以还是在简历上写上你熟悉的开发或者技术相关的软件,比如visual studio,Ecllipse,linux,写这样工具还是比较有用的,而且能让你看起来不同。

语言:在你的简历上列出你熟悉的语言是件比较难办的事情。你是不是直接列出所有的用过的语言,还是只是那些你熟悉的(尽管只有两三种)。我建议你采用这样的折中的方法:列出你常用的语言,但括号中标出熟悉的程度。像下面的例子一样

语言: Java(专家级),C++(精通),Javascript(有使用经验),C(有使用经验)

 

给非英语母语应聘者的建议

 

校对:有些公司只要在简历看见有拼写错误就直接毙掉。所以至少让你一个英语母语的人帮你校对下。

个人信息:在美国应聘,千万不要在简历里面包含:年龄,婚姻状况或者国籍等信息。因为这些信息透露给公司他们就有法律上的责任。但是有时你需要在简历中包含当前工作情况或者信用卡记录信息,尤其当你在应聘一些小公司的时候。

 

如果准备时间还很充分

如果你还面试前还有几个月的准备时间,或者你还是在校学生,那你还可以再改进先下你的简历。

参加一些活动以获得更多的项目经验。选修有一些项目任务的课程。参加到开源软件中去。去询问下教授他是否需要研究助理,或者干脆问他能否赞助你进行独立。

这些经历都能让你的简历更加的出彩。另外这样在面试的时候你和面试官也有更多的话题可以说。

面试之前的个人准备

为什么会有性格行为等方面的问题呢?其中的原因有多种。他们可以借此了解你的个性,更深刻地理解你的简历,或者只是让你的面试轻松一些。不过这些问题是重要的,而且可以提前做好准备。

如何准备

这类问题通常的形式是“举个例子,当你……”而且可能会问某个特定的项目或者职位的一个例子。我建议按照如下所示的表格做些准备。

 

项目1

项目2

项目3

项目4

最富有挑战的

 

 

 

 

学到的

 

 

 

 

最有意思的

 

 

 

 

最大的困难

 

 

 

 

最享受的

 

 

 

 

团队成员的分歧

 

 

 

 

如最上面一列所示,你应该列出你的简历主要方面,例如,你的项目,工作或参加的活动。如行所示,你应该列出常见问题,例如,你最喜欢什么,最不喜欢什么,你认为最具挑战性的是什么,你学到了什么,什么是最困难的问题等等。在每个格子里填写相应的事项。我们建议你在每个表格里只写几个词。这些有助于更简单得使用这个表格。

面试中,当问起你的一个项目时,你就可以很方便的拿出适当的细节来回答。面试之前好好研究这个表格。

注意:如果你正在接受一个电话面试中,你可以把这张表格放在你前面。

一些额外的建议

1.当被问到你的缺点时,就告诉他一个真正的缺点!下面这些回答,比如我最大的缺点是我总是发奋工作,或者是我是个完美主义者等等。告诉你的面试官你是如此的傲慢而且不想改正自己的缺点。没有人愿意与这样的人一起工作。一个好的答案应该传达一个真实的但是很合理的缺点,同时又强调自己的是怎么克服这些的。举个例子来说,“有时候我对细节不是非常重视。虽然这是一件好事因为这可以让我快速工作,这也意味着我有时会不小心犯些错误。正因为如此,我需要让其他人帮助我来检查我的工作。”

2.当被问到什么工作是最有挑战性的时候,不要说“我必须学习很多新的语言和技术。”这是避重就轻的答案(例如,你不知道还能说什么)。这意味着你告诉面试者对于你而言没有什么是困难的。

3.记住:你不只是在回答他们的问题,你在向他们展示你自己!很多人只是试图回答问题。深入思考每一个故事对你的启发。

4.如果你认为你在被问这些问题(例如,说一个和团队成员的合作具有挑战性的例子),您应该创建一个准备好的相关表格。这与上面那个表格相同,但左侧包含像“合作挑战”,“失败”,“成功”和“对你有影响的人”。

  你该问面试官些什么问题呢?

大多数面试官会给你一个机会来向他们提问。你所提的问题的质量对他们的录用选择将是一个因素,无论是下意识或有意识地。有些问题可能出现在面试中,但是你可以-也应该-提前准备这些问题。对公司或团队做一些了解可能有助于你准备问题。问题可以分为三类:

真正的问题:你真正想知道答案的问题。以下是对很多面试者有价值的一些问题:

1.“你每天花多少时间在编程上面?”

2. “你每周开几次会?”

3.“给开发者和产品经理做测试的人员比例是多少?是什么样的关系?团队的项目计划是怎么做的?”

  有见地的问题:这些问题用于展示你对编程和技术的深入了解。

1.“我注意到你们使用的X技术。你是如何处理的Y问题的?”

2.“为什么这个产品选择了Y协议而不是X协议?我知道他有一些优点,比如……但许多公司因为D问题而没有选择这个协议。”

有激情的问题:这些问题是用来证明你对技术的热情。

1. “我对可扩展性很感兴趣。你对这个有了解么,或者公司里有什么样的机会来了解它吗?”

2.“我对X技术不是太熟悉,但看起来它是一个非常有趣的解决方案。你能告诉我一些他的一些原理吗?”。

面试之前-准备技术面试

如何准备技术面试

你已经在看本书了,你在面试的道路上已经跨出了一大步了。加油!

准备技术面试的方法有好有坏。有些读者看完问题之后直接翻答案。千万别这么做。死记硬背或者敲代码是没有什么用的。更好的方法是这样做:

    1 尝试用自己的方法来解决这个问题。全凭自己的方法。有些问题确实很难,不过没关系。在解决了问题之后一定要考虑下时间和空间复杂度。推敲一下是否能够通过空间换时间或者时间换空间的方法来优化算法。

    2 在纸上写下实现算法的代码。此前你一直在计算机写代码,特别依赖语法高亮、代码自动填补和编译器这些东西。但是在面试的时候是没有这些东西的,为了模仿这样的情况请一定在纸上写代码。

    3 把你的代码原封不动的敲到计算机上。你肯定发现自己犯了不少的错。把这些错误都列在一张表里面吧,在面试的时候你就会警惕这些错误了。

    4 做个模拟面试。CareerCup提供一些模拟面试的服务,或者你可以找个朋友让他给你提一些面试的问题。虽然你的朋友不是专业面试官,但也能帮你完成代码或者算法的面试。

必备知识

面试官一般不会直接问你一个算法(平衡二叉树或者其他复杂的算法)是如何实现的,说实话这些算法面试官自己可能都忘记了。

一般面试官只需要你记住一些基本的算法,下面是一个必须知道的知识的列表:

数据结构

算法

概念

链表Linked Lists

广度优先搜索Breadth First Search

位处理Bit Manipulation

二叉树Binary Trees

深度优先搜索Depth First Search

单例模式Singleton Design Pattern

字典树Tries

二分查找Binary Search

工厂方法Factory Design Pattern

 

栈Stacks

归并排序Merge Sort

内存Memory (Stack vs Heap)

队列Queues

快速排序Quick Sort

递归Recursion

向量/数组Vectors / ArrayLists

树的插入/查找等Tree Insert / Find / etc

O时间Big-O Time

哈希表Hash Tables

 

 

 

  当然这个表格并不包含一切知识点的。面试问题可能超出这个范围。这只是一个必须知道的列表。

对于表格中每一项你都得理解并且知道如何实现和使用它们,以及它们的时间空间复杂度。

好好练习这些数据结构和算法的实现。在面试的时候你可能会被问到如何实现他们,或者对算法进行改进。不论什么情况,你准备的越充分越好咯。

语言的琐碎知识点

就我个人来说,我绝不会问这类琐碎的问题(比如:什么是虚函数表?),很多面试官也很不喜欢这类问题。如果去面微软、谷歌或者亚马逊这类大公司,我是不会花太多的力气在这类问题上的。随便翻翻一般的参考书知道答案就可以了,更多的时间还是花在数据结构和算法的准备。

但是在面试小公司或者非软件行业的公司的话,准备这类问题还是比较重要的。你可以到Careercup.com(需翻墙)看看你讲面试的公司是不是这类公司。如果没在列表里面的话,可以找一家差不多的公司作为参考。