1. 学员故事——CS面试经验分享

监视器, 二进制, 二进制系统, 计算机, 二进制代码, 编程, 数据, 网络

我过去一年面试的经历如下:

1)Microsoft 西雅图总部实习,包括1轮on-campus + 4轮onsite

2) Bloomberg 纽约总部实习,1轮网上答题 + 1轮电话面试 + 3轮onsite

3) 硅谷总部全职,包括2轮电话面试 + 5轮onsite

I. Behavior Question

 

这类问题的特点是,易准备,好回答,必出现。所以一定要花几个小时好好准备,写写提纲,面试前对着镜子说几次。

 

a. HR Question

    最无聊的一类问题,比如“why Microsoft?”、“what’s your plan in 5 years? ” 一般为HR所喜欢。

 

推荐准备材料: HRInterviews.blogspot.com 

    把这64道题刷一下,所有的HR问题都不会是问题了。准备的方法类似于托福口语,准备几个段子,反复用,就很充分了。

 

    另外,回答一定要真诚。比如,如果被问到“what’s your weakness?”,你如果回答:我太追求完美太热爱工作巴拉巴拉——太过时了!不建议采取。

 

b. Talk about your project

 

    一般会在面试的开始被问及,必然会被问到的题目之一。把简历上的项目好好地阐述,辅以画图更佳。一些经典的Follow up是:What is the most challenging part? What will you do if you have opportunities to improve it?

 

    百分一万的准备好这些问题! 面试官通常会刨根问底。答的吭吭哧哧,几乎是不诚信的表现。

 

c. Question for interviewer

 

    一般会在面试的最后十分钟里,面试官会请你提出问题。这是你展现对公司的激情、个人的兴趣、和面试官套近乎等等等等的大好机会。不要说“no”或者仅仅问“啥时知道结果啊,哥们”这类的问题。至少准备五个有深度的问题。

 

    个人经验来说,最好的方法还是随机应变,根据之前面试的情况来合理提问。比如,我在Google的一次面试里,面试官无意间提及他在设计一门新的编程语言。面试最后,我就满脸好奇地说:“talk about your language, please”。然后我和他就编程语言的设计各方面进行了一些小讨论,他最后离开时万分兴奋。就这样,对面试官的尊重,自身兴趣和能力的展现,对技术的激情——一脉相承,水到渠成。

 

II. Technical Question

 

技术面试的最核心部分。下面是一些我使用过的材料 (请适当支持正版):

Programming Interviews Exposed

入门级书籍,可以了解一些基本概念。

Cracking the Coding Interview

中级书籍,经典必备教材,重点推荐,重中之重!从头到尾我做过五次。

Hacking a Google Interview

MIT的一门课程,教学Handout可作为中级题目练习。

mitbbs的JobHunt板块

资料很多,水帖更多,可以寻找到很多战友和第一手的面经。可以重点学习里面的精华贴。

http://www.sureinterview.com/

中高级的算法题

http://www.leetcode.com/

 高级算法题,难度偏难,可做适当了解。个人认为,如果不是面Google,里面的题目被面到的可能性不高。

Topcoder

知名的编程练习网站,有一些相关的材料和教材很经典。

 

III. 面经来源:

 

    mitbbs的JobHunt板块,Glassdoor,CareerCup

 

    C++ FAQ

    非常有名的高级C++语言学习网站。啃下来会很有帮助。主要的目的是为了应付关于Object-Oriented的相关题目。

    如果你准备用Java,也请至少把语言使用能力达到中阶。

 

    Object Oriented Analysis and Design (Oreilly Head First.)和Design Patterns Oct.2004(Oreilly Head First)

    两本OOP的经典教材。据说Design Pattern挺重要,但个人从未遇到过相关题目。但是大致了解一下,总不会错。

 

    Wikipedia/Google

    仔细查阅每一个你所不知道的算法、数据结构和概念,做好笔记。等你在面试时发现一个名词你见过却不知道是什么,你会把肠子悔青的。

 

