java开发五年面试经验_只有经验丰富的开发人员才能教您有关Java的5件事

java开发五年面试经验

深入研究Java之前需要了解的所有内容的概述

有许多工具,方法,环境和功能会改变您处理代码的方式,而这些通常是在学年期间不会遇到的。 虽然它在Java开发世界中迈出了第一步,但大多数实际学习都是在工作中进行的。

在下面的文章中,我们将介绍一些关键要素,您只有在获得更多经验后才能了解这些要素。 这些将包括基础知识和某种哲学的融合。 准备好笔记本,现在回到学校了。

恭喜,您即将开始忙碌

在学习编码时,我们面临着纯粹的问题:弄清楚算法如何工作,确定要使用的正确数据结构以及知道如何修正自己编写的代码。 但是,现实世界中存在许多我们从未遇到过的新问题:调整代码以适应团队的编码标准,了解其他人的代码,以及……在附近找到最好的炸玉米饼卡车。

我们将编写的第一行代码可能与第10,000行有所不同,因为我们一直在学习,调整和发展。 作为此过程的一部分,我们可能会失败或大做文章,这是可以的,因为它是任何学习曲线的一部分。 但是,我们可以提前做好一些准备,以尽量减少对我们正在处理的代码,数据库或应用程序的破坏。

写入,合并,调试,重复

每个工程师都知道编码是工作的重要组成部分,但编写代码可能是最简单的部分。 围绕它的调整和要素使它成为一个挑战。 这里有很多主题,但是我们决定从以下方面开始着重于您可以实际学习的主题:

1.合并文件

听起来很基本,但是有很多方法可以解决这个问题。 您会遇到的最常见操作之一是合并。 这是将两个(或多个)开发历史记录,文本文件,数组或任何其他对象结合在一起的动作。 例如,提交整个分支是非常基本的,但是如果只想提交其中的一部分怎么办? 在弄乱大家的硬语之前,您最好学习如何实际操作。 这就是为什么重要的是要知道此过程中发生了什么,在提交之前能够查看和理解代码。

您可以使用手动方法,实际上是查看文件,识别更改并查看它们可能如何影响代码,或者您可以选择一种有助于发现更改的工具。 您可以使用许多工具,例如IntelliJ IDEA的冲突解决工具 , KDiff3 , Meld , Guiffy , Kompare等。

理念

IntelliJ IDEA的冲突解决工具

2.了解调试过程

一旦您的代码泛滥成灾,或者至少在您的开发环境上运行,就该看看它是否真正起作用了。 调试过程本身是非常基本的,但是为了使其更有用,您需要关注日志。

有不同级别可供选择:

  • 跟踪 –最详细的信息
  • 调试 –写入日志的详细消息
  • 信息 –在控制台上可见的运行时事件
  • 警告 –有关潜在问题的消息
  • 错误 –意外情况
  • 致命 –严重错误

尽管有一些框架可以为您编写这些消息,但重要的是要提供尽可能多的信息,以了解如何处理和解决不同的问题。

首先,您需要确定每条消息的正确级别。 例如,使用Debug记录程序中发生的所有事件,以便更好地调试代码并了解将要发送的代码,然后再将其发送到生产环境。 使用“信息”可以知道用户创建了哪些操作,并使用“警告”标记可能最终以错误结束的事件(如果您愿意并当然要跟踪它们的话)。

其次,请确保您提供所需的日志信息。 当然,您现在知道这意味着什么:

public void doSomething() {// your awesome codelogger.debug("Forgot the keys inside the car, BRB");
}

但是您必须考虑您的同事试图理解您的代码。 您不希望他们在假期期间打电话给您询问您在谈论什么车,并且您也不想从今天起2年后发现自己想知道编写本文时的想法。 以尽可能多的信息来对待您的代码,尽可能多地获取信息,以便其他人知道如何处理它。

另外,如果您练习良好的日志记录技能,那么注定会使每个人都做同样的事情。

3.为您的优势使用例外

Java中有很多异常,最近我们发布了一些技巧和见解,以处理许多Java异常 。 但是,在开发阶段如何为自己的利益使用异常呢? 通过断点。

您可以为抛出的异常手动设置断点,并标记在开发中运行应用程序时应该在哪里暂停执行。 每当执行断点时,都会在调试器控制台中显示一条消息,其中包含所需的相关信息。

就像您的应用程序的暂停按钮一样,它使您可以检查并确切查看直到那时为止发生了什么。 有多种类型的断点会阻止您的应用程序执行到特定方法,类,变量或代码行的执行,因此您可以随意播放和测试。

另一方面,如果您正在寻找一种工具来帮助您了解代码在生产中何时,何地以及为什么中断,则可以尝试OverOps。 它是唯一为您显示整个调用堆栈中每个异常,已记录警告和错误的完整源代码和变量状态的工具。 检查一下 。

