CodeGym/Java 博客/随机的/在被录用之前,我至少失败了 10 次面试:开发人员 Yuri 的故事
John Squirrels
第 41 级
San Francisco

在被录用之前,我至少失败了 10 次面试:开发人员 Yuri 的故事

已在 随机的 群组中发布
个会员
这个故事是关于一个名叫Yuri Sharoiko 的游戏开发者的故事。在进入 IT 领域之前,他曾在执法部门工作并为一家银行提供安全保障。很快他就对这项工作感到厌倦,并回忆起了他年轻时的一个爱好:计算机编程。最终,Yuri 学习了 Java,并开始编写浏览器游戏。“在被录用之前,我至少失败了 10 次面试”:开发者 Yuri 的故事 - 1

“我从小就想和电脑打交道”

我今年26岁。我在新西伯利亚(俄罗斯的城市——编者注)出生和长大。从我还是个孩子的时候起,我就想与计算机打交道,游戏开发的整个想法让我着迷。我用 C++ 和 C# 编写了一些基于文本的任务,但我的学习成绩并不出色(由于我的懒惰)。我并不傻,只是没有组织。所有这些促使我在看到机会的地方报名。我曾想过在执法机构工作,所以我从西伯利亚国立铁道工程大学(SGUPS)刑法系毕业,最终,我到达了我想去的地方。大学二年级时,我完成了调查委员会的实习,所以我留在那里。第四年,我被录用了。我不知道现在怎么样,但以前是三年级之后就可以在那里找到工作。大学毕业六个月后,我获得了中尉军衔。我又工作了一年,意识到我厌倦了所有的长夜、警卫职责和缺乏社交生活,所以我决定辞职。之后,我找到了一份银行保安团队的工作。这意味着我将在故事中省略一些细节:保密协议仍然有效。在那里,我仍然保留着一些重新设计事物的愿望。我改进并自动化了流程。结果,所有这些工作都演变成了一个比较大的项目,为安全部门创建一个统一的访问系统。尽管该部门只有 50 名员工,但该程序(顺便说一句,它是建立在臭名昭著的 MS Access 之上的——这对于银行来说很常见,因为银行通常不想花钱为安全团队开发软件)是一堆必要的部分:有一个数据库、自动创建 Excel 和 Word 文件、Outlook 连接,甚至通过 Adob​​e Acrobat Reader 对 PDF 文件进行文本识别。由于这项工作,我获得了很好的晋升,但由于我是安全团队的一员,我意识到进一步晋升的选择并不多。

“我不只是学习——我吞噬了这些信息”

从2019年中开始,我陷入了疲劳和无聊的深渊,但女朋友提醒我一直想做的事情,并告诉我“尝试一下”。为什么不?- 我想。当时,考虑到我的薪水、工作时间以及与管理层的良好关系,我可以晚上在家写代码,而不是坐在办公室直到晚上。于是这个想法再次激发了我的欲望,我决定尝试一下。因为除了“被诅咒的”VBA 之外我已经忘记了一切(编者注:VBA 是 Microsoft Office 产品线中内置的 Visual Basic 编程语言的稍微简化的实现)),我首先观看 YouTube 视频并阅读 Herbert Schildt 的书《C++ for Beginners》。顺便说一句,这是一本很棒的书。我把它推荐给了每一个人。在某个时候,银行宣布了一个 Java 再培训计划,我成功地进入了该计划。我在两个多月的时间里完成了培训。说实话,它几乎没有给我带来任何好处,因为两个月每周两次的时间不足以正确涵盖所有材料。教得不错,但题目传得太快,几乎没有练习。如果我不承认这个培训计划主要针对已经担任工程师或银行 IT 部门的人员,那么我就不是完全诚实的。由于我的零经验,这对我来说非常困难。“再培训”结束后,银行进行了内部面试,期间我终于发现自己什么都不会。如果银行不愿意从自己的团队中雇用某人,则意味着该人几乎一无所知。这是 2019 年 12 月。一些采访结束后,我被告知有这个 Java 课程的存在。所以,当我最终接受了我不会休息的事实时,我注册并开始了我的学习。我训练的活跃阶段是2020年2月至5月。正是在3月份我们被隔离的时候,我才彻底扭转了局面。因为我是远程工作,所以不需要去办公室。这个过程是这样安排的,让我可以延迟一两天完成我的工作。我不只是学习——我夜以继日地坐着,如饥似渴地吸收这些信息。早上8点起床开始学习对我来说很正常。然后下午 4 点以后,当我的大脑已经烧焦的时候,我就转向远程工作。至于动力,你知道,我只是在内心深处明白这就是我的未来。当然,我精力旺盛的女朋友的支持在很多方面帮助我开始了这条艰难的道路。所以我学习了大约2个月。我非常疲惫,但总的来说,我的大脑并没有过度紧张。例如,如果您想烘烤一些东西,您可能会将烤箱预热到 325 度,然后根据需要提高温度。你不太可能立即将烤箱设置为 450 度,因为那样你就会烧掉你所做的任何东西。同样的原则也适用于此。我在 2-3 个月内完成了任务,之后我开始研究雇主想要的所有好东西(Spring、Hibernate、Tomcat 等)。顺便看了《专业人士的Spring 5》这本书。那里有海量的信息:当然,有时很难掌握,但总的来说,一切都是可以消化的。即使是 YouTube 也无法比这本书更好地向我解释 Spring。我还建议您查看 Spring 框架的网站。它有教程,非常有用。对我来说最难学习的主题是缓冲区、文件处理和按位操作,但它们在很少的地方使用,并且在 99% 的地方它们是进步所必需的。我的困难更多的是无处不在的递归。我只是很困惑,但这就是学习的意义:你做错了事,然后你会发现如何做正确的事。你明白了原因和原因,然后你就不再犯这些错误。毕竟,你永远无法通过无所事事来学习。

