JavaRush /Java 博客 /Random-ZH /喝咖啡休息#77。我如何应对严重的冒名顶替综合症。如何通过编程面试 - 高级开发人员的建议

喝咖啡休息#77。我如何应对严重的冒名顶替综合症。如何通过编程面试 - 高级开发人员的建议

已在 Random-ZH 群组中发布

我如何应对严重的冒名顶替综合症

来源:Medium 在大学时,我选择计算机科学作为专业,因为我认为任何人都可以做到这一点,无论教育程度或智力水平如何。我也对使用技术解决现实问题的可能性感兴趣。但如果我事先知道成为一名计算机科学家需要什么,我就永远不会进入这个领域。由于无能,我会自动取消自己的资格。喝咖啡休息#77。 我如何应对严重的冒名顶替综合症。 如何通过编程面试 - 高级开发人员的建议 - 1大多数选择计算机科学的人认为自己的智力高于平均水平,因此他们愿意迎接挑战。但大多数情况下他们都无法解决问题。在我的大学,计算机科学专业的辍学率为 75%。然而,那些在计算机科学领域取得成功的人都是杰出且非常有才华的人——无论他们是否知道。至于我,我认为自己很平庸,但仍然决定学习计算机科学。大学一年级结束后,我在暑假完成了软件工程实习。我很高兴能赚钱,但我觉得自己像个骗子。我知道尽管我无能,但我还是被录用了。我不明白为什么要雇用一个不会编程的人?当暑假结束,回到大学的时候,我的老板又将实习期延长了六个月。他说他喜欢我的工作,希望我一边学习一边在公司工作。老实说,我知道这是一个谎言。我觉得他很喜欢和我说话,而且我很适合公司文化,所以他愿意支持我。由此我得出的结论是,很多公司只要老板喜欢就留住不称职的员工。现在我是他们中的一员。第二年后,我又进行了一次暑期实习。几周后,我的老板让我成为一名技术经理实习生。他认为我可以成为其他学员的优秀领导者。这让我对他的观点产生了怀疑。仅仅三周后,他怎么能知道我是一个什么样的领导者呢?我从未在任何工作中监督过任何人。我放弃了编写代码,希望它能起作用。这样他就有理由解雇我了。大三年初,我申请了该系一位教授的研究助理职位。我不认为自己能够获得资格,但我认为尝试一下也没什么坏处。最后,我得到了这份工作。这是由美国国家科学基金会(NSF)资助、由一位著名教授主持的研究项目。许多想为他工作的硕士生都被拒绝了——他认为他们无能。但他选择了我。本科三年级学生。这让我的焦虑症更加严重。我绝对确定我会在第一周内被解雇。我不知道自己在做什么。我对计算机科学研究一无所知。我什至没有为我的作业写出好的代码。我 99% 确信我已经成为一个真正的骗子,因为他们一直雇用我。完成研究后不久,我开始申请实习,因为我需要一个后备计划。我发出了几份申请。过去几年,只有小公司会给我回电话。这一次一切都很奇怪。来自谷歌、Facebook 的面试请求蜂拥而至,彭博社和许多其他科技公司在提交文件的第一周。通常人们对这样的消息感到高兴。但我不是。我非常惊慌。毕竟,这不是我。我觉得我对自己的简历进行了如此多的修饰,以至于现在人们认为我是另外一个人了。我很害怕这些公司发现我并不像纸上写的那么聪明,他们会立即解雇我。因此,我拒绝了所有大公司的面试。在一家小型初创公司面试后,我意识到他们也不会在那里雇用我。我知道我在面试时写的代码很糟糕,有 bug(意味着它有 bug),他们不可能给我打电话。我什至要求额外的时间来完成算法。为什么有人会雇用一个速度慢的程序员?第二天我收到了一封包含报价的电子邮件。当我得到这份工作时,我感到很震惊。我什至问面试我的工程师为什么雇用我。他说:“你的简历是我们今年夏天收到的最好的实习生简历,在与你交谈之后,我知道我们毫无疑问应该雇用你。” 什么?我感觉自己一直在撒谎。他们雇用我后,他们要了解我能做什么,我撒了谎,不知道我在做什么。但我仍然找到了工作。与此同时,我在大学兼职。几个月后,谷歌再次联系我。这次是毕业后的全职工作。我从未向 Google 申请过全职工作。为什么他们的招聘人员在毕业后向我询问潜在的软件开发人员工作?我什至没有完成最后一年的学业。而且,他们甚至没有正式开放这个职位的申请。我问招聘人员他们是怎么找到我的?我根本没有申请这个职位。他说:“谷歌每年都会派遣招聘人员到某些学校招聘研究生工程师。我已被任命到你们大学。我们会审核学生的个人资料、LinkedIn、个人网站和公开简历,并联系最佳候选人。你的简历是专门为明年的毕业班挑选的。” 如果你有兴趣,这里是 为什么有人会雇用一个速度慢的程序员?第二天我收到了一封包含报价的电子邮件。当我得到这份工作时,我感到很震惊。我什至问面试我的工程师为什么雇用我。他说:“你的简历是我们今年夏天收到的最好的实习生简历,在与你交谈之后,我知道我们毫无疑问应该雇用你。” 什么?我感觉自己一直在撒谎。他们雇用我后,他们要了解我能做什么,我撒了谎,不知道我在做什么。但我仍然找到了工作。与此同时,我在大学兼职。几个月后,谷歌再次联系我。这次是毕业后的全职工作。我从未向 Google 申请过全职工作。为什么他们的招聘人员在毕业后向我询问潜在的软件开发人员工作?我什至没有完成最后一年的学业。而且,他们甚至没有正式开放这个职位的申请。我问招聘人员他们是怎么找到我的?我根本没有申请这个职位。他说:“谷歌每年都会派遣招聘人员到某些学校招聘研究生工程师。我已被任命到你们大学。我们会审核学生的个人资料、LinkedIn、个人网站和公开简历,并联系最佳候选人。你的简历是专门为明年的毕业班挑选的。” 如果你有兴趣,这里是 为什么有人会雇用一个速度慢的程序员?第二天我收到了一封包含报价的电子邮件。当我得到这份工作时,我感到很震惊。我什至问面试我的工程师为什么雇用我。他说:“你的简历是我们今年夏天收到的最好的实习生简历,在与你交谈之后,我知道我们毫无疑问应该雇用你。” 什么?我感觉自己一直在撒谎。他们雇用我后,他们要了解我能做什么,我撒了谎,不知道我在做什么。但我仍然找到了工作。与此同时,我在大学兼职。几个月后,谷歌再次联系我。这次是毕业后的全职工作。我从未向 Google 申请过全职工作。为什么他们的招聘人员在毕业后向我询问潜在的软件开发人员工作?我什至没有完成最后一年的学业。而且,他们甚至没有正式开放这个职位的申请。我问招聘人员他们是怎么找到我的?我根本没有申请这个职位。他说:“谷歌每年都会派遣招聘人员到某些学校招聘研究生工程师。我已被任命到你们大学。我们会审核学生的个人资料、LinkedIn、个人网站和公开简历,并联系最佳候选人。你的简历是专门为明年的毕业班挑选的。” 如果你有兴趣,这里是 你的简历是专门为明年的毕业班挑选的。” 如果你有兴趣,这里是 你的简历是专门为明年的毕业班挑选的。” 如果你有兴趣,这里是我的个人简历从大学开始。在我的第三年,我考虑毕业后创办一家 IT 初创公司,而不是找一份全职工作。当谷歌再次联系我时,它让我停下来认真思考。如果我真的没有我想象的那么糟糕怎么办?如果我拥有别人可以看到的技能,但我没有注意到怎么办?来自谷歌的邀请真正给了我启动我的初创公司的最后动力和信心。如果这样的公司认为我有潜力成为一名优秀的开发人员,那么我应该去看看。我将创建自己的商业软件来解决我关心的实际问题。让我们看看这是如何工作的。所以,我拒绝了谷歌的提议。毕业后我开始创业。我觉得如果我能让客户对我的产品感兴趣,那么我实际上就有价值了。也许我真的很有天赋、才华横溢、才华横溢。一年后,我们对该应用程序进行了测试。有时,客户可能是最严厉的批评者和最难相处的人。然而,我们的大多数目标客户都对我的软件印象深刻。一位用户对我们应用程序中的一项功能发表评论说:“哇,这太创新了。” 另一位测试了该应用程序并表示:“我肯定会为此付费。我可以支付多少钱来使用它?我什么时候可以开始使用它?” 然后他打电话给他的商业伙伴说:“这个女孩做了一件可以为我们节省很多钱的事情。我们需要她。” 这就是我意识到我已经成功克服了冒名顶替综合症的方式。我的一位教授在大学四年级时谈到了冒名顶替综合症。演讲结束后,他说全班超过 80% 的人(我就是那 80% 的人之一)联系了他,感谢他就这个话题发表了演讲,因为他们觉得自己很愚蠢。我说的是那些我所钦佩的、才华横溢的优秀学生,但事实证明,他们也在与自卑感作斗争。我学会了如何应对冒名顶替综合症。我对自己的看法是基于将自己与他人进行比较。但我需要将自己与过去的经历进行比较。学会欣赏我的工作帮助我认识到我在工作上做得足够好。在第一次实习期间,我不知道如何编写最好的代码,但我对用户界面(UI)设计有了正确的理解。我的老板后来告诉我,他们保留了我,因为我为他们开发了一个很好的原型来更新他们的网站,他们决定用它来重新设计平台。尽管我当时不知道如何正确编码,但我拥有一项并非所有开发人员都具备的宝贵技能:良好的用户界面设计。在我担任实习经理的实习中,我的老板不再需要协调实习生,因为我可以为他做这件事。所以我让他的工作变得更轻松。管理人们做好他们的工作是一项令人难以置信的技能,而我拥​​有它。我低估了自己,认为我的工作只是写代码。还有其他一些要求,我比其他人表现得更好。和我一起做研究的教授说,在采访中,他对我的技术知识以及我想在工作中重点关注的技术印象深刻。他说,“许多学生来到这里试图制作流行应用程序的类似物,而你来到这里是因为你想要制作一些你理解并知道如何使用的东西。” 他很感动。在大学期间,我参与了很多个人项目并从中学到了很多东西。你并不是每天都会遇到在毕业前完成了六次个人项目和独立研究实习的大学生。这表明我是一个有上进心、有强烈职业道德的学生。谷歌对我感兴趣并不奇怪。谁不想要这样的员工呢?我花了一段时间才真正学会欣赏我加班所付出的巨大努力和工作。现在它已经得到了回报。我不需要将自己与其他人进行比较。我已经把一切都处理好了,人们都看到了。我还需要亲眼所见。现在,当我和刚刚开始编程之旅的新手坐在一起时,他们似乎认为我神奇地知道所有这些事情。但实际上我只是花了很多时间研究它们。过去五年(包括四年的学习)我参与了至少十个与编程相关的项目。毕竟,我尝试过很多事情,这种经历帮助我在开发中做出更好的决策,让我看起来“我知道一些事情”。看到工作的成果,我改变了对自己的态度。我的工作越让别人受益,我就越开始相信自己。我只是提醒自己这些年来我能够解决的所有困难的事情。这不会是我死在的山上。我一定会克服它并继续下去。你理解并知道如何使用它。” 他很感动。在大学期间,我参与了很多个人项目并从中学到了很多东西。你并不是每天都会遇到在毕业前完成了六次个人项目和独立研究实习的大学生。这表明我是一个有上进心、有强烈职业道德的学生。谷歌对我感兴趣并不奇怪。谁不想要这样的员工呢?我花了一段时间才真正学会欣赏我加班所付出的巨大努力和工作。现在它已经得到了回报。我不需要将自己与其他人进行比较。我已经把一切都处理好了,人们都看到了。我还需要亲眼所见。现在,当我和刚刚开始编程之旅的新手坐在一起时,他们似乎认为我神奇地知道所有这些事情。但实际上我只是花了很多时间研究它们。过去五年(包括四年的学习)我参与了至少十个与编程相关的项目。毕竟,我尝试过很多事情,这种经历帮助我在开发中做出更好的决策,让我看起来“我知道一些事情”。看到工作的成果,我改变了对自己的态度。我的工作越让别人受益,我就越开始相信自己。我只是提醒自己这些年来我能够解决的所有困难的事情。这不会是我死在的山上。我一定会克服它并继续下去。你理解并知道如何使用它。” 他很感动。在大学期间,我参与了很多个人项目并从中学到了很多东西。你并不是每天都会遇到在毕业前完成了六次个人项目和独立研究实习的大学生。这表明我是一个有上进心、有强烈职业道德的学生。谷歌对我感兴趣并不奇怪。谁不想要这样的员工呢?我花了一段时间才真正学会欣赏我加班所付出的巨大努力和工作。现在它已经得到了回报。我不需要将自己与其他人进行比较。我已经把一切都处理好了,人们都看到了。我还需要亲眼所见。现在,当我和刚刚开始编程之旅的新手坐在一起时,他们似乎认为我神奇地知道所有这些事情。但实际上我只是花了很多时间研究它们。过去五年(包括四年的学习)我参与了至少十个与编程相关的项目。毕竟,我尝试过很多事情,这种经历帮助我在开发中做出更好的决策,让我看起来“我知道一些事情”。看到工作的成果,我改变了对自己的态度。我的工作越让别人受益,我就越开始相信自己。我只是提醒自己这些年来我能够解决的所有困难的事情。这不会是我死在的山上。我一定会克服它并继续下去。我的工作越让别人受益,我就越开始相信自己。我只是提醒自己这些年来我能够解决的所有困难的事情。这不会是我死在的山上。我一定会克服它并继续下去。我的工作越让别人受益,我就越开始相信自己。我只是提醒自己这些年来我能够解决的所有困难的事情。这不会是我死在的山上。我一定会克服它并继续下去。