4.处理生产环境

经过所有艰苦的工作,您已经部署了代码,并且可以在生产环境中使用它。 如果您编写了有意义的日志消息,您将能够知道何时引发异常,但有时很难理解异常发生的原因。

过渡到生产时,您必须牢记的一件事是。 我们不是在谈论铁路乘客和火车,而是在谈论您当地的环境与生产。 这是产生许多错误的良方,这些错误会浪费您的时间来试图找出它们的来源以及原因。

您需要了解这些环境为何不同,以及如何解决这一差距。 如果您正在寻找一些高级Java调试技术, 请查看这篇文章 。 可以使用Docker实现针对多种环境配置应用程序的另一种方法,您可以在此处阅读快速指南 。

5.考虑未来的队友

我们为您提供2个字:向后兼容。 想象一下:您的机器上安装了Java 8,而生产运行Java 6,而您却不明白事情为什么会中断。 也许某个客户正在运行该应用程序的旧版本,而您的最新功能不适用于他们。 这种棘手的情况很容易避免。

您需要记住,每个团队都有过去,并且列出了很久才到达的决策清单。 这就是为什么您必须思考过去才能前进的原因(我们说过我们会变得哲学上的,对吗?)。

在编写新代码时,请花时间进行测试,识别和修复可能破坏应用程序旧版本的内容。 它会一路为您提供帮助,并使每个人都更加快乐,因为对于不愿更新其应用程序版本的大客户,他们不必面对旧的甚至是令人惊讶的错误。

还有什么?

工作中最困难的部分是进入区域。 我们不是在谈论早上喝杯咖啡,而是在谈论提高生产力的方法,这些方法可以帮助您提高工作效率并帮助您做得更好。

您可以使用许多功能,例如特殊的bash脚本,自制的命令行黑客,甚至特殊的工具,可以帮助您更好地监视一切。 如果您正在寻找一些技巧和窍门,请查看我们从Java社区收集的一些生产力技巧 。

最后的想法

最困难的部分是入门。 不管是新工作的第一天,还是关于它的新博客发布,都没有关系–在此过程中有很多研究和学习。 不要害怕问尽可能多的问题,因为这是了解团队,代码和应用程​​序如何工作的最佳方法。

如果您认为我们错过了新员工的其他关键功能,我们很乐意在下面的评论中听到他们的消息!

翻译自: https://www.javacodegeeks.com/2016/11/5-things-experienced-developers-can-teach-java.html

java开发五年面试经验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++调用cplex求解例子_视频教程 | 用Python玩转运筹优化求解器IBM CPLEX(二)

编者按优化求解器对于做运筹学应用的学生来说,意义重大。然而直到今天,放眼望去,全网(包括墙外)几乎没有一个系统的Cplex中文求解器教程。作为华人运筹学的最大的社区,『运筹OR帷幄』 责无旁贷,…

markdown 行内公式_如何轻松将笔记转为思维导图(Word、Markdown)

目录简介Markdown -> XMindWord -> XMind简介思维导图是一种一种图像式思维的工具,便于我们理解知识之间的逻辑关系。在我们的学习、生活中,我们习惯于使用word、markdown等笔记软件,而较少的使用思维导图。其实,有些时候我…

apache.camel_Apache Camel 2.18发布–包含内容

apache.camel本周发布了Apache Camel 2.18.0 。 此版本是重要版本,我将在此博客文章中重点介绍。 Java 8 Camel 2.18是第一个需要Java 1.8的版本(例如,容易记住的Camel 2.18 Java1.8。Camel2.17 Java 1.7)。 我们采取了谨慎的…

cors跨域_Spring Boot 中通过 CORS 解决跨域问题

(给ImportNew加星标,提高Java技能)转自:江南一点雨今天和小伙伴们来聊一聊通过CORS解决跨域问题。同源策略很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的,说到跨域,就不…

逻辑建模与物理建模_架构层和建模域逻辑

逻辑建模与物理建模在讨论用于建模域逻辑(例如事务脚本,表模块,域模型)的PoEAA模式时,我注意到人们对域模型模式是最好的印象(尽管印象不对)。 因此,他们开始将其应用于所有内容。 …

html文字列表,文字列表模板

文字列表模板1、如何编辑列表模板文字列表模板存放在模板包archive文件夹中,命名以list_text为前缀在模板包中找到list_text.html 模板,复制另存为一个新模板,命名为list_text_自定义名称.html自定义名称可以是英文或拼音,但不能用…

inputstreamreader未关闭会导致oom_Linux内核OOM机制分析和防止进程被OOM杀死的方法...

问题描述Linux 内核有个机制叫 OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。典型的情况是:某天一台机器突然 ssh 远程登录不了&…

