0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JavaWeb后端开发工程师的实习总结

工程师人生 来源:工程师吴畏 2019-07-09 16:49 次阅读

8 月份开始到现在,进行了一个多月的实习,岗位是 Java Web 后端开发。这过程学到的知识着实比自学要来得多,而且也让我意识到需要学习的知识也更加多。在这里我会在比较大的方面总结这次实习中学习到的事情,以及之后需要努力学习的知识。

基础

经过一个多月的项目的锻炼,最大一点感受就是基础的重要。这里我指的是数据结构基础。因为经历过实际项目的开发,无疑令我更清楚一个企业项目里的编程是怎样一会事,明白实际用到的技术大概是怎样,而这个过程让我知道基本的数据结构是如此重要。老实说,我感觉一个项目大部分时候做的都是重复性活动,也就是所谓的增删查改。这个过程无非就是与数据打交道,譬如怎么获取数据,如何保存获取的数据,怎样返回前端想要的数据就是我们要做事情的核心。而这不正是数据结构的事情吗?例如,我们要熟悉 List、Map 等结构,知道什么场景使用那些容器来封装数据。还有一个是算法,虽然我这一个半月中没有用到算法,但无疑这是进阶必须的,因为算法可以帮助我们更好的处理数据,而这正是后端工程师的任务——处理数据。所以数据结构跟算法是未来一定要掌握的。

另外一点需要注意的基础地方,就是 JDK 的常用 API 的使用。我印象深刻的一件事就是 String 的使用。有一次我要判断 String 非空,当时的做法好像只是“抄”别人的代码,没有深入思考的过程,后来有空闲思考,发现一个 String 判断非空其实要注意的事情是很多的,而我们其实可以直接查看 JDK 的文档,就会发现 JDK 里面 String 类直接有 isEmpty() 方法供我们使用了;同样,如果要判断两个字符串相等,API 文档直接提供了 .equal() 方法供我们使用,这里还需要特别注意的一点就是不能用 == 来判断两个字符串相等!因此这个过程我学到的一点就是,养成查看官方文档的习惯,特别是常用的 API,要做到熟记。

SQL 与数据库

还有一个十分重要的地方是 SQL 的学习。这一块跟数据结构是我现在认为最重要的。在上面我说过,后端的处理无非就是数据的处理,而很多时候数据需要从各种数据库中检索出来,这就需要用到 SQL 了。在没有实习之前,我对 SQL 并不怎么熟悉,好几次的面试中也因为这样而吃了亏。在真正的实际项目开发中,也真正感受到使用 SQL 的频繁与重要,特别是在 Mybatis 框架中要经常编写 SQL 语句,加深了我对 SQL 的重视。当然 SQL 语句也只是非常基础的东西,在这上面还有数据库要我去了解与学习,例如怎样优化数据查询,某些数据库的特性等。项目使用的是 MySQL 数据库,这也是我接下来需要加深学习的数据库。

团队开发

说说团队开发。我们项目用的是 SVN,感觉挺方便,没那么复杂(虽然我对 git 并不熟悉)。这里需要记录的事情是,每次提交代码的“规范流程”(不局限于 SVN,团队开发都应该这样做,以防冲突)。

每天到公司,打开项目后首先更新代码(一般是全部),发现冲突及时解决;

写好自己的功能,在本地跑,直到可以跑通;

现在需要更新全部代码,防止与别人当天写的代码有冲突;

更新完代码不能立刻提交,需要再次跑一下,验证代码更新后也没有出错;

再次检查是否有更新代码,没有了才可以提交自己的代码;

每天下班前检查是否自己写完的代码有没有提交的,及时提交。

这里再说说代码提交的“注释规范”,没有统一标准,我是自己网上搜索后觉得挺不错,以后要这样用。

changed(完成的任务)

updated(完成任务的更新)

added(新加入的需求)

fixed(修复 bug)

修 issue 时可以写:fixed #xx

小改的直接用一句话说清楚

大改的自己建一个 issue 说清楚情况、方案、变化,然后写 fixed #该 issue 号

框架与流程

这个项目是用 SSM 框架的,现在我想对于这个框架的日常使用是没问题了,这也是一大收获,正式在企业项目中用到,对这几个框架的认识深了很多。

再者,对一个项目的流程,如前期需求、原型实现、编码、测试、上线也有更清晰的了解,知道是怎样一会事。我想我算是踏入这个行业的门了。

最佳实践

