##01、终于步入大学
我既没有跨过山和大海,也没有穿过人山人海,我就是我,一个2020届普通本科大学生。

身为读者的你,关注了我,自然是想获取知识与经验,我所能分享的,也只有我的一些知识与经历。

2016年,我大一刚入学,边学着入门级的java语言,边对未来迷茫着。面试学生会,失败。面试新媒体部,失败。

本以为连连失败的我已经输在了大学的起跑线上,意外让我面试了一个IT编程工作室,成功。

我感谢工作室里带我入门的学长们,让我知道了Java语言可以干什么,Android可以干什么,促使我迈入Android世界的大门。寒假两月,自学完Java基础语法。

##02、孤独的旅行者
2017年,放弃了喜爱的篮球,放弃了游戏,从jsp、servlet、html开始学习,搭建了一个自习室查询网页,并出售给了一个校公众号团队。

我在大一下学期报了校软件设计大赛,并设计开发了一个微教务系统。

原理是模拟登陆校教务系统,爬取成绩课表等信息,然后进行网页展示。获得了推荐奖,也就是没进前十名。

校软件大赛举办的作用是选拔团队去参加山东省大学生软件设计大赛,虽然是推荐奖,但只要完成了作品,还是可以报销三百报名费的。

就这样,我拨通了我妈的手机号,给我妈要了三百块钱。

在官网报名时才发现一个问题,每个团队最低三个人。可我的团队,只有我一个人。是的,校赛现场答辩时,也只有我。

我最终还是参加了这个比赛,我庆幸我有两个月的寒假可以去准备。在这两个月里,我抱着一本Android入门到精通的书籍,开始一章一章的做Demo。

最后,我做了一个校园App,主要包括论坛发帖、点赞、评论功能,以及查成绩、查课表、看校园新闻等功能。

我获得了软件大赛作品完成奖,不是一、二、三等奖。所以,我的第一次软件大赛结果,失败。

2017年下半年,也就是大二上学期。我把我的这款校园App发给了校猿码工作室,成为工作室的一员。期间工作室计划了两个超级大项目,可惜最终都不了了之。

##03、在反思中进步

转眼,2018到来。我还是那个两眼不闻窗外事、一心只想敲代码的我。年后,接了个学校的项目。

这时候正好我的技能栈已经扩充到Spring生态圈了,Spring Boot、Spring MVC用的贼溜。

正好,基于Spring Boot仿实习僧做了个招聘系统,酬金税后2000。

技能栈越来越多,我开始思考更深层次的意义。我的基础到底扎实不扎实,每次想到这,我好慌。

我的基础仿佛没有,我既没有研究过jdk源码,又没有搞过算法竞赛。我开始主动寻求Java中的基础,去寻找我经常听到却不会的。

我问我的学长们,听学长们讲述面经。这时候,一系列我不知晓的名词涌来,让我仿佛觉得自己是个摇摇欲坠的大厦。

多线程,什么是多线程?什么是线程安全?我一点不懂。JVM?这是啥,GC又是是什么?BIO、NIO、AIO,抱歉,我不会。

我觉得我要开始改变了。内心仿佛总是有一股力量在揪着我,催着我,让我去做,去行动。我觉得,我不能再看视频学习了,慕课网已经不适合我了。我要去看书。

在我的印象中,我主动看的第一本书,是葛一鸣的《Java程序性能优化》。我非常感谢这本书,感动到想哭着给作者打赏。这本书完全打开了我对Java未知领域的大门。

是它,让我知道Java基础中String的底层原理、List、Map的底层原理与优化,是它,让我知道了设计模式这种东西,是它,让我知道了GC、JVM,让我知道了Java世界中最重要的多线程相关知识,让我体验了Java性能调优。

这本书中的内容,基础知识我看的懂,JVM、多线程等看不懂,但为我指引了方向。

按着这个反向,我买了《深入理解Java虚拟机》《Java多线程编程核心技术》《Java并发编程的艺术》。

我读的如饥似渴,书上的示例我都照着敲一遍,可我担心学得快忘得快,于是我开始记笔记。

我把书上的内容都抄了下来,发布在了我的博客上。学完多线程相关的知识,我再回来过看葛一鸣的书,我懂了。

##04、再战软件大赛

2018暑假,非常热闹。