centos一键清理磁盘空间_如何清理 Docker 占用的磁盘空间

Docker 很占用空间,每当我们运行容器、拉取镜像、部署应用、构建自己的镜像时,我们的磁盘空间会被大量占用。如果你也被这个问题所困扰,咱们就一起看一下 Docker 是如何使用磁盘空间的,以及如何回收。docker 占用的空间可以通过下…

mongodb dsl_具有Java DSL的Spring Integration MongoDB适配器

mongodb dsl1引言 这篇文章解释了如何使用Spring Integration从MongoDB数据库中保存和检索实体。 为了完成此任务,我们将使用Java DSL配置扩展来配置入站和出站MongoDB通道适配器。 例如,我们将构建一个应用程序,使您可以将订单写入MongoDB存…

Oracle 数据库中较为复杂或典型的 SQL 语句的解读

文章目录批量生成 SQL 语句/拼接字符串多表关联查询 where 子句示例(一)示例(二)普通的表间内连接查询语句关键字 distinct 用法说明Oracle 数据库的分组排序查询Oracle 数据库 cast 函数Oracle 数据库 sum 函数的高级用法Oracle…

私有方法与静态私有方法_每个私有静态方法都是新类的候选人

私有方法与静态私有方法您是否有私有的静态方法来帮助您将算法分解为更小的部分? 我做。 每当我编写一个新方法时,我就会意识到它可以是一个新类。 当然,我不会从所有课程中选修课程,但这必须是目标。 私有静态方法不可重用&#…

c语言插入排序_还有这种操作?C语言插入排序算法,一点就透

插入排序算法是所有排序方法中最简单的一种算法,其主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排序好的数据。更多C/C资料群文件:569268376直接插入排序是插入排序算法中的一种,采用…

Mac 如何操控远程的 Windows 电脑

文章目录使用 Remote Desktop Connection for mac 客户端第 1 步:Windows 电脑进行远程设置第 2 步:Windows 电脑设置管理员账号和密码第 3 步:获取 Windows 电脑的 IP 地址第 4 步:Mac 电脑安装远程桌面连接客户端第 5 步&#x…

map iterator_一个简单的Map Iterator性能测试

map iteratorJava Map性能有很多方面可以衡量,但是关键的一个是简单的单线程扫描。 这是一些针对Iterators和Java 8 Map.forEach()简单测试代码,以及一些图形结果。 1.性能测试困难 性能测试是一项非常困难的工作,精确的可重复性测试需要Jav…

学生用计算机中sto,STO 文件扩展名: 它是什么以及如何打开它?

STO 疑难解答常见的 STO 打开问题Ecru Software PRO100 不存在你尝试加载 STO 文件并收到错误,例如 “%%os%% 无法打开 STO 文件扩展名”。 如果是这种情况,通常是因为 你的计算机上没有安装 Ecru Software PRO100 for %%os%%。 由于您的操作系统不知道如…

MacBook 使用 Loopback 录屏和录音频(MacBook 录屏教程/录视频教程/Loopback 教程)

文章目录一、下载软体二、Loopback 界面介绍三、设置系统的声音输入/输出设备(一)设置声音输入设备(二)设置声音输出设备四、录制程序中选择声音输入设备五、开始录制一、下载软体 在網路上可以找到破解版的軟體 Loopback 二、L…

惠普照片打印软件_被看错的打印机?原来打印机还可以这么玩

孩提时代,经常弄丢试卷的小值君曾频繁地与打印店打交道,那是我最早接触打印机的时候。白驹过隙,时至当下,打印设备已然成为家庭不可或缺的部分。印象中,打印机要不就是打打文档,要不就是打打照片&#xff0…

戴尔G3笔记本使用U盘重装操作系统

戴尔G3笔记本 下载安装大白菜U盘启动盘制作软件根据使用说明完成启动盘制作下载操作系统ISO文件重启电脑,连续按F12,打开如下界面后选择红色线框选项: 进入PE系统界面,打开【大白菜】,看到如下界面:

valid floating point value什么意思_为什么 0.1 + 0.2 = 0.300000004?

往期热门文章:1、《往期精选优秀博文都在这里了!》2、求求你!数据库不要再使用外键了?3、还在写慢SQL?4、ELK太笨重了?想放弃?快试试日志系统新贵Loki吧!5、谁再悄咪咪的吃掉异常&am…

在抽象类中可以没有抽象方法_是否可以在最终课程中使用抽象方法?

在抽象类中可以没有抽象方法这是最近在Java开发人员工作面试的电话面试中向我的一位读者提出的有趣的Java核心问题之一。 即使他知道你 无法用Java将抽象类定型为final ,他对方法的措辞感到困惑。 答案很简单,不,在Java的最终类中不可能有抽…