如何通过编程面试 - 高级开发人员的建议

来源:免费代码营 技术面试是获得技术工作时压力最大的部分之一。你不知道面试官会问什么问题。您可能无法解决向您提出的问题。您不知道如何最好地选择正确答案。许多有抱负的程序员疯狂地试图记住每个编码面试问题。你我都知道这种做法是不可持续的。我最近采访了我的朋友 Michelle,她是 Stitch Fix 的高级软件工程师。她分享了她在邀请面试的开发人员中寻找的品质。喝咖啡休息#77。 我如何应对严重的冒名顶替综合症。 如何通过编程面试 - 高级开发人员的建议 - 2

保持好奇心

米歇尔对开发人员候选人最重要的建议之一就是保持好奇心。提出澄清问题。分享您对所面临问题的想法。面试官不仅仅是在寻找正确的解决方案。他们想了解你的想法。表达你的想法的最好方法是提出问题。假设面试官要求你检查字符串中是否包含数字。你应该用自己的话解释这个问题,例如:“那么,我需要找到一种方法来检查一组字符是否包含数字?” 通过这样说,你可以让面试官有机会理解你的逻辑。您还向他们表明您关心这个问题。并且不要害怕提出澄清问题。使用上面的相同示例,您可以提出几个问题:
  • “我要查找的数字包含小数吗?”
  • “在检查之前我需要对字符进行某种排序吗?”