这次我的团队很给力,指导老师也很给力。我们一起开会讨论做比赛!没错,还是山东省大学生软件设计大赛。这次,我想全力以赴。

我们用了一个多月去寻找我们究竟要做什么?我的导师特别想做一个医生机器人,还给我们看了相关的图片。

我们的课题是大数据分析与挖掘。起初压根没有头绪,走了非常非常多的弯路。

怎么说呢!我去学了Hadoop,学完后发现项目规模太小,用不上。然后去学了Elasticsearch。

最初的作品是一个网页对话窗口,集成思必驰语音合成接口,后端是Elasticsearch做的查询接口。非常简单(low)。

了解到其它队伍大都是做了做数据爬取、分析,然后用ECharts做可视化展示,我的导师建议我做知识图谱,并提供了示例。

于是,我去百度调研,用了一周的时间学习了Neo4j,并结合Spring Boot做了个Demo。

只有图数据库的支持是不够的,还需要前端展示,于是学了d3.js。

但我的前端技能并不是特别好,数据量太大,做出的知识图谱节点都挤在了一起,作品效果非常不好看。

那段时期,我又陷入了迷茫。我究竟要做什么?第一次参赛一败涂地,这一次,我还要继续失败吗?

导师告诉我,让我多试几个网站爬取数据源。无意中,我看到了jb39网站的自助诊断系统,瞬间惊呆了,这就是我要做的东西!

导师要做知识图谱,可我要坚持做智能医疗诊断系统。在思考系统的算法逻辑时,我惊奇的发现,支撑诊断算法的正是知识图谱。

当我在办公室里的小黑板手写算法思路,向队友、导师展示的时候,我那时非常开心,因为我终于知道了我要做什么。

大二下学期开学后,我被通知作品进了二等奖,一等奖决赛即将在山东大学举办,让我务必准时参加决赛答辩。

答辩我准备的非常充分,而且,在决赛答辩之前,我就在另一个省级比赛中答辩过一次了,算是涨了一波经验。

不负所望,我的作品获得山东省大学生软件大赛一等奖。

##05、开源作品爆发
在做"智能医疗诊断系统"参加省软件大赛的同时,我深深感受到在爬取大量数据时的时间消耗是多么巨大。

最长的时候,我的电脑两天没关机,一直在后台爬。最后,受不了的我,用Java写了一个多线程爬虫框架,并发布到了我的Github。

我以前都是一个人做项目,而且,越来越发现自己对页面相关的设计开发效率低下。现在有了团队,非常渴望前后端分离。

当时,我一直在用模板引擎,基于服务拆分的思想,我做了一个类似Tomcat的静态web服务器发布到了我的Github。

在学完《深入理解Java虚拟机》后,我觉得我不应该学完就完了,我要把学的知识做成一个作品出来。

当时学完了java性能监控的工具后,觉得软件形式的监控也比较麻烦,如果能有一个可视化的web版再结合ECharts图表展示就太方便了。

我用了几天的时间做完了JavaMonitor项目的单机版,没想到后来star越来越多,吸取了一些建议,做了支持分布式监控的javaMonitorPlus。

也是在暑假这段时期,我收到了来自一位阿里技术专家的邮件。内容简单概括就是想不想来阿里。

当时收到邮件的意义,对我来说非常巨大,他让我第一次感受到BAT与自己的距离似乎不是那么遥远,我一个普通本科仿佛也可以实现去BAT工作的梦想。

##06、人生的转折点

2018年12月,我迎来了我人生的第一个转折点。

当时,我已经感受到了技术仿佛到了一个瓶颈,单机架构我做的很溜,但涉及企业的分布式架构,我还是不太了解。

当时恰好得知省赛颁奖典礼有现场招聘会时,我便精心准备了一份简历,并彩印了5份,打算投递。

可到了现场,看到的都是小公司在招软件销售人员,我就瞬间奔溃了,我心底一直有一种骄傲,我可以去大公司的,我有这能力。

最终,我一份简历没投。

