那我就代表女生来说说感受 在编程的世界很难遇到好看的帅哥

记得当年15年7月4号是我实习生入职的日子,因为是校企合作,所以没有面试、老师推荐、直接入职。刚来北京第一个感觉就是人多,还有就是热。刚到公司第一天,部门经理安排了我的mentor,他也是我的项目经理,安排座位之后给他我发了一些项目文档,让我先熟悉一下项目,然后给我发了几个常用工具的安装包,最重要的就是IDEA,之前在学校一直用MyEclipse,用了IDEA 之后感觉确实不错,界面很漂亮。

当时才去实习几天就是熟悉项目,给我的感觉就是大。公司项目的spring配置文件就有10来个,一个文件里就有几十个bean,全是xml配置文件。我想,现在都流行注解的啊?然后我翻了翻其它java文件,注释上写着日期,2006年、2009年、2012年。嗯……我明白了。

几个月基本上就是项目经理让我干什么就干什么,都是改一些小的功能,比较简单,但记得当时做起来很费劲,因为确实不会,需要各种百度,查文档,CSDN,甚至Stack Overflow。也不了解业务什么的,根本也没那个概念。

每天回家贼累,到家就吃外卖,看视频,偶尔会看些书,但是不多。就这样过了大概3、4个月。

第一个月工资到手的心情还是不一样的,毕竟没有体验过这种感觉。实习合同写的是4500/月,到手3800/月。(劳务合同20% 的税)

可能是因为嫌钱少,我就开始偷偷的写简历了,并试着投了几家,因为在学校做个几个小项目,都是自己从头做到尾的,所有还是有信心的。但是,面试邀请却寥寥无几。最后终于有了一家面试邀请,是一家做国土测绘的上市公司,我去了。先是HR面试,问了些HR都会问的问题,然后就是技术面试,是个35岁左右的男子。上来就说给我讲讲spring,我就蒙了,就下扯淡ioc,aop什么的,然后问我讲讲HTML的块元素和行内元素,讲真,都没听过。然后就GG了。

回去之后想了想,终归是功夫不到家,所以回去就开始定了学习计划,也买了很多书。

看过《深入理解Java虚拟机》、《图解HTTP》、《大型网站技术架构》、《深入理解Java Web技术内幕》、《Java并发编程的艺术》、《Java并发编程实战》、《Effctive Java》等等。其中我觉得《深入理解Java虚拟机》这本书很紧凑,很出色。但是要多读几遍,第一遍基本就是混个眼熟。《大型网站技术架构》真的是就像是PC界中的surface book一样,一股清流,循序渐进,娓娓道来。推荐大家去阅读。
在北京照的

一个月之后去了去哪儿网——十一贝面试,面试未通过。(面试官的问题回答上来了,但面试官不满意。)

先是一道笔试题,考察的内容是文件的读取,集合类,排序算法。

然后面试官来了,看我简历上写了 《了解、看过 jdk源码》。

问:看过哪些源码?

答:HashMap?

问:为什么看HashMap?

答:最常用,最重要。

问:List不重要?

答:也重要……。

答:HashMap的底层数据结构是……bucketIndex……碰撞……,有加载因子,初始容量……,在xxx情况下扩容……。

问:你这也不像是看过源码啊?百度一搜有比你这写的更清楚的

答:额……

在面试之前 学习了MySQL高级部分,redis,看了一位大佬给了的Linux 教学视频。受益匪浅。(掌握80%)

16年学习Java并发部分的知识,但我知道,这仅仅是打好基础,想要实战应用的话,目前的公司是达不到这个用户量的,也没有这个需求。当时还有一周就要回学校了,准备毕业设计,毕业答辩,论文之类的了。幸好可以用公司的项目和文档,省去了很多劳动力,改动部分即可,可以省出很多时间来学习 spring boot/spring cloud。

毕业之后前两天去和部门经理谈了毕业转正的事宜。结论,可以转正,工资不保证最高,但机会比也别的地方多。算上补助&绩效,税前年薪能有个12W,对一个二本非计算机专业,也还行。(也有同学去到网易的,15K一个月)

想去大厂,还得继续学啊……

16年7月 完成了入职手续,各种填表、拍照、体检、办卡之类的。(终于有了门禁卡、之前上个厕所都得管别人借)

