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

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

3天内不再提示

java后端工程师的换工作经历总结

工程师人生 来源:工程师吴畏 2019-04-16 17:18 次阅读

当你决定离职之前,你就应该开始为下一份工作做准备了。

那么,该准备什么呢?

我建议是第一是跟语言无关的部分,也就是所谓的基本功。具体也就是我们大学本科里面最头疼的那些东西,数据结构算法,还有一些计算机网络的基本知识。

鉴于这个东西实在很枯燥,我不建议大家去看那些黑皮书,反正我是真的是看不下去啊。

那么问题来了,看什么?

书籍我推荐:大话数据结构。

视频我推荐:小甲鱼的的课程。网易云课堂:数据结构和算法

首先,书里面的代码虽然是用c语言写的,但我相信语言大家都还是有一点c语言基础的,再者说语言里面很多东西都是通用的。而且正好可以尝试用java再写一遍,这样效果更好。如果不想买书的,可以上网找找pdf版本,找不到我这里也有,不过还是建议买一本。而视频为什么是这个呢?因为小甲鱼就是按照这个书来讲的,配合大话数据结构相得益彰,就是相当于教师加上教材。书里面看不懂的地方都可以好好再听一遍小甲鱼的讲解应该就差不多了。小甲鱼除了讲基本的数据结构,还穿插了很多的经典算法问题的解决方案,最棒的地方是都是c语言写的啊,我们想要现成的都没有,所以跟着看,自己写啦。

学习完基本的数据结构,就Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。结合api去看,很多你之前不懂得地方会恍然大悟。

除了数据结构,需要长时间准备还应该有设计模式。

虽然说有23种设计模式,但是我觉得大家掌握最常用和经典的十个左右就差不多了。剩下的大概了解即可。

书籍我推荐:head first 设计模式 /大话设计模式

两者随意选一本即可,或者两本对照着看也是可以的。

看的时候记住最重要的一点:

不要光顾着看!

不要光顾着看!

不要光顾着看!

比如你学习完了观察者模式,已经大概了解了其实现原理。那么现在合上书本,仔细在你的项目中想一下,哪里是符合观察者模式的应用场景的?

你又是怎么实现的?如果要改应该怎么改呢?

如果你找到了符合的地方,那么你就把原来的设计用观察者模式重新写下来。

注意,不要随便用在生产上,你现在只是要充分理解这个模式,而和实际结合是最好的学习方式。而当你写完了到底要不要放在生产上,你可以先和你的技术组长说一下,设计模式切记不要生搬硬套。

如果你没有在你的项目中想到合适的应用场景,那么没关系,你就自己想一个区别于书上的例子,自己独立完成。

每个模式都自己写一遍实现逻辑,估计当你写的时候肯定有不理解的地方,这时候就是你撕开的地方了,到底为什么这么写,这么写好在哪里,完成了时候就已经基本掌握这个模式了。然后还有最后一步,那就是写博客。

不知道大家有没有听过学习的金字塔?

简单来说,学习的方式不同最后能记住的东西差了很多。

第一种,“听讲”,这种我们最常用的方式,学习效果最低的,内容只能留下5%。

第二种,通过“阅读”方式学到的内容,可以保留10%。

第三种,用“声音、图片”的方式学习,可以达到20%。

第四种,是“示范”,采用这种学习方式,可以记住30%。

第五种,“小组讨论”,可以记住50%的内容。

第六种,“做中学”或“实际演练”,可以达到75%。

最后一种在金字塔基座位置的学习方式,是“教别人”或者“马上应用”,可以记住90%的学习内容。

看到这里明白了吧?

写博客就是把你的理解交给别人,是最好的学习方式,而且你把你的博客放在电子简历上,绝对是很棒的加分项。 我的面试官最后跟我说,录用我的原因也有一部分是看了我的博客,觉得我是一个爱好学习的人,在我技术和其他人差不多的情况下,更加愿意给我机会。

简历

我一开始也忽略了简历的重要性。

随便花了十几分钟填了一个在线模板就开始投递了,结果是可以预料的。都石沉大海。

我们首先要知道一件事情,即使是一家小公司发布一个招聘的职位,那么收到的简历也可能几百个。HR会在这几百个甚至上千个里面选几个出来面试,所以哪怕你技术再好,如果简历不能体现出你的水平,连见到面试官的机会都没有,那怎么能找到理想的工作呢?

那么问题来了,简历怎么写呢?

我偷懒用的在线的模板,当然如果你的内容写的不错,问题还是不大的,但是建议还是不要用现成的模板,拉钩的就挺坑,最上面是一张大大的照片还有教育经历也占了很大地方,结果最重要的项目经验要到第二页才能看到。

简历一般都有几个模块,工作经历,教育经历,项目经验,自我描述,技能评价等等。

