JavaRush /Java 博客 /Random-ZH /2.5 个月内完成 Java 中级。
novago219
第 34 级

2.5 个月内完成 Java 中级。

已在 Random-ZH 群组中发布
向所有认为在 2.5 个月内从零开始就可以真正成为 Middle 的读者致以问候。我赶紧让你失望了——这只有在你自己非常努力的情况下才有可能实现,而且我知道每个人都希望立刻得到一切——现在,别无他法。而“从头开始”这句话只在某种条件下适用于我,因为我对Java这种编程语言的了解确实是零。但在遇到 JavaRush 之前,我仍然已经知道并且能够做一些事情,也许我想以此开始我的故事,因为我的职业发展在某种程度上是知识、技能和运气的相当奇怪的结合。 所以,让我给你一个清单,它让我比其他人更具竞争优势,也让我能够很快、没有太大困难地通过 JavaRush(最高 34 级)(至少它没有让我感到惊讶)。这份清单包括大学给我的知识,以及我自己感兴趣的知识。我不会区分所有东西都在哪里,也不会说出大学的名称。如果您愿意,如果您的大学不教授这些知识,您应该自己掌握所有这些知识。
  1. 算法和数据结构:我这个方向的道路是从学习构造算法原理、阅读经典书籍(Knuth)和学习Pascal编程语言开始的,然后是C语言、所有数据结构的实现和分析它们各自的优点和缺点。我不会说,除了其他一切之外,我知道如何使用图灵机和马尔可夫算法,或者更确切地说,我已经说过这一点,但你可以忽略这一点,尽管在我看来,无限的存储带和指针沿着它的移动给出了计算机内部实际工作原理的最正确的想法,但这只是我的拙见。
  2. 计算机体系结构和汇编:当您确定自己已经完全理解了计算机操作原理时,请尝试在非常低的级别上编写程序(否则您将如何欣赏 Java 的所有乐趣?),我个人考虑了所有教育选择,两个,三个寄存器,我意识到当只有一个寄存器时你必须如何躲避,并且程序可以工作(令人惊讶,对吧?)。
  3. 离散数学:当然,与上述内容并行,这门学科也值得学习,因为它可以完整地理解逻辑思维,而有限状态机的理论将告诉你处理器的内部是如何排列的以及如何进行的。它们被组织在集成电路中。我们不要忘记这里还研究了图论,这不会是100%多余的。
  4. 高等数学:我决定在一个段落中突出显示所有其他数学科目,以免让您的头脑过于混乱。这里有:数学分析、概率论与统计、线性代数——顺便说一句,如果你想做三维图形,这是一个非常非常重要的事情(我知道,每个人的梦想都是写游戏,虽然为此你也会必须选修微分方程和数值方法的课程,但这是如此-小事)和其他领域。
  5. 操作系统架构。Linux:当你适应了这里之后,Java 中的多线程会引起更少的问题,而且事实证明你已经在某处听过关于哲学家的童话故事了。
  6. OOP、C++ 语言:好吧,我们几乎已经到达了食物链的顶端。我不会在这里详细解释,也不会说为什么 C++ 中的 OOP 实现看起来更有趣。
  7. 另外:我已经知道的一些小知识是:计算机图形学(OpenGL、Unity 3D)和 C#(核心)。