提供您的解决方案

对建议持更开放态度的一种方法是尝试引起面试官的兴趣。将你的逻辑用语言表达出来,引导他完成你解决问题的过程。我们将使用与上面相同的问题。以下是从一开始就表达逻辑的一些方法:
  • “所以我需要找到一种方法将字符与数字分开,对吗?”
  • “我正在考虑创建一个端到端的字符集枚举。”
  • “我可以采用编程方式来迭代字符,但我们还是坚持使用数字吧。”
您提供的信息越多,对话者就越愿意提供帮助。

一起工作

开发人员总是独自工作的想法是一个神话。您几乎总是使用需要协作的版本控制和项目管理工具。您必须表达您的方法,提出重要问题并保持面试官的兴趣。这样你就会更快地做出决定。您还将向公司代表表明您可以与其他开发人员有效协作。以下是一些让面试官感兴趣的方法:
  • “对于这个解决方案来说,for 循环会不会太简单/太复杂?”
  • “判断是否有漂浮物有多重要?”
  • “你想到什么解决方案?”

做好渡过难关的准备。

最后,米歇尔建议开发人员候选人一定要解决手头的问题。对于候选人来说,最常见的情况之一就是陷入困境。虽然这是可以理解的,但在这种情况下没有人会获胜。你无法展示自己有多么不可思议,面试官也无法帮助你。米歇尔对此表示:“试试吧。” 即使你写错了代码,也比根本不写好。在看板/代码编辑器上发布内容将引发讨论、分享您的想法的机会,以及从提出问题的人那里找到正确答案的机会。不要害怕失败!这仅仅意味着您离成功又近了一步。:) “Just do it”这句话可以有很多含义。但是,以下是一些示例:
  1. 在白板、纸张或代码编辑器上编写伪代码。
  2. 准确地注意你的逻辑被困在哪里。
  3. 口头描述您想要提出的解决方案。

运用思维

编程面试可能会令人生畏,并且总是担心你会被冻住。这种恐惧部分源于不知道等待你的问题是什么。最棒的是,您不再需要记住编码问题和解决方案。相反,使用您刚刚读到的关键面试行为来建立思考基础。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION