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

    文章

    1255

    浏览量

    69325
  • JAVA
    +关注

    关注

    19

    文章

    2957

    浏览量

    104539
  • 开发工程师
    +关注

    关注

    1

    文章

    91

    浏览量

    14925
收藏 人收藏

    评论

    相关推荐

    求LORA技术开发工程师合作

    求LORA技术开发工程师合作
    发表于 09-02 10:21

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    用二创,1:1复刻工程师的职场现状

    工程师
    扬兴科技
    发布于 :2024年07月19日 18:30:07

    找STM32硬件开发兼职工程师

    上海做传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

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

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

    javaweb从入门到实战

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