至于编程技术思想方面也同样有很多进步。例如对一些技巧的使用,知道是怎样一回事。好比 DTO,还有封装前端请求数据的 Query 两个对象的区别与用法,这些算得上是最佳实践吧。说到最佳实践,这次的实习也锻炼了我遇到问题找寻原因的思想,其实这里头也没有多高深的知识。

例如,遇到 bug,首先整个流程跑一次,看看这个实际功能是否能跑通,然后观察前端传输的数据有没有错,调用的请求是否真的调用了,这些步骤都没错的话,看看后端 Controller 接受的数据情况,以及进一步的数据处理的情况,而这后端的观察便可以用 debug 了(加强了我 eclipse 的 debug 能力),这个流程走下来应该可以很快定位到问题出现的地方。

上面写的这些都是大方面的内容,其他的收获都是一些细节的技术内容,例如文件上传下载实现、分页对象原理与实现、一些 jQuery 插件使用等等,就不展开讲了。

那么最后再来一个需要学习知识的粗略计划:

数据结构与算法

MySQL 数据库的深入学习(学习《数据库技术丛书·MySQL技术内幕:InnoDB存储引擎》)

Java 基础以及 JVM、多线程等知识(学习《深入理解Java虚拟机:JVM高级特性与最佳实践》《Java并发编程实战》)

继续深入学习 SSM 框架,也要学习 Spring Boot 框架(《Spring 实战》以及相关视频学习)

网络编程相关知识

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1235

    浏览量

    68436
  • JAVA
    +关注

    关注

    19

    文章

    2903

    浏览量

    102978
  • 开发工程师
    +关注

    关注

    1

    文章

    89

    浏览量

    14899
收藏 人收藏

    评论

    相关推荐

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    javaweb从入门到实战

    JavaWeb是一门使用Java语言开发Web应用程序的技术,它广泛应用于各种网站和在线应用程序的开发。对于想要学习和使用JavaWeb技术的开发
    的头像 发表于 12-03 11:44 882次阅读

    javaweb三层架构和mvc架构

    JavaWeb三层架构和MVC架构是当前Web开发领域中常用的两种架构模式。 一、JavaWeb三层架构 JavaWeb三层架构是将一个Web应用程序分为展示层、业务逻辑层和数据访问层
    的头像 发表于 11-22 16:41 429次阅读

    javaweb和springboot能一起用吗

    JavaWeb 和 SpringBoot 是两种针对 Java 程序开发的框架,它们可以在一起使用。在本文中,我将详细介绍 JavaWeb 和 SpringBoot 的关系,并探讨如何结合使用这两个
    的头像 发表于 11-16 10:54 809次阅读

    javaweb和springboot的关系

    JavaWeb和Spring Boot是Java开发中常用的两种技术框架。它们可以说是关系紧密的,因为Spring Boot是基于JavaWeb开发框架,而
    的头像 发表于 11-16 10:52 3714次阅读

    javaweb是前端还是后端

    JavaWeb既可以是前端,也可以是后端JavaWeb前端主要是指使用Java语言开发的用于构建Web前端应用程序的技术框架和工具。它主要负责用户界面的展示以及与用户之间的交互。
    的头像 发表于 11-16 10:51 861次阅读

    javaweb和java有什么区别

    对象、一次编写多处运行等特点。Java语言可以用于开发各种类型的应用程序,包括桌面应用、移动应用和Web应用等。 Javaweb则是基于Java技术开发的Web应用程序。它是一种基于Java的Web
    的头像 发表于 11-16 10:49 1356次阅读

    FPGA工程师需要具备哪些技能?

    、设计思路 FPGA芯片是开发高速数字电路设计的理想解决方案之一。FPGA芯片基于HDL的设计方法允许工程师使用高级语言进行设计。因此,FPGA工程师需要具备设计思路能力,包括分析需求、制定设计方案、梳理
    发表于 11-09 11:03

    工程师笔记——MM32F0040使用总结

    工程师笔记——MM32F0040使用总结
    的头像 发表于 10-26 18:09 293次阅读
    <b class='flag-5'>工程师</b>笔记——MM32F0040使用<b class='flag-5'>总结</b>

    招聘数字后端工程师

    招聘数字后端工程师,北京、天津、西安、苏州、成都、无锡
    发表于 10-26 15:11

    挑战吧,HarmonyOS应用开发工程师

    一年一度属于工程师的专属节日1024,多重活动亮相啦~ 参与活动即有机会获得HUAWEI Freebuds 5i 耳机等精美礼品!
    发表于 10-25 15:51

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程一般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程师
    发表于 06-21 10:15