JavaRush 与它有什么关系?
好吧,除了所有这些垃圾知识,早在去年 9 月,我就遇到了 JavaRush,滚动了几个级别并放弃了,因为我在大学毕业后很容易找到一份工作(不是作为程序员,而是在 IT 领域,也许)有人能猜到它可能是什么吗?)。但我很快发现我对此根本不感兴趣;几个月后我几乎达到了天花板并意识到在这里开发没有意义,尽管公司管理层提供了几乎有趣的选择(其中包括DevOps),我拒绝了。与此同时,我正在为小学生准备计算机科学奥林匹克竞赛(我忘记说了——我真的很喜欢体育编程),在辞去主要工作后,我一头扎进了那里。大约 4-5 个月的时间里,我对一切都很满意,直到我也厌倦了。问题被重复了,所有的主题都被涵盖了,就在那时我想起了 JavaRush。作为一个理性主义者(贪婪),我首先从头到尾浏览了最初的 10 个级别,然后进一步查看(似乎 15 级就足够了),我意识到这非常有趣,并且以我典型的方式 - 我只是这样做了在任何空闲的时刻。您还有 5 分钟空闲时间吗?太好了,我将添加该方法的逻辑。总计:我购买了两个月的订阅。第一个月我从 10 级升到 28 级,第二个月(大约 15 天)我从 28 级升到 34 级。按时间顺序,是四月中旬到五月中旬,也就是花了1.5个月(卢布自己算一下)。我不会告诉你如何做和如何不做——关于这一点已经说了很多了。
就业
到了30级左右,我看了看自己所在城市的职位空缺,决定先不着急,也不给大家发简历,而是专门挑选想要的公司,做好准备,然后把自己写的草稿发给人事部。我也很仔细地画了涂鸦,结果很好。我很快就收到了面试邀请,并且非常自信地通过了面试(至少就 Java Core 而言)。我不会描述问题是什么。当他们问我 Spring 是如何工作的,以及我是否了解任何企业技术时,问题就开始了。其实我说我不知道​​,但是有了这样的水平——初级是有保证的(你不会跳得更高),但我还是跳了,在这里,也许,最有趣的部分开始了。总的来说,当向我解释条件(2个月-试用期、职位-初级和薪资范围)时,我意识到我并不是很喜欢他们,但说我同意并询问我是否可以稍后开始工作,激励是因为我需要在加入新公司之前完成当前工作的事情。因此,我给了自己将近一个月的时间来准备。我是5月初面试的,23号开始上班。自然,我再次研究了需求,找出了使用了什么技术(Java EE 6)并为工作做好准备。
中还是非中?
嗯,我开始工作,发现他们招募了大约5名初级人员,其中我当然很突出,但不多。首先,我遇到了我的顶头上司,注意到他抽烟,并开始和他一起出去抽烟(而我根本不抽烟)。我们还有另一位程序员,稍后我会告诉你他的情况。一般来说,在吸烟的同时(每个工作日 3-4 次),我与经理交谈,更详细地谈论我的成功,随意提及我的知识(它一定派上用场),总的来说,我获得了最好的信心可以。第一周结束时的烧烤和啤酒可以让我们建立更好的关系,这是我组织的。我在办公室一直工作到晚上11点(工作日到下午6点30分),直到保安把我赶了出去。有时公司的总经理和CTO留在办公室,我也和他们沟通,一起吃晚饭,一起离开办公室(CTO还送我回家,但我礼貌地拒绝了)。这样,一来我和顶头上司建立了良好的关系,二来我向高层表明我会完成任务然后回家。当然,这一切并不能让我成为中间人。那么它做了什么?让我提醒你,在面试之前我不知道任何一个框架(除了 JUnit)。这就是我上面提到的程序员值得回归的地方。他是一个非常强大的程序员,有20年的经验,在莫斯科工作了5年,在美国工作了大约7年(作为首席项目架构师)和许多其他地方,包括特别重要的政府项目(这些都是我在抽烟时学到的)和他一起)。所以,这位程序员被赋予了一项非常严肃的任务,他决定让我作为助手。接到这个任务后,发现他急需出国,无法工作。他写了应用程序的框架并让我负责,说他会远程监控。正是这一刻,帮助我成为了中级,并在两个月内而不是一个月内完成了试用期,并有资格获得更丰厚的薪水。因为这个程序员无法远程监控,整个项目就交给我了。我在一个月内成功完成了它,为此我获得了我的职位和申请更高薪水的机会。
有什么道德意义?
你可以说我很幸运能够学习他们给我所有这些知识的地方(但请注意,我只是用它来向我的上级提及),情况就是这样一个项目落在了我的肩上,JavaRush 必须做什么看起来怎么样?让我再次提醒您,在 JavaRush 之前,我的 Java 熟练程度是 0 - 仅此而已。其次,当你在第 52 次尝试解决问题时,有些东西会在你的脑海中留下深刻的印象 - 我有异常、检查等方面的诀窍,这也是相对于其他人的竞争优势,而且总的来说 - 你开始非常彻底地理解 JavaCore(它证实了 OCA 证书,我通过了该证书,费用是公司的费用,得分为 94%),如果没有这个证书,我认为继续前进没有多大意义。下周我被分配到一个从头开始的新项目,由我自己领导(包括数据库设计、技术选型,以及招募团队)。另外,我会进行采访并审查青少年的进步,以确定是否值得。我想说的是,在这些事情上,我不仅得到了事实知识的帮助,而且还得到了与团队建立沟通的能力,向管理层展示自己的能力,给人留下深刻印象的能力,以及证明我将把一切都看透的能力。结束。感谢大家的关注,祝大家更加坚持,更加注重细节。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION