17

好的,我知道这听起来有点傻,因为这取决于个人,但平均而言,我应该花多少时间来准备 SCJP?我已经有一些使用 Java 的经验(我大学的一些中小型项目,从实现一个简单的“船”游戏到一些客户端-服务器的东西)。

我正在考虑在 10 年 6 月至 7 月左右服用它,所以我有大约 7 到 8 个月的时间,它足够/太多/不够吗?

另外我一直在寻找一本好书,有什么比 Kathy Sierra 和 Bert Bates 的“Sun Certified Programmer for Java 6 Study Guide”更好的书吗?那么一些实际问题呢(比如“实现这个和这个”或“编写一段代码......”)?

啊,这真的值得吗(我会自己花钱)。我不是在问它是否会让我成为一个更好的程序员(因为我已经在 stackoverflow 上看到过这样的线程),但雇主们甚至关心它吗?

4

8 回答 8

21

我花了 3 周时间准备 Java 6 考试,我有 0 的专业 Java 编程经验。对于每天使用该语言的人(如 java 程序员)来说,它应该更容易。我很高兴能尽快完成它,因此我在http://www.amazon.com/SCJP-Certified-Programmer-Java-310-订购了 Kathy Sierra SCJP Sun Certified Programmer for Java 6 Study Guide 065/dp/0071591060有一天把它寄给我,所以我在星期六收到了它。它一来,我就开始阅读。这花了大约两周时间,因为这本书是一个 800 页的怪物,书中有一些自我测试,既可以给你很好的练习,也可以教你一些书中没有在实际章节中提到的具体细节(很多你可以猜到但不是全部...)。上周,我回顾了所有 2 分钟练习,并重新阅读了 API 繁重的章节。还有很多表(重要的字符串方法、线程方法、文件API方法和并发)。我还参加了书中包含的两个硕士考试。我把它们带入学习模式并尝试了这个问题,然后如果它说错了,我就去尝试找出它为什么错了,然后如果需要,我会去参考/提示。

考虑到我根本没有任何 Java 工作经验并且在 3 周内做好了准备,我的得分为 90%,这非常棒。任何专业的 Java 开发人员都应该更容易准备/接受。虽然我从 Java 出来就知道它,而且我偶尔会在大学的研究生和本科课程中使用它,所以我并不完全是新手。另外,我知道其他 C 语言,所以我习惯了很多控制结构等......但是,如果我能在三周内弄清楚 API/语言的工作原理,足以让 90% 的有经验的 Java 程序员应该没有问题弄清楚足以通过。那本书仍然是巨大的,每天 2 小时的火车去上班对完成阅读有很大帮助。

有人说你必须写一百个小程序才能弄清楚。但这本书在细节方面做得很好。编写程序最重要的事情(也许我写了 10 个)是构造函数/初始化程序块/静态初始化程序块/准确找出继承的内容并巩固顺序。并且在将子类转换为其父类时,重要的是要查看访问变量/重载方法时会发生什么。虽然重载方法很简单并且符合预期,但访问变量并不是那么简单。相信我,写一些关于它的程序,特别是在超类型/子类型具有同名的实例变量的情况下。

我认为我从 SCJP 中获得的主要内容是对该语言的广泛概述。Java 是一头野兽,API/语言非常庞大。通常,我只使用 Java 中每个项目/活动所需的语言部分,并在进行时查找 API。一些关键词(比如瞬态)我只是不知道。还有一些面试琐事(比如如果你覆盖等于你必须覆盖的其他东西)我不知道(至少根据朋友告诉我的)。我也不知道诸如国际化类 Locale、Calendar、DateFormat、NumberFormat 和 Date 之类的东西。真的,如果我正在编写严肃的 Java 软件,我可能会使用 Calendar 来满足日期算术需求。我认为这不会帮助我找到一份 Java 工作,因为每个人似乎都想要在面试之前获得 Java 经验。但如果我真的得到面试,我从准备考试中获得的知识肯定会帮助我更好地回答问题(尽管我确信很多特定的 API 细节会随着时间的推移而消失)。而且现在我对 Java 更有信心了。我仍然不能说我可以在白板上编写一个完全可以运行的 Java 程序,因为 API 非常复杂。像 C 这样的语言非常小,包括 stdio.h/stdlib.h/string.h 并记住 30 个函数,你可以做很多事情。Java 有更多的包/类要包含和更多的 API。此外,表达式还有大量的规则、促销、铸造、自动装箱等,这真的很容易搞砸。尽管 C 具有优先级地狱,但使用正确的括号你可以逃脱很多。Java 对事物更严格(即 if(0) 是一个错误)。但是考试是值得的,只是为了一些额外的琐事,虽然考试有点令人沮丧,如果你看这本书,它几乎会告诉你考试故意挑选棘手的问题和边缘案例来迷惑你。它会故意给出不好的缩进和其他东西来试图变得棘手。我讨厌这样,因为它不是专注于你合理地了解材料,而是专注于试图混淆你。

