|
|
|
|
|
|
t*****w 发帖数: 5 | 1 获得Linkedin大牛美女妹子面试官同意,把她的心得拿出来跟大家分享下
求内推的看这里:http://www.mitbbs.com/article_t/JobHunting/32866605.html
我在7月入职LinkedIn之后,因为我司的双面试官制度(experienced主面然后加一个
new的当shadow)所以我已经开始当(wei)面(guan)试(mian)官(shi)啦~到现在也各个
round面过几次了。不过虽然是围观但是面完之后也有打分权并且可以跟master面试官
讨论一下。。。所以还是有一些想法~在此开帖讨论一下~不过很多behavior的问题还真
是拙计呢。。_(:зゝ∠)_除了这里写的有什么欢迎围观群众一起讨论~
这里主要针对大公司的非onsite算法面试~主要是包括两个方面:纯Behavior的问题(
包括过简历问project还有自我介绍)以及做题的习惯问题。如果是小公司的话,还是
match最重要。小公司的坑也少,不过真要很match也能到onsite什么的,behavior什么
的都比较浮云了
对于大多数做题水平基本过关的人来说(尤其是new grad),过不过面试其实是面试官
的一念之间。——这个道理很像一句话:以很多人的努力程度之低还根本轮不到拼天赋
。看周围同事面人,然后还有自己面人,还有很多面完之后面试官的反馈,还有面ing
的时候的感觉的经验来说,其实重中之重的问题是让面试官觉得你的做题能力和交流能
力都OK,然后不要给他挂你的理由(比如offend到了面试官什么的还是比较拼的。。。
)。当然这一条对于一些绝对大牛来说除外,如果水平强到了让面试官觉得很厉害的地
步,是怎么样都不会挂你的。对于常人,面试的随机性还蛮大的,而且面试官因人而异
,如果纯粹的be yourself,有的人觉得OK的事情有的人觉得很不OK。。。所以我个人
觉得中规中矩老老实实的比较保险啦~
这里就包含一些比较基本的东西:
关于题目本身,题设什么的都以面试官的说法为准。不要提出一些直接否认他的质疑比
如说:这个东西不用这个不能做,或者这个东西不用这个太sb了,或者这个东西用这个
implement感觉不好,etc。你可以商量说“我能用XXX吗因为XXXXXXXX会比较好。如果
碰上了【面试官の坚持】那就还是顺着他的东西说。
关于题目分析,很多人还是会碰上做过原题的情况。但是到了这一步的话,怎么样让人
不觉得你是背答案的也是重点。一般来说,先写几个例子跟面试官确认input和output
确保自己理解了题意(尤其是带有矩阵,字符串,还有数组etc的题目),然后跟面试
官说你打算用什么方法然后用例子illustrate一下自己的方法,如果有暴力法的话可以
先画一个暴力法的例子然后说怎么样可以优化(这一条不一定用)。然后再开始coding
就会好很多。第一步很重要,碰上dp直接上来状态转移方程的也是醉了。。。
关于Corner case,corner case的讨论其实是一个评分重点。所以一上来空数组,NULL
input和illegal input什么的请务必考虑好。你可以不抠这一部分(因为我知道据说
有些公司习惯leave them alone然后让它们自己去丢NULLpointerException)但是你必
须跟面试官说清楚了不然会被以为说你没考虑这个。关于数值问题,会不会overflow,
正数负数0什么的都要考虑。一个良好的corner case考虑习惯是给面试官的coding的第
一印象。同时如果到后半部分才考虑corner case的话难免手忙脚乱,especially当作
为bug被指出之后。。。
接上一条,所以在讨论过程中如果要make assumption的话,就问面试官,【假设XXXX
】可以吗,之类的。比如说假设不会overflow之类的。。。。就是多用疑问句,面试官
要是不质疑就是默许~这个比你默认会好很多。
关于事后的go through,一般选一个普通例子一个特殊例子比较好,然后强烈建议合理
应用注释说明到哪一步数字变成了什么样,做了什么操作。同时,coding 中的注释也
是可以加分的一部分。
关于coding style,我觉得比较明显的就是变量和函数的命名。也是一个第一印象的
feel。有追求的孩子们可以搜一搜看看好像google有一个这个的documentation?
关于bug的影响,写完之前改正的<写完之后发现的<写完之后自己跑例子发现的<面试官
发现了之后提出马上改了的<面试官提出之后不会改的<面试官对你放弃治疗了不想指出
bug。。。大概是这样的_(:зゝ∠)_
这些coding之中的注意事项的重要性不比coding正确性低哟~然后呢关于普通解最优解
的问题。。。我觉得这个好像比较分公司。。如果是我司的话好像还是expect一个最低
数量级的run time complexity~但是O(k*n)跟O(n)好像差别不是很大。。。anyway~大
概就是这样了~
然后这里稍稍的提一下自我介绍和介绍project~ 大忌是话多!因为话多代表着过多
detail和缺乏中心~而且如果是在电话上的话面试官比较难follow也是真的。。
自我介绍建议是这样的,,大概就是我是来自XXXX,major XXX的学生,我在XXXX方面
比较好,我在XXXXX方面有经验(或者是我在XXXXX实习过,实习时候做XXXXX),然后
我想找XXXXX的工作——就这样的一个架构。大概就是告诉人家【我是谁】【我会什么
】。如果是转专业的人的话,CS相关性很重要,千万避免揪着无关的东西扯。。。会让
人觉得【你来干嘛的】然后会对你的编程能力有质疑。。。所以如果是转专业且
project不多的人的话,一句”I am solid in C++/Java" 加上一句【从句】稍微
support一下是很必要的。
然后如果要介绍project的话呢,大概就是用XXX实现了一个YYY。那个YYY是用来干嘛。
我觉得最challenge/interesting的part是XXX,我怎么克服的。最多加一句我学会了什么
可能以上的两条的detail都不多,但是实际上就是这样的_(:зゝ∠)_如果面试官对当
中某一个方面感兴趣(according to他的expertise)他会问你的。
差不多就是这样啦~~找工作的小伙伴们加油呐~~有问题的欢迎留言~不要私信我啊我出
现的太随机了~~
Q:求问是代码的整洁,bug-free重要还是找出一个最优解重要?如果在最优解比较难找
或者找到了很难写的情况下。
A:做题的目标是让人家觉得你“做得出的”加上“会编程”比较重要。
基于这一条的话,个人觉得至少写完一个不让面试官觉得“你TMD在逗我吗”的working
solution加上一些口头的优化是在写不出perfect的最优解的权宜之计。至于bug的话
,建议在写出来的地方尽量少,而且尽量自己找出来。因为不管是大的算法问题(显得
考虑不周)或者小的typo问题(显得语言不熟)都有点麻烦……
代码的整洁……不要写的太初学者应该都OK~就是那种不必要的很长的if (if(A&&B&&C
&&D&&E))和漫山遍野的if else还有复制粘贴什么的 尽量避免就好。这个一旦出现也
让人觉得你不会写代码这样。。 | w****a 发帖数: 710 | | r*******e 发帖数: 971 | | t*****w 发帖数: 5 | 4 EE
【在 r*******e 的大作中提到】 : 妹子从啥么专业转的?
| m******n 发帖数: 8 | 5 顶,受教了
【在 t*****w 的大作中提到】 : 获得Linkedin大牛美女妹子面试官同意,把她的心得拿出来跟大家分享下 : 求内推的看这里:http://www.mitbbs.com/article_t/JobHunting/32866605.html : 我在7月入职LinkedIn之后,因为我司的双面试官制度(experienced主面然后加一个 : new的当shadow)所以我已经开始当(wei)面(guan)试(mian)官(shi)啦~到现在也各个 : round面过几次了。不过虽然是围观但是面完之后也有打分权并且可以跟master面试官 : 讨论一下。。。所以还是有一些想法~在此开帖讨论一下~不过很多behavior的问题还真 : 是拙计呢。。_(:зゝ∠)_除了这里写的有什么欢迎围观群众一起讨论~ : 这里主要针对大公司的非onsite算法面试~主要是包括两个方面:纯Behavior的问题( : 包括过简历问project还有自我介绍)以及做题的习惯问题。如果是小公司的话,还是 : match最重要。小公司的坑也少,不过真要很match也能到onsite什么的,behavior什么
| g********t 发帖数: 53 | | g**4 发帖数: 863 | | J*******o 发帖数: 741 | 8 受益匪浅, 尤其是关于怎么掩饰做过的题那部分, 谢谢分享. |
|
|
|
|
|