Skip to main content

谈一点找工作面试的感受和建议(cs entry level)

发信人: JinKu (JinKu), 信区: JobHunting
标  题: 谈一点找工作面试的感受和建议(cs entry level)
发信站: BBS 未名空间站 (Sat Oct  6 21:47:24 2012, 美东)

本人某中西部大学CS本科,今年5月刚毕业。由于gpa很低,也没有实习经验,所以搬到
湾区来找工作。最近一两个月也面了一些公司,还在面试中,还没有offer。loser一个
,因为版上大多是ms/phd刚毕业,或已经有多年经验想跳槽的,所以只是想说说自己小
本的体会,希望能给类似情况的人有所帮助,也欢迎版上的大牛批评指正。

关于申请:

在学校的时候一定要重视career fair,运气好的话会第二天就安排在学校的面试,流
程会快很多。缺点是人人都排队海投,想把自己推销出去有不小的难度。

如果自己的背景差,或者过去在学校做过的project太少,一定要找人refer,不然就很
可能会收到自动回复的拒信,连面试机会都不给。refer可以在版上找,我没试过。也
可以找校友,也可以联系朋友的朋友。如果自己真的找不到refer,就去
interviewstreet刷题,或者参加topcoder的比赛,好处是同时可以锻炼写代码能力,
缺点是上面的题和实际面试的题有一定距离,更偏竞赛/偏难。还不行的话,就只能把
自己简历扔到dice上等猎头联系了。

举例:去年年底毕业前海投,其中投了某公司,但一直没有回信(“我们收到了你的申
请”不算)。两个月前在interviewstreet参加那个公司举办的比赛,题都很弱,然后
通过那个网站申请,才有recruiter联系我。尽管后来也莫名其妙的没给面试机会就拒
了我,但至少会增加有recruiter联系的可能。


关于准备:

跟什么样的人谈话/面试,就要准备对应的问题。别问工程师面试流程是什么样的,也
别问recruiter“工作中最挑战的经历是什么”。研究一下公司背景,准备点有深度有
意义的问题。

看书、看题、做题。版上的题比较开眼界,leetcode的题比较适合练习,而且里面的数
据非常好,基本涵盖各种边角情况。多看、多想、多写。

本人设计类的题是弱项,没什么建议。


关于面试:

面试的时候碰到遇见过的题,有人觉得自己演技好可以装作没见过,一点点改进到最好
的办法。但我演技比较差,而且每次去面试也都被强调“如果你之前见过这道题,一定
告诉我”,所以每次都从实招来。招我也招的很详细,是听说过但不知道细节,还是见
过一个类似的但不一样的,还是见过但没想过,还是见过想过但从没写过,还是已经写
过了。而且我不觉得他知道我见过这道题之后换一个我从没讲过的题是对我很不利的事
,我的理由如下:

1. 一看到题就立刻抛出最好的办法,并且几分钟就一气呵成写好bug free的代码,要
么是个大牛,要么就是之前练过,而且还是很熟练的程度。判断的方法之一就是等写好
之后,把题的要求改一些,限制一些条件,看怎么改。或者写好之后不允许使用最优解
法,要求写次优解。

2. 面试我的工程师,并不是想让我帮他们解决这个问题,而是想知道我怎么解决这个
问题的。他们更关心,如果以后碰到了谁也没见过的问题,能不能灵活运用自己掌握知
识设计一个算法来解决。但很可惜的是越来越多的面试题被曝光、被退休,这些题只能
用来测试实现代码的能力了。所以在保证解决问题,时间空间可以接受的情况下,要告
诉他们自己是怎么一步步走到这个解法的。一边想一边说的确很困难,但分析一下输入
输出,画个图,确定自己真的理解题意,并且问清题目所有的细节,到了这一步解法通
常就很明显了。


我一直很讨厌“细节很重要”这句话,但这是事实。更无奈的是,在面试过程中,自己
不知道自己在哪个细节做得不够好,也不知道出题人会怎么解读自己犯的错误。
0. 动笔写之前一定要描述自己的解法,一步一步解释清楚,如果他认可了,再开始动
笔。动笔之前不妨把问题拆成几个小问题,每个问题独立解决。
1. 争取在对方指出bug之前自己找出来(拼人品)。
2. 自己要做什么,要说出来。比如要先从一个不够优化的解法入手,准备写出可用的
代码之后再优化,那就告诉他,并问他是先写一个出来,还是接着想别的解法。写完之
后,自己还没测试,还不确定是不是少了哪些情况没考虑或者有没有bug,那就告诉他
“我还没完成,让我从头到尾看一遍,测试几组数据”。大多数情况下,当你很快的写
好了程序,并且从头到尾按照程序流程测试了几组数据之后,如果他满意了,他自然会
告诉你“that's good, let's move on”。

我觉得对于onsite面试,想知道自己的表现情况,几乎是不可能的事情。因为自己并不
知道他事先准备了几道题,也不知道其他人的表现情况。假定是多人竞争特定岗位,而
不是达到一个绝对的水平,可能自己45分钟很顺利的写了两三道题,觉得自己表现很好
,但其他竞争者表现的更好。即使对方是测试自己是否达到一个绝对水平,而通过测试
自己的交流能力、代码风格等主观因素,和写代码的质量和速度的客观因素,我身为应
聘者依旧很难在出结果前知道自己是否满足要求。所以还是版上那句话,面完回来就不
用想了,move on,该申请别的公司就申请,该准备别的面试就准备。有好消息最好,
没有好消息也不耽误事。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...