需要注意的一件事,不要被硕士考试抛出。我试着在考试模式下考一题,他们在 1.5 小时内给出了 75 道题,我差点决定推迟考试。真正的考试是 60 个问题,你有 3 个小时。此外,实际考试中的问题比硕士考试要容易得多。我的硕士考试成绩是 37%....我最后两次只是在学习指南模式下完成的,尝试了每个问题/如果答案错误又累了/在 A 考试和 B 考试中查看了一次参考资料。 . 我考试考得很好,我真的很高兴我没有因为学习指南而推迟它,因为现在已经结束了,我可以放松了....

于 2011-03-26T21:07:20.587 回答
9

在降落伞一书中,作者讲述了他喜欢向他的朋友炫耀简历,他们说“这份简历永远不会让任何人被雇用!”,他回答说“哦,但它已经做到了!”。教训是每个雇主都是不同的

所以真正的问题不是 SCJP 是否会帮助你找到工作,而是它是否会帮助你在你想工作的地方找到一份工作。例如,谷歌有很多非常聪明的程序员使用 Java,在我认识的所有在那里工作的人中,使用了 SCJP,所以这可能不是一个大问题。

现在,一些更个人化(即不那么普遍)的反馈:

如果你在我公司面试,这对你没有帮助,而且实际上可能会受到伤害(尤其是如果你引起注意的话),如果你看起来只是一个Java 程序员。我们需要优秀的程序员,而不是优秀的 Java 程序员。

我没有参加 SCJP,但我怀疑它和其他所有标准化考试一样:与你的 Java 能力相比,你的 SCJP 能力与你的能力一样重要。当你面试时,我们会看你已经写过的代码(开源项目很棒),以及你在面试中写的代码。孙对你的看法与我们无关。(我们不能在一年内打电话给 Gosling 说“老兄,你告诉我们这个失败者知道 Java!你完全欠我们一年的开发时间”。)

有人建议,如果其他条件相同,它会让你看起来比其他候选人更好。首先,在面试方面,其他一切都不相同。事实上,我很少采访某人并且保持中立:要么是直接的“不”,要么是强调的“是”。其次,除非它是一家非常小的公司,否则每个人都需要更多优秀的程序员,所以如果两个“是”的人同时走进门,我们会同时雇用他们。是的,即使在今天,在这个经济体中。

所以弄清楚你想在哪里工作(一个特定的地方,或一种地方),看看 SCJP 是否会帮助你。在您可能节省的时间里,还有很多其他方法可以让您精通 Java。首先,编写真正的 Java 程序。:-) 如果您将它们开源,那么每个人都可以看到您所做的很酷的事情。如果你写一篇关于所有血淋淋的细节的博客,可以加倍奖励。其次,学习Java以外的东西。例如,如果你花 6 个月时间学习 Haskell,我保证它会对你的 Java 有很大帮助。

于 2009-12-13T21:08:44.523 回答
2

我用 O'Reilly 的书准备了大约 3 个月的 1.4 Java 版本 SCJP(遗憾地不是 Head First)。我认为 1.5 规范的 SCJP 考试更难感谢泛型。

无论如何,最重要的是在考试中集中注意力,几乎所有的问题都有一个技巧,正如你在准备书模拟测试中看到的那样。

于 2009-11-20T12:10:07.053 回答
1