教育经历我就不说了,这个没什么技术含量。

工作经历

写上你的上一家公司,从事的职位(java后端开发),如果你在这三年的时间换了两家以上的公司,我建议你还不要都写上,HR是不喜欢那种经常跳槽的,在这个年限,一般最好是一家到两家。这些按照实际情况写就好了,都是死的东西,接下来就要写上你的职责了。

有的人和我最开始写的一样

java 后端开发,最多加上一句 负责接口的编写和实现。

这么写和没写一样

这么写和没写一样

这么写和没写一样

那应该怎么写呢?

1、根据业务需求调整数据模型,设计程序接口,实现接口业务逻辑,编写接口文档。

2、根据前端组html及css,编写jsp页面及js脚本。

3、日常版本的发布及紧急回退。

4、处理日常bug和在生产发生的紧急问题。

5、新同事及实习生的业务培训。

6、配合性能测试优化代码和sql。

7、参与新需求评审。

上面是我后来修改的的,你觉得两者差了多少呢?

一定要具体,并且分条陈述,作为一个技术岗位,要体现出你的专业素养。

项目经历

这个千万要写,当然工作也这么久了都会有项目经历,但是也要有一个主次。

第一个放你最熟悉的,最好是近期的,你从头开始做的项目,你能如数家珍侃侃而谈的哪种。这也是面试官面试的时候主要和你谈的地方,是除了技术问题之外最重要的一块。(后面写面试的时候我会详谈)

那么项目怎么写呢?

我建议业务写一两句就好,如果你的项目介绍通篇都是满满的业务,那么几乎注定了你的简历不会进入被筛选的范围内。

你想一下,你自己应聘的是什么岗位?

技术岗!

那么你应该写什么?

简单的介绍项目的规模,有多少技术人员,是互联网项目还是企业软件,这些就可以了。

接下来你需要写关于项目技术的那部分。

项目用了什么框架?spring 还是struts2 ,持久化是用的是mybaits还是hibernate等等,有没有使用RPC框架(Dubbo /HSF)?数据库用的是什么?有没有用到redis?

版本控制工具是svn还是git,有没有前后端分离?有没有写js ,如果有,你都用到了哪些前端组件, 能写的都列出来,还有项目是这么分层的?有几个子模块,平时发布版本是用的自动化工具吗?(jennkins) ,项目管理用的是什么?(maven)等等,也就是说要让hr第一眼就能看到这是一个有经验的开发人员。

下面是我的一个项目,写的也不是很好,仅供参考。

- 基于阿里云平台和中间件技术研发,应用包括云服务器 ECS,云数据库 RDS,Redis,DRDS对象存储OSS,开放搜索(OpenSearch),企业级分布式应用服务 EDAS(HSF服务框架)等技术。

- 使用maven进行项目管理,根据业务分成多个web子模块,方便开发测试和部署。

- spring +mybaits 框架开发,mysql分布式数据库。

- 基于OpenSearch 的全平台商品名称搜索,基于redis的商品类目存储。

- 使用cas实行单点登录,shiro 认证、授权、加密和会话管理。

- poi ,jxl 导入导出excel,itext 生成pdf,Zxing生成二维码。

- ajax 前后端交互,jquery及多个前端组件包括layer,jquery validate,autocomplete,jdate,datatable分页等。

- 统一用jenkins发布,敏捷开发,jira 平台处理日常及生产问题。

自我介绍

这个模块就不要写什么工作努力了,与人和善,团队协作这样的空话了。

你可以写你在项目中的作用,你解决了什么样的问题?得到了客户怎样的认可?可以写写你经历过的加班,怎么努力的保证了项目上线,这些都能体现出你的价值,你的闪光点。

除了主语言,还会什么其他的语言/技术,或者喜欢逛技术论坛,最好附上自己的回答,写技术博客(放上你的博客地址),当然如果有GitHub 上的项目就再好不过了。

好了,说了这么多,简历大概就是这个样子了。

投递

现在招聘网站很多,专注it的就有拉勾啊,100offer ,boss直聘,猎聘,智联招聘等等。

我建议不要太过广泛的投递,(我就吃到了这个苦头,最多一天收到十几个预约面试的电话)在投递前至少看一下公司的性质,是否和你的期望相符,还有公司的地址距离你是否太远,公司是否上市等等。

至于具体选择哪家,各有千秋吧。

非利益相关,我只说我用的,我最开始用的是拉勾网。但是反馈很少,我大概看了一下,很多其实都是要求3-5年的工作经验,是招聘中高级的程序员,而我勉强算三年的工作经验,所以只收到了一个面试的预约。

后来,我就在智联招聘上开始投递,投递的范围也仅限于初中级的工作经验一到三年的,我还用了那个十五天的简历置顶,效果还是很明显的。我其余四家的面试都是智联招聘上找到我的。