Android程序员二本出身,阿里架构师经验分享相关推荐

  1. Android程序员二本出身、逆袭网易、一路孤独、一路狂欢,源码解读-别再说你不知道HashMap原理

    4.再战软件大赛 5.开源作品爆发 6.人生的转折点 ##01.终于步入大学 我既没有跨过山和大海,也没有穿过人山人海,我就是我,一个2020届普通本科大学生. 身为读者的你,关注了我,自然是想获取知 ...

  2. Android程序员二本出身、逆袭网易、一路孤独,flutter插件引用第三方库

    3.在反思中进步 4.再战软件大赛 5.开源作品爆发 6.人生的转折点 ##01.终于步入大学 我既没有跨过山和大海,也没有穿过人山人海,我就是我,一个2020届普通本科大学生. 身为读者的你,关注了 ...

  3. Android程序员二本出身、逆袭网易、一路孤独,idea开发工具

    我获得了软件大赛作品完成奖,不是一.二.三等奖.所以,我的第一次软件大赛结果,失败. 2017年下半年,也就是大二上学期.我把我的这款校园App发给了校猿码工作室,成为工作室的一员.期间工作室计划了两 ...

  4. 30kJava程序员升为全栈架构师的晋升之路

    当下当一个Java程序员是有前途的,你对这句话不持反对的意见吧.Java作为市场上最流行.应用最广泛的编程语言之一,当下学Java成为一个Java程序员当然是有前途的.但是作为一个Java程序员,也有 ...

  5. Java程序员如何成为优秀的架构师

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题. ...

  6. 程序员好几年才能成为架构师_成为更好的企业架构师

    程序员好几年才能成为架构师 企业架构师似乎越来越多地参与"尝试新事物"或推翻技术或实施建议(否定命令),而不必费劲或无需编写任何代码. 我已经在很多地方观察到了这一点,无论是与建筑 ...

  7. 零架构项目经验的程序员,如何升级成架构师

    先说目前关于架构师的一些是实际情况. 1 要成为Java架构师,单纯靠学知识一定不行,得靠在项目里积累经验. 2 如何判断程序员是否已经成为java架构师?不是看程序员掌握的技能,更不是看程序员干的活 ...

  8. 5分钟弄懂程序员的如何升级到架构师。

    对我们程序员来说,发展的途径要么是走管理岗,从开发升级到项目经理甚至是部门经理:要么走技术升级路线.不过在技术路线方面,无法升级到架构师的程序员不在少数.一方面,在不少公司的高级开发岗位上,无法让程序 ...

  9. 程序员怎样成为一名架构师?

    在今天的技术圈,可能随便遇到一个人递给你一张名片,title 就是某某架构师.架构师多如过江之鲫,也正是眼下业内一个有趣的现象.对于架构师,你有什么看法? 什么是架构师? 随便打开某招聘网站:系统架构 ...

最新文章

  1. 变而不变:我看分布式系统发展和阿里实践
  2. mongodb查询不带表名_原创 | MongoDB常用指令
  3. linux 输出gc日志,Tomcat输出保存JVM GC日志文件
  4. 报名 | CCKS 2021评测任务:生活服务领域知识图谱问答
  5. RTP/RTCP协议介绍
  6. 深入研究.NET 5的开放式遥测
  7. Python案例:按键测试
  8. 第十六章——处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁
  9. golang基础-WaitGroup、kafka消费者
  10. 【技术分享】H5小游戏开发入门指南
  11. BL2028N蓝牙+Wi-Fi双模SOC芯片,支持Matter协议,智能家居-灯控、开关
  12. 十字链表存储稀疏矩阵
  13. 常见的十大量化投资策略(附源码)
  14. 外贸个人自建站有哪些比较友好的收款方式?
  15. 宝德服务器——企业需要真正的按需定制产品
  16. 软件过程的价值观、原则以及实践——从敏捷说起
  17. 解决数据库查询结果过大导致的录制失败问题(loadrunner)
  18. 云计算进化史及服务模式
  19. vue+mysql实现前端对接数据库
  20. 远程服务器上配置conda环境

热门文章

  1. 五狂徒盖伦过来插眼 准备边学边写 Egret 游戏
  2. Node.js中的npm与包
  3. 什么是Apache Isis
  4. 百度搜索结果页面的参数 键盘重复速度(rsv_sug3)
  5. eclipse中的servers不见了解决方法
  6. 实验4-1-4 求整数的位数及各位数字之和 (15分)(想象成剥洋葱)
  7. PHP socket以及http、socket、tcp、udp
  8. 使用Java生成图形验证码(后端)
  9. 播放器实战22 解决花屏与卡顿问题
  10. dvm_lock_sample 解析