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

    文章

    1302

    浏览量

    73659
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115684
  • 开发工程师
    +关注

    关注

    1

    文章

    91

    浏览量

    15280
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    招镶入式工程师1个,硬件工程师一个,

    东莞市研生科技有限公司是一家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及
    发表于 08-29 02:14

    有哪些芯片工程师才懂的梗?

    傅里叶变换,而是DesignforTest,可测性设计。但常因增加面积和复杂度被嫌弃,规模越大的芯片,DFT的设计越复杂。请看以下工程师对话:DFT工程师:没有我,
    的头像 发表于 07-25 10:03 523次阅读
    有哪些芯片<b class='flag-5'>工程师</b>才懂的梗?

    做了电子工程师之后,最好拍的视频出现了#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    (仰天长啸)为什么受伤的总是硬件工程师...#MDD#MDD辰达半导体 #电子工程师

    电子工程师
    MDD辰达半导体
    发布于 :2025年04月27日 18:21:47

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    硬件工程师:回答我!#回答我 #硬件工程师 #YXC晶振 #扬兴科技

    硬件工程师
    扬兴科技
    发布于 :2025年03月25日 18:46:59

    一招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    推荐资料!硬件系统工程师宝典,工程师必备宝典

    硬件系统工程师宝典从实际电路设计入手,对硬件系统开发流程中的需求分析、概要设计、硬件开发平台搭建、原理图的详细设计、PCB的详细设计进行综合论述;对电路设计中的信号完整性(SI)、电源完整性(PI
    发表于 03-05 11:15

    如何成为嵌入式开发工程师

    如何成为嵌入式开发工程师? 成为嵌入式开发工程师通常需要掌握一系列技能和知识,并且在实践中不断积累经验。以下是一些基本步骤和建议: 1. 基础教育:- 获取电子
    发表于 02-19 10:39

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着一系列强大的工具,将创意与技术完美融合,打造出高效、可靠的嵌入式系统。以下是一些嵌入式
    发表于 12-20 15:29