基本没事,因为pc还没发下来,尽管自己带着我的surface book2,但是连不了内网,所以上不了SVN。只能逛一逛CSDN、或者学习新知识了。

当时由于工资太低就离职了

离职的时候胸怀大志的认为,只要潜心学习、准备一个月,就能找到更好的工作。就这样,我跟部门经理提出了离职,手续什么的办的也很快。第一天说离职,第二天上午就办完手续走了。

到家第一件事,当然打两盘LOL了。好吃的好喝的先上来。总之就是歇两天。

然后就是开始仔细的准备复习计划,先从Java基础开始,String,List,ArrayList,Set,Map,HashMap,HashSet,线程基础,反射,算法(冒泡,快排,二分查找),设计模式,。

高级一点就是JVM(垃圾回收算法,垃圾回收器,运行时数据区,GC Roots……), MySQL索引优化,主从复制,读写分离,Redis 持久化(AOF,RDB),主从复制。

主要是心路历程,从刚开始的踌躇满志,到后来的身心俱疲,让我明白了一个道理,尽可能不要裸辞。真的很累。

当时跳槽共计面试11家公司。

最后选择了一家西门子旗下的,做 项目管理 软件的公司。薪水涨幅9K。

离职的经历比较艰辛,但也是收获颇丰,也想清楚了好多事情。结局也是令我满意的。

工作方面,除了自己负责的模块在9月和10月上线比较忙,会加班到10点,其余时间还好。

学习方面,说实话这一年没学什么新的知识点,一直处于拖延状态,而且自己特别容易满足现状,这很不好。

这一年倒是读了很多书《万历十五年》、《解忧杂货铺》、《今日简史》、《少有人走的路》、《刻意练习》……

过去的一年个月去了国内的很多个城市,4月份杭州,6月份上海,9月份成都,11月份南京。本来打算2020年3月末去日本看樱花,无奈这疫情挡住了我的脚步(机票,酒店已经都看好了,攻略做的无比的全)。但是国内情况已经好转很多了,所以决定今年5月末和朋友去成都(他没去过,再去一趟吧)。我很喜欢在路上的感觉。(下午依次为杭州西湖,上海外滩,南京中山陵)

这是我整理的Java学习路线希望能对想学习Java女生起到帮助:
1. 整体规划

Java 企业级开发涉及到的技能点实际上非常多,我将其大致归为以下五类(文末可以获取思维导图):

在这个技术栈的基础上,你可以继续选择走全栈道路或者走大数据方向。

有的小伙伴可能会纠结于要全面还是要精通某一方面,其实这个无所谓好坏,关键是要看你自己。你是想去大厂做一个某一领域的技术专家,还是想自己独当一面,自己喜欢的才是最好的。话说回来,即使你想钻研某一方面,也不是说这些东西就不用学了,即使精通某一方面,也必然是先广泛涉猎,再慢慢确定自己的方向。

接下来,这里五大块拆分开来分别给大家介绍。

2. JavaSE

先来看我画的思维导图(文末可以获取思维导图):

avaSE 这块其实没啥值得说的,基础的东西很多年都没有变化。 很多公司,用的 Java8/9/10,实际上还是写的 JDK1.5 的代码,但是这并不意味着我们就不用学习了。Java8/9/10/11 中的一些新特性还是有必要去学习下,特别是现在 WebFlux 逐渐被人们重视,一些从 Java8 就开始萌芽的理念与技术还是很有必要掌握一下的。

这套视频教程 是我根据市场技术栈需求录制的,非常系统完整,相信可以快速带你走进Java编程的世界。

资料:https://pan.baidu.com/s/1y4mc-gJYKrtQOXOoDBuymg

实战项目练习:https://pan.baidu.com/s/11cPUv8iK--mtNdZz8HF4Dg
有些链接可能已经失效。如有需要的可以评论, 我这边上传到百度云发给你

3. 数据库
先来看我画的思维导图(文末可以获取思维导图):

作为一名 Java 工程师,数据库的重要性不言而喻,这算是基本功,我们不能老指望着 DBA,毕竟配有 DBA 的公司只是极少数。有句话叫做“SQL 写得好,下班下得早”。当然数据库也有很多优化方面的问题,但是在大家刚刚开始学习的时候,我其实是不建议去学习数据库优化、主从、集群、读写分离这些东西的,这些可以等到后面学习微服务的时候再去学习比较合适,在刚学习 Java 没多久的情况下,就去学习数据库优化,极有可能让你对开发这条路打退堂鼓。