在这里我先说一下,投递的第一天可能没有人联系,那是很正常的。

因为HR处理简历是有一个周期的,每天都有很多的简历,你的可能要过一两天才能被看到,但如果三天还没有人联系你,你就要思考下,是不是你的简历写的哪里有问题了。

面试

如果你收到了面试邀请,那么恭喜你,你已经成功了一小半。

HR 一般会和你确定时间,并且给你发一封邮件,你需要收到后回复,并且查看一下面试的地点,同一天最多安排两家,并且查询好路线,因为都是第一次去,所有找路一定会花更多的时间,所以至少提前留出一个小时以上的时间。现在天气也已经很暖和了,在外面也不冷了,提前到达总比气喘吁吁的直接面试好很多。

有的公司会有笔试,但是不用太介意,回答你会的就好,这个只是一个初步的筛选,无论笔试成绩怎么样,都会让你去面试的,面试才是最重要的地方。

技术面试针对我们这种有一定工作经验的,已经不会问你比如 java 有几种基本类型这样的问题了,主要集中在java的高级特性上面。一般分为两个阶段。

第一个阶段是主语言本身以及它的高级特性,第二个阶段是讲述自己的项目,并在中间穿插着问题。

主语言本身以及它的高级特性

Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap,TreeMap这一类的。(前期的准备)

Java并发包当中的类,它们都有哪些作用,以及它们的实现原理,这些类就是java.concurrent包。(重中之重,一定要仔细看看)

IO包和NIO包中的内容。这部分里面NIO会是重点。(这个问的不是很多)

设计模式 这个一般都会问,让你说说熟悉的设计模式。(前期的准备)

Java的虚拟机的内容。这部分主要包括三部分,GC、类加载机制,以及内存。

项目

业务上把你在项目中的责任着重体现出来,对项目的架构以及为什么这么设计要有认识。

一定要斟酌你说出的技术,最后挑那些你确实用过的地方去说,这样才能防止你说出一个技术,面试官深入把你问倒的情况。但是如果真的有一两个地方不熟悉也不要紧,你可以及时打住,并且坦诚的承认自己在这块积累不够。不要在一个问题上硬挺,不懂装懂。

还有最重要的一点,一定要说出你的闪光点。

比如你解决了哪个很严重的生产问题,比如你应用了那些设计模式在你的项目里面,比如你有什么巧妙的解决一些棘手问题的技巧。

相信我,你仔细回想,是一定可以找到至少这样一个闪光点的。

哪怕你说我能加班,我997,我熬夜通宵也把任务完成了。这也是你的闪光点啊,说明你责任心强。

你不要等待面试官发问,很多问题你都可以引导面试到提问的。

这里还有一点也是被问比较频繁的。

就是项目中是怎么高并发访问的问题的?

你是怎么去提高性能瓶颈的?

常规的优化手段都有哪些?

面试的时候并没有固定的套路,你要懂得随机应变,好的心理素质和知识储备是两大法宝,以不变应万变,但无论怎样,都要保持好的心态。

失败是很正常的。

但是你要相信,只要你没有虚度光阴,是一定能找到相对理想的工作的,每一次的失败中你都要冷静的想一下自己到底是哪里的储备不够,并且立刻去了解这部分知识,从失败中汲取经验,成功就不远了。

offer

最后,如果你收到了不止一个offer,尽快推掉不准备接受的其他的offer,这样不要耽误人家的招聘。记得要礼貌的拒绝,并表示歉意。

预祝大家都能找到理想的工作。

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

    关注

    59

    文章

    1569

    浏览量

    68498
  • JAVA
    +关注

    关注

    19

    文章

    2966

    浏览量

    104698
收藏 人收藏

    评论

    相关推荐

    硬件工程师工作必备书籍推荐

    硬件工程师工作必备书籍推荐
    的头像 发表于 09-24 16:07 829次阅读
    硬件<b class='flag-5'>工程师</b>找<b class='flag-5'>工作</b>必备书籍推荐

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    逻辑工程师和 FPGA 原型验证工程师工作重点和职责上存在一定的区别: FPGA 算法工程师: 主要关注算法的设计和优化,以在 FPGA 平台上实现高效的计算和处理。他们需要深入理
    发表于 09-23 18:26

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

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

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

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

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

    、机器人等。 定义和工作职责 嵌入式软件工程师的主要职责包括但不限于:设计、开发、测试和调试嵌入式软件应用程序,以满足特定硬件和软件要求。他们需要理解并掌握嵌入式系统的基本原理,熟悉相关硬件接口
    发表于 05-16 11:00

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

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

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

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

    如何搞崩一个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    java后端能转鸿蒙app开发吗

    java后端转鸿蒙app开发好。 还是前端呢
    发表于 01-29 18:15