这真的取决于你在做什么认证。如果你只是想通过考试,你可能会在大约三个月内完成。

但是,如果您正在学习以真正深入了解JDK 和内部结构,那么我会说更像是6 到 9 个月

你提到的书应该没问题,但要确保你做了示例程序并真正探索了每一章中呈现给你的概念。我绝对推荐的一个网站是 JavaCertificate.com:

http://www.javacertificate.com/

花钱做练习题和模拟考试是值得的,但不要过早地这样做。

强烈推荐你参加 SCJP,它会让你领先于大多数平庸的 Java 黑客。不幸的是,我所知道的大多数雇主都不太了解该认证——也不是它的好处。我真的希望 Sun 能够对您最终获得的认证进行评分 - 90% 及以上将是 1 级,80 - 90% 将是 2 级等等......

于 2009-12-13T20:32:32.987 回答
1

Sun Certified Professional Wikipedia 页面,我了解到 SCJP 是许多其他与 Java 相关的认证的先决条件,所以我确实会说它真的值得。它不仅在您的简历上看起来不错,而且会开辟一条新的认证机会之路,从长远来看,让您获得更好的就业机会,不仅因为认证,还因为您将获得的经验。

有关此问题的广泛讨论,您可以查看论坛帖子。

于 2009-11-20T11:29:57.027 回答
0

虽然准备 SCJP 考试我花了很长时间(因为那段时间我在工作),但我认为 7 个月足够长,也可能太长,这取决于你的疯狂技能。

我当时唯一拥有的资源是 Kathy Sierra 和 Bert Bates 编写的 Sun Certified Programmer for Java 5 Study Guide。我认为这是我需要的所有资源。尽管我不得不承认我不得不一遍又一遍地阅读这些章节,并多次回答测验和练习考试,以确保我能记住它。

据我所知,诸如“实现这个和这个”或“编写一段代码……”之类的问题是针对 SCJD 考试的,而不是针对 SCJP 的。Sierra 和 Bates 的书中也提到了这一点,以及有关考试的其他信息。

于 2009-11-20T11:43:59.977 回答
0

我从来不知道获得认证可以提供很大帮助,但我不住在美国或 IT 行业的温床。其他人可能能够对这个话题有更多的了解,但我只能假设,在硅谷或纽约这样的 IT 更有活力的城市,如果两个或更多候选人势均力敌,它可能看起来更令人印象深刻。但是,如果你的面试技巧或现场思考能力较弱,那么获得认证可能不会有太大帮助。

你提到的那本书听起来不错,可能就足够了。我也一直很喜欢 head first 系列,在您的情况下,Head First Java可能值得一看(还有 Kathy Sierra 和 Bert Bates)。

与 SCJP 相关的其他一些帖子也可能会有所帮助:

scjp有帮助吗

scjp证书值得吗

于 2009-11-20T11:27:51.230 回答
0

对认证的看法当然似乎参差不齐。一些雇主说,如果你没有,他们就不会雇用;别人不在乎;而其他人似乎对证书完全怀有敌意。因此,拥有一个可能会有所帮助,但不一定。我的观点是,如果你用它来提高你的技能,那就得到它。如果您的技能已经达到了可以轻松获得认证的程度,那么只有当您确信它会帮助您获得您想要的那种工作......或者您的雇主要求您获得它时,它才是值得的。

至于花在准备上的时间,这也各不相同。一些因素:

  • 你已经知道多少
  • 你有多少时间
  • 你想在考试中表现如何

我认为 3 - 6 个月的学习应该足以通过,如果你已经精通 Java,可能会更少。根据我自己的经验,我对 Java 的了解只是暂时的,但有几次向 SCJP 学习。我没有最后期限,想在考试中“取得好成绩”,所以考虑了 6 到 8 个月的学习时间。然而,生活会让人分心,我会暂停学习。我没有经常使用 Java,所以当我重新开始时,我不得不重新开始。最终生活呈现了最终的分心(一个孩子),我仍然没有得到那个 SCJP。(但是,我开始经常使用 Java,所以这可能会改变。)

JavaRanch是另一个用于 SCJP 准备的好站点。

于 2010-04-30T15:08:35.653 回答