我教了很多小组,但还没有看到一个学生只是为了好玩而学习Java。 他们每个人都想成为一名专业的开发商并谋生。 难道我们正在学习新技能的目的是为了找到一份工作?
就业是学习编程语言的自然发展,但我已经意识到,毕业后找工作是公义的。 大多数公司都希望开发人员具有一定的工作经验,如果您根本没有工作经验,很可能会为您提供无薪实习,这肯定不会解决您的账单。
Why Be a Java Developer
So what do you do, if you want to become a Java programmer? After all, it is a well-paid job even for Junior developers with an average of almost $70K per year according to Indeed.
It’s one of the most popular languages
According to the Stackoverflow 2019 survey, Java is in the top five most used languages professionally, giving way to JavaScript, HTML/CSS, SQL, and Python. That means companies are actively using it for their projects and there are enough jobs in this field.
根据美国劳工统计局的报告,到2028年,软件开发工作市场估计将增长21%。您敢打赌,它将发展到世界其他地区。
You will collaborate on projects with real-world application
Java不是创建游戏(如C ++)或机器学习算法(如Python)的首选语言,但它广泛用于现实应用的编码服务和平台。 它已在Amazon和Facebook中使用,您会发现自己将Java技能应用到了将使普通百姓受益的医疗保健系统和金融平台。
What Questions You Can Expect in Your Interview
在大多数情况下,您必须先在一家公司中进行两轮或更多次面试,然后才能找到工作。 即使是初创公司也雇用招聘人员来帮助他们找到专家,因此您与公司的第一次接触将是其中之一。
招聘人员最感兴趣的是您的动力,抱负以及是否适合其他团队成员。 因此,请期待一些标准问题,例如我们为什么要雇用您以及五年后您会如何看待自己。 有时他们会提供技术任务,稍后由另一位开发人员进行评估。
给您一个建议:如果您没有超过第一轮,那该公司就不适合您。
如果通过,您将获得技术面试,可以用Java展示自己的才能。 对于经验有限的开发人员,他们很可能会专注于您的基本Java知识和解决问题的技能。 让我们讨论一些您可能会提出问题的主题。
The technology you need for coding and running a Java app
您需要在计算机上安装什么才能开始使用Java进行编码?—开发套件和虚拟机。 您可能会被要求告诉您需要先安装还是逐步安装的安装方法。 您可能还会遇到一些技巧性问题,例如:
您可以在任何平台上使用JVM吗?— Java是跨平台的,您需要一个JVM来运行应用程序,因此当然可以。
您可能也正在使用代码编辑器,所以不要忘了提一下。 就个人而言,我喜欢使用IntelliJ IDEA。 它非常方便,并具有所有必需的编码功能,例如智能完成,代码分析和重复检测。
Getting into a project
很少有您从一开始就加入该项目,而该公司希望看到您将如何处理一个已经存在的项目?
通常,您将需要对项目的一部分或某些功能进行编码,但是您需要了解整个内容,其构想,目标以及应如何操作。 公司在这里寻找的是您具有阅读别人的代码,适应他们的风格的能力,能够加快速度的速度以及是否要寻求其他团队成员的帮助。 您当然应该。
与您可能从事的项目有关的另一个常见问题是进度落后时您会采取什么措施?错过截止日期的关键并不在于您能否为团队负责人或客户争取成功,而是可以优先考虑。 例如,您可以确定达到最低可行产品标记的功能,然后首先关注这些功能。
您如何组织代码?—这就是您何时可以提出自己的投资组合的问题。 公司寻找可以编写可读代码(其他团队成员可以理解)并了解组织和评论最佳实践的专家。
这就是为什么我鼓吹您应该比阅读更多的练习。 这是建立自己的个人档案的一种肯定方法-当您没有工作经验时,档案袋将证明您的技能。
Java-specific question
声明类时,将使用哪种方法?-准备像考试一样回答问题。 您需要证明自己了解基本概念并可以使用它们。
OOP,对象,集合,如何声明方法甚至Java程序的基本结构都是初学者面试时遇到的问题,因此您可能需要在开会之前复习一些理论或玩编码游戏。 这就引出了下一个问题:
How Much Java Do You Need to Know to Get a Job?
Although the competition is quite high among beginners, you’ll still find companies that look for budding developers with no job experience and great potential. The thing is, some need specialists with minimal experience so they can mold you into the professional they need. Someone who doesn’t yet have a unique style or behavior that is hard to break. Still, you need sufficient knowledge and skills:
- Basic Java Syntax. It’s an obvious one, but when applying for a job, your knowledge of it should be impeccable: properly declared objects and no missed brackets.
- Understanding the difference between types of objects. For example, how do abstract classes differ from interfaces; which modifiers are public and which ones are private?
- Coding practices: How to organize your code into packages or how to write a unit test?
- Core concepts: OOP and its principles, String, Collection, Multithreading, handling exceptions, loops and data types.
- JAR library: what it is, how it is used, and how to reference it in your code.
- Design patterns: MVC, Facade, DAO For web and enterprise development, additionally, you will need to learn:
- The basics of working with SQL databases
- HTTP protocol
- The basics of HTML and CSS
- XML and web services
- How to use a logging framework
我最好的建议是当您开始寻找工作时,参加一个基于游戏的初学者课程。 与在面试前重新阅读Java for Dummies相比,这样做的压力较小,也更有趣。 许多文字会使您的大脑混乱。
Resources to Help You Prepare for an Interview
CodeGym is a game-based Java course for beginners that also has a section on interviews and a community of peers to back you up. Its main focus is on practice so you get hands-on experience in solving problems and not just looking at examples. CodeGym is also a fun way to review Java basics while preparing for interviews.
Javarevisited — This educational platform offers a unique approach to learning Java. It’s more like a mixture of theory and practice. There are tons of useful tutorials on one hand and practical tasks on the other hand. You read the theory and then apply it.
Codementor — a platform where you find, as the name suggests, a mentor in coding. It’s handy if you need more one-on-one communication with an experienced developer.
300 Java interview questions on JavaPoint — a resource for learning different languages that also has a section to prepare you for interview questions, from language-specific ones to general HR questionnaires, including some big companies such as IBM and Adobe. It also compares questions for different languages.
Charisma on Command — a YouTube channel with tutorials on how to make a good impression and make people like you, including the interviewer, and many conversation tips for introverts.
Final Thoughts
获得初级Java开发人员的工作可能很困难。 竞争很艰难,大多数公司都在寻找具有一定经验的专家,但是如果您打牌正确,您会充满信心和热情地找到第一份工作。 向他们展示您对编程的理解,可以快速学习,在第一印象上工作并且一切顺利。