4. Web 基础

先来看我画的思维导图(文末可以获取思维导图):

学习是给自己学的,不能偷懒,所以你看我这里列出来的知识点比较多,甚至又一些看起来好像过时的技术。

有人会纠结 EasyUI 要不要学,这个有点古老。我的意见是,如果你是在校大学生,那就学,反正有时间;如果你已经工作了,现在查漏补缺,那可以结合公司的技术栈决定要不要学。其实 EasyUI 也不能算是边缘化的东西,如果你前端不用 Vue、React 或者 Angular,EasyUI 绝对是一个无法忽视的存在,学习一下 EasyUI ,也能让我们理解整个前端的一个发展过程。一般来说,Web 基础学完其实是可以自己做一些简单的项目的巩固一下知识点,这块网上也有很多开源项目,这里也给大家推荐一个https://github.com/lenve/CoolMeeting

至于这里列出来的其他技术点,都是常规技术。

5. 经典框架
先来看我画的思维导图(文末可以获取思维导图):

这里涉及到的东西就比较多了,也是学起来最最漫长的一部分。

这里我主要说说关注的几个问题。

1、SSH 还要学吗

我们说的 SSH 一般是指 Spring、Struts2 以及 Hibernate。这三个里边,可以确认不用学习的 Struts2,如果你大学刚毕业,进入到一家公司,用 Struts2 做开发,你进去干了三年,Struts2 用的滚瓜烂熟,出来跳槽却发现没有任何优势,所以我不建议大家在 Struts2 上花时间。

至于 Hibernate ,这个我持保留态度。为什么这么说呢?因为 Hibernate 和 Jpa 之间有着千丝万缕的联系,Spring Data Jpa 结合 Spring Boot,还是有很多公司在用,而如果你掌握了 Hibernate,在后面使用 Jpa 的时候上手很快。

2、消息中间件学哪个?

就我目前了解到的情况,JavaEE 项目中,RabbitMQ 和 RocketMQ 使用较多,大数据中 Kafka 用的较多,传统的满足 JMS 规范的 ActiveMQ 使用较少。因此小伙伴们可以结合这样一个实际情况选择合适的消息中间件学习顺序。

这个阶段的知识点都搞定了,做个毕设肯定是绰绰有余了,出了学校校门找个实习肯定也够用了。

6. 分布式/微服务相关

先来看我画的思维导图(文末可以获取思维导图):

这一块,Spring Boot 和 Spring Cloud 是重点,这两个又分别涉及到诸多知识点:

学习 Spring Boot 的基础依然是 SSM,不建议跳过 SSM 直接学 Spring Boot,Spring
Boot 学完之后,也可以做个项目巩固一下,推荐两个开源项目:

· https://github.com/lenve/vhr

· https://github.com/lenve/VBlog

当你搞定了 SSM、搞定了 Redis、搞定了中间件,你再去学习 Spring Boot 就会发现他是如此简单!

至于 Spring Cloud,虽然 Netflix 公司的几个组件已经不打算继续开源了,但是对于大家而言,我觉得还是有必要去学习一下的,毕竟也不难,花不了多少时间,而且学习这些组件可以帮助大家快速建立一个 Spring Cloud 知识体系。出了这两大块之外,剩下的就不用我多说了。MySQL 的进阶我是建议放在这个阶段学习的,像数据优化、主从搭建、读写分离等,我建议放在这个阶段。

7. 小结

上面的都学完之后,你已经可以站在一个比较高的角度来看待 JavaEE 开发了。

这个时候,可以考虑自己是想走 “专” 的道路,当一个技术专家呢,还是想走全栈的道路,以后自己搞个工作室之类的,抑或是想往大数据的方向发展都是可以的。