“你不需要成为天才才能在 IT 行业占据一席之地”

我从28级开始找工作,但我很快意识到我的知识还不够。然后我休息了一下,五月份,当我完成任务并阅读了有关框架的内容后,我再次开始找工作。我认为在我被录用之前至少进行了 10 次面试。现在IT行业的人才很多,但招聘瓶颈却越来越难突破。我想说十分之三的人通常会在 1-2 个月内就业。其余的需要更长的时间,有时甚至更长。但这并不意味着您应该放弃此资源。当我第四次面试失败时,他们告诉我,“继续参加面试。你最终会记住一切,你将能够通过面试并找到工作。你会在工作中很快学到东西。” 大多数情况下,你在面试中会被问到同样的问题。也就是说,面试官可能开始谈论算法时也存在极少数例外。例如,我试图在一家为政府实施社会项目的公司找到一份工作。那天,有人问我一个关于算法的问题。我回答得很糟糕,但仍然提出了我自己的问题:“我真的会被允许使用算法吗?” 对此,他们表示:“当然不是。我们为此有一个由中高级开发人员组成的特殊团队。” 我的兴趣被激起了,所以我要求进一步澄清他们为什么费心去问。事实证明,这只是管理层设定的要求之一:你不能使用算法,但在被雇用之前你必须了解它们。在面试过程中,展示 Spring、Hibernate 和 SQL 的知识尤其重要。这是一小部分技术,但如果你缺乏足够的理解,你就会开始胡言乱语。因此,如果你不知道自己在说什么,更好的答案是这样的:“我不知道你问我的问题的确切答案,但我确实知道关于 Spring 的这个和这个”,等等。如果你这样做,那么你的知识,无论多么少,都会被注意到。我在一家制作浏览器游戏的游戏工作室找到了一份工作(为了避免给管理带来麻烦,我不会提及公司的名称)。我开发游戏的后端部分。换句话说,我使用数据库、编写浏览器插件、添加功能以及连接后端和前端。我也处理算法。我使用 Spring(一切都是标准的:标记、bean、解析器)。我使用 Tomcat、PostgreSQL 和 Hibernate。一般来说,我会执行分配的任务,尽我最大的能力维护和改进项目。目前,我是一名初级开发人员。刚入职的前两个月,我什么都不懂。随着最后期限的临近,我自己决定每天工作 12 到 14 个小时,并且取得了成果。确实,我有一位可靠的导师(一位拥有十五年经验的很酷的高级开发人员)。他说,“你自己想办法。看看它是如何运作的。” 也就是说,他不会介入提供帮助,即使他提供帮助,也极少。你知道吗?强迫程序员独立思考是正确的。如果我从一开始就没有通过几天的辛苦工作来付出代价,而是在所有事情上都寻求帮助,那么我就不会走上职业成长的道路。现在我可以自信地说我正在执行初级开发人员级别的任务,最近我发现我被分配的任务要高出一个数量级。现在我只关心自我发展和自我完善。编程是一种驱动力。这是新的挑战。一开始不用担心工资。六个月后,就会变得像样,一年后,一般都会很优秀。如果我们谈论的是前景,那么你可以坐在一个地方赚可观的钱,感觉它不适合你,害怕改变任何事情,或者你可以冒险。我很高兴我没有害怕并开始为我的未来而努力。毕竟,我本可以继续以前的办公室苦差事。最终,在我看来,每个人都可以在 IT 领域占有一席之地。你不需要是天才、科学家或伟大的数学家。如果你有毅力,渴望前沿,那么一切皆有可能。

给初学者开发者的提示:

  1. 观看视频并阅读。如果您在 YouTube 上观看大量剧集来了解某些内容,请尝试选择一位内容创作者,因为每个内容创作者传达的想法和信息都不同。如果您从一位 YouTuber 切换到另一位 YouTuber,您可能会对同一主题感到困惑。
  2. 不要试图一次做完所有事情。尤其是当您不远程工作并且需要专注于工作时。每天学习几个小时。如果周末有空闲时间,不要过度劳累。你已经学习了一整周了,你最好休息一下。
  3. 尝试在简历中描述具体技能。例如,不要在简历上写“我懂Java”。这太模糊了。如果你被问到一些你根本不知道的问题,面试问题可能会难倒你。你了解Java核心吗?太棒了——写“Core Java”,然后写一些你非常熟悉的东西。
评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论