应聘简历模板吗??

程序员如何避免面试被坑?
昨天google面试,今天HR跟我说面试不理想。。。&br&觉得有一部分是自己水平真的不够吧,还有一部分是被坑了。&br&以我的水平一面过不去这到底要招怎么样的人啊!&br&(至少我觉得一面什么至少没问题的吧。毕竟还是算清华计算机系年级里写程序差不多前10%的人吧。计算机系!算叉院我被虐成马了。)&br&先说让我自我介绍,我不知道介绍什么,就说了我之前做过的项目。&br&然后他开始说,面试想考察我们的思路,具体结果不重要。&br&然后问了我一个非常简单的题。&br&我就回答他就用BFS就好了。&br&然后他开始问我,怎么存图?&br&我当时就慌了。&br&卧槽这什么问题。卧槽这是google面试么?&br&我说错什么了卧槽,这尼玛就算我答对了也跪了啊!&br&然后我就开始说考虑到一般社交网络是稀疏图所以用邻接表,然后说了说邻接表怎么存。。。&br&然后让我撸一个邻接表。让我撸了一个BFS。&br&我因为之前已经比较慌了就有点犯SB了。&br&后来他又问了我一个问题吧,大概是验证XX理论&br&我就说这也好办,BFS稍微改改就行&br&然后他问我真的吗?真的吗?&br&我想了5分钟告诉他好吧我错了应该对每个点验证一遍这个性质&br&卧槽我勒个擦我当时觉得自己一定是慌得要死了&br&但是我觉得这个问题就是我顺着他的思路稍微想了想然后就是稍微错了一点&br&我都是秒答的啊!&br&后来他问了我一道数论题&br&然后我根本做不出来&br&然后他说没指望我做出来就做暴力搜索就好了&br&然后开始说怎么优化&br&我脑抽根本没想到他说的是要做剪枝&br&因为我觉得这些都是显而易见的啊&br&然后整场面试就这么崩了&br&&br&我想问问大家。。。我这样子算是被坑了么?&br&我自己这里面做的除了第一步就开始慌了还有什么问题么?&br&我在这次面试中应该如何应对是更好的?&br&&br&===================和人讨论觉得是我自己自我介绍的时候就崩了,现在贴一下自己的自我介绍=================&br&我自己大二的时候实现过一个自己的小语言,然后后面在face++等一些公司实习过吧,个人比较喜欢C++,因为我觉得是静态类型的命令式语言里面最好hack的&br&&br&&br&===================又想到一件事=============&br&我感觉可能确实学OI的人对这方面是有很多思维上的问题的。&br&比如这个问题,我说是一个类似背包的问题,但是我没说真的用DP递推做啊。&br&虽然这个数量级有点大但是他确实可以抽象成DP啊!&br&我扯了一个名词叫记忆化搜索然后估计他也没理解。&br&(当然我以为他理解了我就没解释)&br&感觉是我把一些OI上常用的名词带了进去,就跪了。&br&OI讨论问题的风气一直是“这个用XX算法搞一下就好了”&br&然后被说的人觉得灵光一现就会做了&br&或者不会做就会问,为啥用这个算法?&br&那个人就会说数学解释&br&基本没人会聊到一些实现相关的东西&br&感觉这也是一部分吧&br&不应该把这种口气带到面试上来,一般给人讲题确实习惯了这种口气了
昨天google面试,今天HR跟我说面试不理想。。。觉得有一部分是自己水平真的不够吧,还有一部分是被坑了。以我的水平一面过不去这到底要招怎么样的人啊!(至少我觉得一面什么至少没问题的吧。毕竟还是算清华计算机系年级里写程序差不多前10%的人吧。计算机系!算叉院我被虐成马了。)先说让我自我介绍,我不知道介绍什么,就说了我之前做过的项目。然后他开始说,面试想考察我们的思路,具体结果不重要。然后问了我一个非常简单的题。我就回答他就用BFS就好了。然后他开始问我,怎么存图?我当时就慌了。卧槽这什么问题。卧槽这是google面试么?我说错什么了卧槽,这尼玛就算我答对了也跪了啊!然后我就开始说考虑到一般社交网络是稀疏图所以用邻接表,然后说了说邻接表怎么存。。。然后让我撸一个邻接表。让我撸了一个BFS。我因为之前已经比较慌了就有点犯SB了。后来他又问了我一个问题吧,大概是验证XX理论我就说这也好办,BFS稍微改改就行然后他问我真的吗?真的吗?我想了5分钟告诉他好吧我错了应该对每个点验证一遍这个性质…
按投票排序
Google员工在班车上来回答一下这个问题吧。应该不能算是给狗家洗地 ---- 毕竟Google不会因为我洗个地给我发奖金,也不会涨股价;只是想把自己对Google面试的理解写一下,让大家更能理解面试的游戏规则。毕竟想来Google的人总是有的,理解了规则成功率会高一些。先下个结论吧:题主没有被坑。至少从面试官的角度来说,这个面试就是狗家标准的电面形式,没有任何不合规则之处。我看了一下题主对自己的描述,清华top10% + NOI金牌,绝对算是牛人了,而且是高过大量Google员工的牛人,所以有这种“这也拿来考我”的感觉很正常。其实我当年读书期间去申Google实习,虽然我那时水平远不如题主,也是有完全一样的感受:“不能问点有难度的问题么”。但是后来慢慢了解得多了,尤其是自己也到Google参加了面试培训,就知道这里面的规矩了。总的来说,Google是非常相信自己的面试的 ---- Google自己内部统计的数据说Google面试成绩与员工最终在公司表现的相关度高于其它任何指标(包括学校出身、GPA、工作经验、竞赛经验、论文)与员工表现的相关度。因此Google是非常追求面试的标准化的。以下是我觉得Google面试比较共性的方面,基本在我能了解的范围里,少有例外。Rule 0: Google对于所有人(或者说绝大多数人)的面试都是非常类似的。不论你是名校教授,或者几十年工作经验,或者高中没毕业,面试Google的时候问的问题都很相似。很多人都会有自己擅长的领域,但是这个领域一般来说在onsite面试的时候会在5个面试官里面有1个人来问你,而电面的时候不会有人问。这点其实是很多人知道而不愿意相信的 ---- 很多人都会觉得自己非常special,Google应该会在乎我的特长吧。事实是Google面试几乎不考虑特长,而是在确定进公司之后根据特长分配project。Rule 1: Google面试不会直接考难题。Google无论是电面还是onsite,一定会先问简单题。这不是坑你,而是为了让面试有区分度。之前的回答也有人提到 ---- 而且还有人专门提到怎么坑人时说到 ---- 真要坑人就上来出难题就是了,面对一个我一点不认识的人,出道题把他黑成白卷我觉得六七成的概率总是有的,要是我知道这个人的简历,黑成白卷基本就是百分之百了 ---- 二维DP会么,计算几何会么,数论会么?哦,算法都会了?大数据会么,lock-free会么,OS内核会么?总之如果只是想让人交白卷,太容易了。MITBBS上经常有人问说要面试印度人了,出哪个难题把他干掉,Google还是尽可能地在规则上防止这种事情的(不然反过来就是印度人出难题干你了)。因为如果你交了面试记录(特别提醒一下,虽然Google面试官权力很大,但是上面一定是有人看他的记录的,无论电面还是onsite),就问了一个难题,对方没答上来,那么其实你没法证明这个人不行,可能就是这个题太难他正好没想到而已。所以Google面试(尤其是电面)每个面试官都会给你一个15分钟之内能解决的简单题目,做完了再给你出难题。这是规矩了。Rule 2: Google面试的难题不会考“aha!”的题目。就是说,如果一个题目只有一个解法,想到了就做对,想不到就白卷,那么这个题目不能拿来面试的。Google要求所有题目都是让人可以make progress的,否则的话第一会鼓励背题目,第二会导致运气成分太重。所以如果一道题目你不知道怎么做,先把你想到的写下来,追求最优解不是必须的。如果你站着只是发呆,那面试反馈只能写“面试者没有给任何solution和feedback”了。Rule 3: Google面试最终看的一定是你的代码。这个可能是最容易受到误解的了,因为不论是面试官还是面过Google的人,总会有意无意地说,你的解决问题的思路最重要,我们考察的是你的解决问题的能力。一定要记住,当他们说“思路最重要”的时候,他们是针对上面的Rule 2来说的,意思是说“做不出最优解没关系”,而绝对不是“不写代码没关系”。因为面试官可能会误解你说的话,可能会不理解你说的话(像题主说的,你说的一些OI时的常用词面试官可能真的不知道),所以面试官不能保证把你的思路都记下来。而保证一定会记下来的,是你写的代码。如果你写出了代码,面试官不理解,他必须得回去再验证,或者是找人帮他看面试记录。而如果你说的某句话他没理解,很大可能他就忘了。因此在面试的时候,如果你觉得你说的东西面试官没理解,试着写点代码下来,这是最好的、或者说是唯一的保证你的思路不会被人忽视的办法。不要只是说“用xxx结构和yyy算法就解决了”。如果面试官听懂了,他还是会说“那你写个代码吧”;而如果面试官没听懂,他可能就会不自觉地想把你的思路往他的思路上引,这就很容易导致悲剧。这应该就是Google面试大概的一些常见、有共性、而且容易被人误解的地方了。如果没经历过类似的大公司的面试,很容易因为对面试的期望有偏差而导致像题主这样以为“被坑”的心情。希望题主随着面试经验的增长,能对这个游戏规则更熟悉。记住你面试的目的是为了向一个水平75分的人证明你的水平过了60分线,而不是证明你的水平有90分 ---- 75分水平的人是没这个能力看出来的。以在题目中我看到的题主的水平,只要熟悉玩法,这些大公司应该都是手到擒来的。欢迎大家评论或者私信交流心得。如果有想申请Google职位的,我也很乐意为大家推荐。利益相关:Google MTV总部软件工程师,写回答没钱拿,交流心得没钱拿,推荐面试成功有钱拿。
首先,面试者必须要自信,要能够像同事讨论一样面对问题,不能用考生对老师的态度,不要假想对方总是出难题来考察你能不能解出来。这方面你可以看我的博客:我在 Facebook 面了大概 200 人,都是面 coding。如果说面试者的本质是一个搜索算法,在指定搜索空间内寻找题目的解法,那面试官就是一个搜索算法评估算法,在指定时间内调用搜索算法然后评估其性能和适应能力。面试者的工作相对容易理解。给你一道题目,也就是给你一个搜索空间和搜索目标,然后你就搜索去吧。一开始可能你搜索到一个非最优的有效解,例如说暴力解法;然后可能你搜索到一个次优解,例如说 O(n) 解法;最后你找到一个 O(log n) 解法,你认为是最优解了,但实际上没办法证明。然后面试官再给你一道题目,这个过程重复下去……面试官的工作则要复杂一些。面试官是要评估你的搜索算法是否足够好。足够好的意思是,将来在工作上遇到各种问题,你都能在合理的时间内获得最优解或次优解。面试官最明显的资源限制是时间,他只有 45 分钟的时间来调用你这个搜索算法,然后就必须给出结论。如果让你来设计面试官算法,你会怎样做呢?最简单粗暴的方法当然是把面试官设计为跟 OJ 一样,他内置很多组输入和输出,把输入提供给面试者,然后等待正确的输出,测算一下消耗的时间。不过问题是面试官只有 45 分钟,这样做显然是不够的,所以必须把面试官算法设计得再聪明一下。例如说,面试官算法应该去估算面试者算法在面对某一类搜索问题时的时间复杂度,如果小数据输入就证明面试者算法是 O(n^2) 的话,大数据就不用试了,显然会超时的。对比到现实中来,有些面试题是设计为有多个小问题的,如果你做到第 n 个小问题时已经花了不少时间,第 n+1 个问题就会被直接 cut 掉,根本不会问你,因为明知道问下去很可能是浪费时间。又例如说,面试官算法应该去跟踪面试者算法对搜索空间的遍历方式,如果确定这个搜索算法在特定的情况下会触发特定的 bug,导致某个分支该剪不剪然后在上面浪费大量时间,那面试官算法就应该主动把搜索空间上同类的分支全部剪掉,避免这个 bug 每次触发时都浪费时间。别忘记了面试官算法必须在有限时间内评估面试者算法的性能,已经被鉴定的 bug 就没必要重复鉴定。对比到现实中来,如果面试者总是想不起来 API 或者公式,那就没必要再浪费时间让他回想,之后他在需要用到新的 API 或公式就直接给他,默默记录下来他不熟悉 API 或公式就是了。如果面试者算法在某种输入上表现出 O(a^n) 的性能怎么办?或者说跟踪其遍历,发现根本不是在靠近目标。这时候就应该直接终止当前任务,换一个不同类型的输入。因为某些面试者确实不擅长解答某些类型的题目,浪费时间给他继续思考下去是没有意义的,面试官只是在不停地验证面试者确实不能解决这类题目而已,所以必须换不同类型的题目继续观察。(当然,我们会避免打击面试者的信息,所以就算要换题我们也会等到你有点进展的阶段,然后说我们对这个结果很满意,然后再换个话题。)很多学生不理解的就是,面试官是全程观察的,因为中国的考试制度从来没有提供这种经历。中国的大多数考试都跟 OJ 一样,你只要最终的结果是对的就可以了,没有人在乎过程是怎样的。但面试官在乎的其实不是最终的结果,而是你实际工作的方式。面试官想要预测的是,假若将来跟你一起工作的话,你这种工作方式的效率高不高。举个例子来说,有个程序 crash 了,有人从头开始调试,有人二分排查,尽管得出来的结果一样,但从习惯上来说当然后者更好。(当然还有人看一下 log 就能凭经验说出来估计是调用了某个有 bug 的 API,然后 grep 一下所有调用该 API 的代码就解决了,你不得不承认这种剪枝效率超高,这种经验很值钱。)至于刷题,大家都明白这相当于打表嘛。作为面试者算法,我猜你只会用特定的输入,所以我提前算好所有这些输入的正确输出,你提供搜索空间我就直奔搜索目标去。这种行为其实看起来有点可疑,但也不能说你什么。很多时候轻微调整一下搜索空间,或者是调整一下对最优解的要求,打表就会失败,然后就能看到真实性能。此外上面所说的都是基于面试官非常认真想要做好的情况。当然面试官也有忙的时候,有时候也会心情不好。如果面试官一边面试一边打开电脑忙自己的事情,你基本上就挂了一半了。面试官算法是要消耗 CPU 的,如果面试官自己不能 100% 专注于观察面试者,那显然该为你剪枝的时候没有剪,让你重复犯同类型错误,没有主动寻找能够展现你优势的场景,结果通常对你不利。
吃饭时间看到这个问题,楼上吐槽题主的面试回答风格的答案已经够多了,还是忍不住再说两句。Google员工的平均水准参差不齐,有实力远超过NOI金牌的IOI,WF众,也有像我这样的NOIP1=区域赛也拿不了金的渣渣。相对而言,中国区的Google员工的算法水平是比整体的算法水平要高得多的,但要说全都是OI圈子出来的,或是习惯了OIer的交流方式的,也不一定。题主的算法水平无疑是很优秀的,说不定比面试官还优秀一些,但是面试官并不能从题主的面试过程中看出这一点。从题目描述来看,题主只是习惯性的只举出几个名词来回答面试官的问题,这的确是OI圈子里的一个特点。OI圈子里的人都太聪明,从小混迹于中,各种题型结构烂熟于心,只需要一个名词就可以代替一串的详细解释。但是作为一个外人,或者说水平没有达到OI圈子的人,看这些讨论只能看到名词的堆砌,不知其所云。这一点和ACM圈子倒是有很大区别,ACM圈子里不乏有本科才接触编程的普通人,三人团队各有所长,却又公用一台机子的机制也锻炼了交流的能力。大部分情况下看ACMer的blog和看OIer的讨论串完全是两种感觉,感觉ACMer在描述问题解法时更有层次也更细腻,OIer就充满了种种黑话行话。并不是说OI圈子的这种风气不好,当你讨论的对象都是和你一个水平并且彼此有一些了解的人时,尽量用简洁的词句表示出自己的想法,不会带来对方可能理解不了的困扰,还会有一种奇妙的成就感。而面试的时候,面试官的水准是未知数,面试官看你的水准也是未知数。面试官想要听到的是你思考问题时的层层推进,而不是跳跃的只言片语。否则,和一个什么都不懂只是背了点名词的人又有什么区别呢。工作四个月以来,mentor和我强调最多的一点就是: Engineering is more about communication, not program or code. The person who don't talk or don't know how to talk won't succeed. 大公司就是这样的,你要考虑和你一起工作的人的感受,你要学会更好的表达来推销你自己。用更易于接受的方式来表述想法,不仅仅是在面试中,与题主共勉。利益相关:13年在上海通过面试的Google MTV员工。
与大家想的相反。。。。。我倒觉得题主可以面面那种更精英化的公司(比如JS),也许就过了。不一定你非得适应其他95%人的交流方式,你应该到那些5%的和你一样inner geek的地方去。双向选择。
几点:1. 公司招人进来是干活的,不是做题的。我见有人说水平问题,说g家的平均水平不高,楼主水平高神马的。这点我完全不赞同。楼中算法水平高没错,可惜在工程师界混不看算法水平。我根本不care你oi/acm刷到什么级别,那个最多证明你智商不错。你能不能把一个简单地算法无伤的用code写出来我更关心。就像现在还有很多人考链表的反转这类只有一点点小trick的题目。2. 加分项不是说你能把算法优化到什么惊天动地的程度,我不care。大概复杂度跟标准答案差不多就行。如果你能讨论在实际情况(注意是实际情况, 而不是理论平均)中,你的算法怎么做并发,怎么scale,怎么能更reliable之类的更好。再不济你讨论讨论怎么优化内存的访问,降低cache miss,减少io,降低thread count。实际上大多跑着的系统根本顾不上做太深入的算法优化,保证能没问题的持续地跑一年半载的就已经很困难了。3. 保持一个谦虚的心态。要知道你出来找工作基本上等于换了一个专业,大致相当于你作为一个顶尖的木匠要转去做泥瓦匠,所以面试内容只是泥瓦匠和木匠共通的地方,你要再会点泥瓦匠的东西就更好了。作为顶尖木匠的某些奇技淫巧,你可以作为参考,但是真心用不上。4. 我见有人谈学术界,其实除非是搞真·算法的,我觉得跟oi神马的大凡都不太搭界。你说最近最火的deep learning,我就没看出来哪里有关系了。另外在学术界你不能好好搞好人际关系,我估计死的更惨。当然我既没搞过oi(well,小学以后就没搞过),也没做过学术。
OI讨论问题的风气一直是“这个用XX算法搞一下就好了”然后被说的人觉得灵光一现就会做了。。。或者不会做就会问,为啥用这个算法?那个人就会说数学解释。。。你这是考面试官呢,还是面试官考你呢?
写程序差不多前10%的人?恩,这个可以有。但是,楼主,看你的表述,我认为你的交流能力是在Bottom 10%里面。猜测这是面试失败的重要原因。你看,从头到尾都是琐碎的面试流程和你的心理感受,看了一遍你说的“坑”到底在哪里?比如,对方出的每道题你是怎么应对的,可以写在一段里面。写完后请用分割线或者多空几行再开始下一个问题及你的应对。你有没有发现通篇你的提问都是一行一行的没有明显的间隔?读起来心好累。比如,“邻接表”是什么?咦?还有“BFS”?请用“Adjecency List”和“Breadth-first Search”,或者“邻接表”和“宽搜”。读你的问题好累,这还是你坐在电脑面前有时间打字写出来的。如果面对面和你说话,你的表达的准备时间更少,想象一下和你说话只会更累。Work on your Communication Skills.
运气不好,遇到的人不搭。我也在面试中遇到过Google的人,我(帮朋友的公司)面试他,我客客气气,他屌的要死。举例说明:我问他,Google面试会做一些什么样的题目,你当时进Google面试是什么样的呢?他说就是比如XX,YY或ZZ的题目,这种题目没什么的么,“连你也做得出来的”。双引号里的为原话,我当场就呆了,这是来吵架的还是干什么的?当然后来过了几天知道原来他在微博上知道我,我是他那个圈子里看着不太爽的人(难道因为我经常说Google卑劣的缘故?),于是就没想好好来。不过假如是我,至少表面上还是会客气一下的嘛。所以我想说的是,遇到奇怪的人也很正常。这是命,得认。PS:被人私信骂了…… QAQ
题主要从面试官的角度来思考问题。面试官来面你只不过是志愿给公司帮忙,也是给自己寻找未来的同事。即使题主是真大神,进了google也不能给面试官带来直接的利益。IT企业里面那点活,少了谁不能做啊,要求的仅仅是和自己水平相当可以合作的人罢了,何必请个爷回来恶心自己呢?题主要是看不惯那一套,大可以投身学术界,要么自己startup,一个人单枪匹马操翻全场,没必要去互联网行业讨营生。
@温兆伦 和 @ 回答都是从程序员的角度看问题,我来从第三方的角度看问题吧。萌萌不是程序员,但是在工作中接触了不少面试官和被面试的程序员,最后调查面试不通过的反馈很有意思:面试官、不论是HR还是tech lead,给出的原因一般都是「能力不行」、「水平不够」;而问被面试的程序员,一般都会说「公司不行」、「面试官的水平不够」。知乎上这类面试后吐槽面试官,质疑面试官阴谋论的问题真是太多了,比如这些红极一时的热点问题:人总是在不自觉中高估自己的实力,看低别人的水平,所以在受挫时第一反应不是反省自己是不是哪里出了问题,还是质疑对方是不是对自己怀有恶意,故意设坑。真是要替面试官说一句话吧。实话说,面试中真的没有那么多坑!面试官接受了HR的安排、放下自己手头的工作、花时间给你面试,真的不是要刁难你和坑你,他们没有这个权限也没有这个动机。面试官和你什么仇什么怨?如果你感觉到不爽了,你就当成是压力面吧,自我安慰调整一下心理状态,别胡乱猜疑自乱阵脚。不论是豆瓣的大眼哥、穷游的HR,还是这位Google的技术面试官,都不是在恶意设坑,只是在履行职责,进行一场普通得不能再普通的面试。对他们来说,你只是众多求职者中的一个,nothing special。被面试的三位同学,都是有比较高的专业能力,但是沟通能力欠缺、甚至很低的求职者,所以在面试中吃了亏,郁闷得不得了。面试中的双方,面试官和求职者其实是平等的,有职业操守的面试官不会盛气凌人,求职者也不要无缘由地觉得自己低对方一等。还没签约呢,还在面试呢,不缺这口饭吃,试试用朋友讨论问题的心态和面试官沟通,即使最后没谈拢,也可能交了一个行业内的朋友,岂不是更好?最后,回到这个Google的技术面问题,其实我在这个答案里曾经说过: 其他知友也强调过,看来还是有很多人不知道,还是再说一遍吧:电话面试中要注意:即便是思考的时候最好也keep talking,避免出现尴尬的冷场。也就是说面试官问你什么题目,你通常会马上想到一个最简单也最麻烦的方法,别犹豫,马上说出来,让面试官知道你的思路,然后再讨论怎么改进。如果你闷着头自己去想最优解,电话那头的面试官压根就不知道你在干嘛,说不定还以为你不知道怎么解呢。如果你不知道答案,也不要怕,先说自己的思路,让面试官知道你的思考过程。毕竟,「题目用尽量好的办法做对固然很重要,但是让别人知道你的思考方式,以及保持轻松愉快的谈话氛围,留下好的印象也很重要。」面试中说话的技巧太重要了,下次有时间再聊。
刷题太少耳不要相信那些扯什么刷题无用的人,即使他是google的。刷题这玩意儿,就是他们整出来的,你不刷肯定紧张,面试你的人肯定觉得你是个傻逼
我就想问一句,谁逼你秒答了。“程序员如何避免面试被坑”,这个问题的提问角度说明,你觉得自己“秒答失败然后因为丢脸而发挥失常”是很正当的,都是面试官不好,居然“坑你”。怪不得人家不要你,呵呵。别说Google,要你的公司得多宅心仁厚。应该问问,“程序员面试时如何避免犯2出丑之后还要把过错赖在别人身上?”
自我总结一下大家的看法。(我会克制三个点号的相信我。)我自己实际上这个问题考虑了一晚上了。毕竟我觉得这绝对不是什么“这面试官是SB”就能解释的问题我自己在这次面试中出现了很大的问题我需要反思的很多1.沟通问题大问题,我不知道他在说什么,他让我详细说说怎么BFS,我给他讲起来数学证明了2.跳过简单算法一般情况下,默认我们所有人应该第一时间想到的算法,我都是直接跳过的是的,真的是直接跳过这个坑死我了3.描述时使用了OI小圈子里面经常使用的名词我在描述的过程中,使用了一些小圈子里面经常出现的名词,比如说我说的背包问题实际上是扩展的背包问题,还有基于动态规划产生的记忆化搜索,这个东西似乎是OI才有的吧不太清楚,我在复盘后认为当时他并没有理解我说的,但是我当时是没有发现的4.未强调我自己的一些发现我说道每个数不超过3个时,他立刻打断我说不如说每个数不超过k个吧。这里我们发现,其实他此时根本没有意识到我通过最优化性质证明了一个结论。5.所有能够转化为答案的东西都要被说明我在第一题中出现了一个邻接矩阵的一种类似乘法的运算,可以使得邻接矩阵变成一个k长度可达矩阵。我只是在最后,用几秒钟的时间,告诉了面试官,这是一种做法,可以利用矩阵乘法加速,达到N^2.37的复杂度,这一切都发生在几秒内,完全被面试官忽略了6.没有果断说不事实上这个问题到N*M已经是优秀的算法了,但是面试官就看我一直在那想更优秀的算法于是没有打扰我,其实我也不知道我在想什么最后,说真的,我讨厌搜索剪枝,因为搜索剪枝和调参大法其实是差不多的。当我做到搜索剪枝,在OI中我做到搜索剪枝,除非是我特别有时间,我都会直接放弃。也许就是这些原因吧。这是我对此次面试复盘的一些结果吧。综合诸位的答案,我希望对大家有所帮助。
不知道楼主知不知道cover letter这个东西。就是resume以外,准备的开场白。除了真的大神,比如“ I wrote Python”;其余的人没有cover letter的话,基本上被米国IT企业当sb对待了*(注意口头的 cover letter 也是)。而且你觉得自己开场白不好,导致印象不好也是原因。另外你说英文不好,到底是多不好?不知道面你的是不是米国人…carrer fair的时候排我前面那个印度人简历吊到飞,结果说话完全听不懂……对面一副“sorry I tried…” 表情……高中就OI金牌了你说的算法我基本都不懂lu…
本来想吐槽题主,还是算了,一来其他人已经吐得够多,二来让我想起第一次面微软的时候(那时候还没现在水),自己也是觉得:耶,这有什么难啊,我的思路没错啊,我不就是跟你想得不一样么,我写程序可是学校top x啊。。。为毛你把我据了呢。。。anyway,程序面试来不得半点虚假,你一句bfs就行了?你以为是论坛嘴炮么?我一句map reduce 来处理是不是就可以表现老子是大数据专家了?你当来面你的人是论坛灌水的么?招你进去是要你能干活能快速实现项目的----你真能快速想到怎么存graph?能立马定义合理的数据结构并代码实现?哦,能做到,不错,那么我们根据实际情况对graph做些要求呢?对你的存储和搜索方式做点限制呢?这可不是你本科的课堂作业,也许就是sns中要解决的某个问题呢。。。面试的问题就是这么难度上升的,而你,很遗憾,一句bfs后就慌了,为什么?从面试角度来说,我不关心你想什么,我只知道事实是你只表现出你知道bfs这个东西,当让你谈graph的存储并实现时,你开始语无伦次。对啊,这不是啥难题,这是书上必讲的如何表达一个graph的标准内容,问题是你慌乱了,我只能理解为你没动手做过,所以你乱了。反之如果你真的很熟悉,这应该hit you sweet spot然后你兴奋滴对graph的各种实现侃侃而谈并写出你的得意代码才对,这本来是给你机会表现啊,呵呵
应试题做的太多,实践经验没有。T大不是老教我们行胜于言么?看来没咋做过项目。
温兆伦都来回答了。。我知道的经验是,面对面试,一定要:大声地把自己的想法说出来。每一步都要表达能力很重要。只知道自己想,写出来的代码太复杂只有自己能读懂,这样怎么和别人合作
这说明题主还年轻。眼高手低是年轻的时候多遇到的问题。想做好一件事情,不仅需要全面细致的分析,更要丰富的实践经验。(做过就能比较了解细节)公司大多数时候要求的是稳。比如一个问题,老板问你能解决么。两分钟内给出答案。能。就一定要能。因为客户有时候是不会总有时间等你的答案的。深厚的根底才是你坐怀不乱的基础。
题主纵然是大神,表现得也傲慢了些。我认为你的问题可能出在以下几个方面:没有事先了解面试范围/形式+想当然+应变能力差 = 当被问到跟你预期不一致的问题时会紧张、惊慌,以至于连本来烂熟于心的东西都没说好;缺乏准备:自我介绍这种最基本的面试准备都没有做,是对自己临场发挥能力太自信?一直想fancy的算法试图impress面试官,这本身没问题,但是想的过程中没有好好沟通;态度问题,如 所说,给人很浮的感觉。如果对方知道你很牛,求你若渴,你的态度也许不那么重要。但如果对方对你一无所知呢?他不仅是在招一个技术合格(注意只是合格)的新雇员,也是在招一个潜在的同事。你说他会不会倾向于招一个更nice更谦虚的人呢?看了题主的描述,我很相信你的能力,我也认为你要获得面试成功并不难,因为你不需要再把基本的算法数据结构重新学过、额外花时间刷题练速度。我假设你做基本的算法题都可以信手拈来。这种情况下,你需要注意:准备起码的自我介绍,包括你个人的教育背景以及做过的项目。最好准备一个印象非常深刻的项目可以详细展开说你遇到的困难、学到的东西等等。还有一个常见的问题是“Why google”这种。其他非技术问题都可以转化到项目经历的细节上,不用额外准备。记住你是被面试的人。如果嫌题目简单,你可以快速做完,并且在做的过程中表现出你对相关知识的熟悉。比如你使用Java准备用StringBuffer,你可以随口提一句你不用StringBuilder是因为它不thread safe。这个例子有点呆,你理解我的意思就好。不要跳过显而易见的解法。你可以跟面试官说:我先做一个可以work的算法,之后再优化。面试官应该都会很开心听到你这么说,因为这也是他/她想看到的。Keep talking. 这一点是所有参加过招人的工程师都会告诫你的!他们在乎的不是答案本身,而是你思考的过程。解释完算法,确定对方理解并且认可你的思路,再开始写代码。写代码时也要一边写一边说自己这一行在做什么事。时间允许的话可以快速wrap up你的代码,用不到一分钟时间大致总结下你的整个算法是怎么工作的,你每个method的作用是什么。写完记得说你会怎么test。如果来不及,至少表现出你有test的意识。Google这样公司里的员工见过的聪明人太多了,所以千万别打算在几十分钟内impress谁。保持谦虚,好好答每一个问题,表现出你的计算机素养,足矣。

我要回帖

更多关于 应聘自我介绍 的文章

 

随机推荐