“个人认为,面试的成功 = 60%的平时积累 + 30%的考前准备 + 10%的其他因素(如自信、谈吐)。所以,面试的准备对于我们这类凡人来说,异常重要。”

 

2. CS面试,不是只有刷题那么简单

职场老鸟分享在面试战场中要避免的误区

 

 

 

1、迷失大方向

有人说:“找工作不就是刷题么?我听说谁谁谁刷题进了Facebook, 为什么我L***Code刷了3遍,连个面试都拿不到几个,拿到的面试连电话面试第一步都被拒?”

 

【遇到这种情况,请先扪心自问】

➤最基本的CS知识点,比如 OOD, Database, OS 的概念都了然于胸了吗?

➤如果你是hiring manager,你想招什么样的人?是兼具coding能力和综合知识的人,还是只会刷题的人? 

➤随着 Twitter, Yahoo, MS 的陆续裁员,LinkedIn甚至基本不招new graduate。老鸟们找工作都面临压力,你的竞争力在哪儿?

 

 

 

2、想走捷径,短平快拿到Offer

还有人说:“拿Offer,上培训啊!就是谁谁谁家开的那种,包教包会包分配三日学成收费800的那种嘛。”

 

心态浮躁,急于求成,是成为一个合格的software engineer应有的意志品质吗? 况且靠背面经,死记硬背答案过面试的概率极低,即使侥幸进了公司,performance 也是垫底,进PIP之后被laid off的大有人在。  

 

 

 

3、从众心态,缺乏独立思考能力

另外有人还说:“我一师兄转都不是学CS的,就靠刷l***code三个月进的Google。所以我也刷题就行。”

 

这就是一个典型的,舒马赫效应的例子。车神舒马赫饮酒之后也可以开车,是不是大部分人也可以做到饮酒之后安全驾驶?  冷静地想想把,一个转专业的学生拿到Google的offer的背后,有多少转专业的学生1年之后找不到工作回国?

 

3. 职场大牛为你支招CS面试

学校, 老师, 教育, 亚洲, 柬埔寨, 孩子们, 班级, 印度尼西亚, 老挝

本期我们请来了蔓藤教育的Kevin导师

(讲座参与方式见下方)

 

Kevin导师对热门的IT 公司的发展和就业情况以及计算机领域的两大方向理论研究和实际应用有丰富的经验。

 

在过去的一次讲座中,Kevin重点强调了在Google , Microsoft,  Amazon 等这种大公司应聘software engineer的面试技巧以及注意事项。 

 

Kevin提到的许多重要的面试技巧包括:

 

 

1、大公司面试的主要类型

很多大公司都采取视频电话面试,实时聊天做编程题目,面试官会直接看到你对解决编程题目的熟悉程度, 所以大家一定要加强对题目的练习(一般题目数量为1-2题)。

 

 

2、熟悉白板面试

大多现场面试,都是使用白板做题,这里无法运行自己编写的code 没有辅助性的帮助,要求大家一定要对library 熟悉。

 

 

3、关于System design的题目

有的公司会有system design的题目,例如设计电梯,数据库,酒店预订,Facebook distribution的系统。(推荐大家去看open source的题目)

 

 

4、面试被问到Resume上的问题

resume上写的相关经历以及技能会被问到(一定要熟悉自己的resume,不熟悉的技能不要夸大写上去)

 

 

5、Behavior questions

通常情况下,公司比较喜欢问的Behavior questions包括:考察你的性格、交流能力与同事或上级出现矛盾应该怎样处理等。

 

另外,data structure和algorithem以及编程的基本能力是需要通过刷题训练的。

 

这些都是必须过硬的基本功,建议大家多向相关教授请教学术问题,并在课余与职场专业人士交流,多通过刷题训练自己的专业知识。

 

同时,一些软实力技巧同样需要大家在平常多训练自己,比如多参加活动锻炼自己networking的技巧。

 

声明: 转载自蔓腾教育, 侵删

 

举报
收藏
关注
分享
我顶
我踩
还没有评论, 要不要来一发.