女生学Java编程是什么感受?的更多相关文章

  1. 女生学java是否真的没有优势

    随着女性越来越独立,我们可以看到再以前我们认为不适合女性朋友从事的工作,也出现了越来越多的女生,例如对IT行业也不再跟之前一样畏惧.虽然当下很多人所持的观点依旧是,女生不适合IT行业,但是很多女生已经 ...

  2. 【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!

    女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见. 不少人潜意识里认为女生不适合从事IT开发岗位的工作,因为他们 ...

  3. 学java编程软件开发,非计算机专业是否能学

    近几年互联网的发展越来越好,在国外,java程序员已经成为高薪以及稳定职业的代表,虽然国内的有些程序员很苦逼,但是那只是少数,按照国外的大方向来看,程序员还是一个很吃香的职业.根据编程语言的流行程度, ...

  4. 零基础从实践出发学java编程【总结篇】

    1.背景 很多人学习java的第一步就是系统的学习java基础语法,有的java基础语法还没学完就崩溃了,确实java基础语法太多太细,而且都是理论,学着让人很懵: 好不容易学完基础语法,又要学框架. ...

  5. 【aliyun】学java,看这里,不迷茫!1460道Java热门问题

    阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 ...

  6. java游戏开发杂谈 - java编程怎么学

    java语言包含很多的知识点,我们并不需要把java语言的知识点都学全了,才开始编程.      你只需要了解: 1,java的数据类型和变量定义 2,类和对象的初步印象. 3,if-else, wh ...

  7. 重学Java(一):与《Java编程思想》的不解之缘

    说起来非常惭愧,我在 2008 年的时候就接触了 Java,但一直到现在(2018 年 10 月 10 日),基础知识依然非常薄弱.用一句话自嘲就是:十年 IT 老兵,Java 菜鸡一枚. 于是,我想 ...

  8. 教妹学 Java:晦涩难懂的泛型

    00.故事的起源 “二哥,要不我上大学的时候也学习编程吧?”有一天,三妹突发奇想地问我. “你确定要做一名程序媛吗?” “我觉得女生做程序员,有着天大的优势,尤其是我这种长相甜美的.”三妹开始认真了起 ...

  9. Java编程学习技巧和方法总结

    干货:必须要有反馈,不断调整,多读书,多些笔记. 解释:不练习你以为你能掌握?笑话,只有自己根据一个个小目标不断的敲,运行,给予你反馈,这样才会真的进步. 纸上谈Java,是永远停止在口.   关于笔 ...

随机推荐

  1. elasticsearch7.6 安装 并且开启外网访问,真的好累。

    下载 下载页面 https://www.elastic.co/cn/downloads/elasticsearch wget https://artifacts.elastic.co/download ...

  2. 每日一题 - 剑指 Offer 53 - I. 在排序数组中查找数字 I

    题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二分查找 哈希表 难易程度:简单 题目描述: 统计一个数字在排序数组中出现的次数. 示例1: 输入: nums = [5,7 ...

  3. Jmeter系列(38)- 详解性能监控工具 nmon

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 做性能测试,服务器监控是至关重要 ...

  4. python爬京东(带GUI)

    最近写了个专门爬百度的,后来又想爬京东的,还是采用上次的BeautifulSoup+requests模块 下面直接上代码,看不懂的可以看这篇文章或者注释来学习 #!/usr/bin/env pytho ...

  5. sql语句-根据动态参数去拼sql

    1.查询 我们有的时候会有根据参数当条件去查找sql,但是参数有的需要有的不需要应该怎么办呢? 就比如这种的 这时候我们可以遍历传进来的参数 request.form会获取他所填写的参数 show = ...

  6. JVM零碎知识

    JVM常见XX参数 查看JVM默认值 常用基本配置参数 生产环境服务器变慢,如何诊断 生产环境CPU占用过高,如何诊断 JDK自带的JVM监控和性能分析工具 jps(虚拟机进程状况工具) jinfo( ...

  7. Docker装的Oracle 11g没有HR用户怎么办?一个脚本解决问题!

    #0x0 问题描述 这个学期有一门Oracle的课,我图省事就直接拉了个docker镜像来做练习,一直倒也没啥问题,但是今天的作业需要用到HR这个模板用户. 然而我执行alter user hr ac ...

  8. Maven 专题(九):后记

    尚硅谷视频链接:https://www.bilibili.com/video/av84877781/看视频的时候,根据自己的需要,访问量多的不一定是好的,适合自己的才是最好的,总的来说,尚硅谷的视频质 ...

  9. java 面向对象(二十八):异常 一

    1. 异常的体系结构 * java.lang.Throwable * |-----java.lang.Error:一般不编写针对性的代码进行处理. * |-----java.lang.Exceptio ...

  10. java 面向对象(十三):面向对象的特征二:继承性 (二) 方法的重写

    1.什么是方法的重写(override 或 overwrite)?子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作. 2. 应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同 ...