【附】相关架构及资料
源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,和技术大牛一起讨论交流解决问题。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
我读的如饥似渴,书上的示例我都照着敲一遍,可我担心学得快忘得快,于是我开始记笔记。
我把书上的内容都抄了下来,发布在了我的博客上。学完多线程相关的知识,我再回来过看葛一鸣的书,我懂了。
##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份,打算投递。
可到了现场,看到的都是小公司在招软件销售人员,我就瞬间奔溃了,我心底一直有一种骄傲,我可以去大公司的,我有这能力。
最终,我一份简历没投。
看着写了好几页的简历,我是真的不想就这么白白浪费。想起来我大一曾注册过的几家招聘网站,我就把我的简历发在了上面。其实只有一家,实习僧。
我以为压根没有我的岗位,因为我太小了,我才大二。可我打开实习僧,却发现竟然有2020届的实习生招聘,我有点惊讶。不过,也仅此而已,我不认为我有能力能进新浪、百度、京东这些大公司。
我记得我当时抱着不浪费我写的这么多页的简历的心态,只投大公司,小公司不投。然后,洗洗睡了,压根没怎么放心上。
不久的一天早上,我还在睡觉,接听到了第一个电话,来自中国电信北研院,问我在京吗?什么时候有时间,约一下电话面试。
然后,自己开心的不得了。又不久,京东打来了电话,让我去北京参加现场面试。我推到了我的期末考试结束后。又不久,新浪也发了现场面试的邮件。
一天晚上,我收到了百度打来的面试邀请电话,当时我在商业街买吃的。听到了开心的不得了,约定了一小时后电话面试。
于是东西也不买了,直接回学校,看了一会书,复习复习,因为那时候我已经半个月没碰过代码了,《剑指Offer》才刷了几章就停下来一直在复习期末考试。庆幸自己买了本《Java程序员面试笔试宝典》。
百度一面,如约而至。我记得我当时说的最多的就两句话:忘了,不了解。面完后,我觉得我挂了。但我的习惯还是让我把面试官问到的所有基础知识都看了一遍。
就这样,我第二天接到了网易一面的电话,回答的算是very good,就一个SQL左连接查询我忘了,因为我忘了复习SQL了。
意外惊喜,接到了百度二面的面试邀约,我这次提前看了很多知识,复习了Java虚拟机,多线程相关的知识,二面这块的基础知识娓娓道来。
但谁知,面试官问我Redis底层原理,如何设置过期时间,我说不会,面试官便引导我说:“不会没事,我提醒下你”。
就这样,我回答出了这块的内容。又问我消息队列,我又懵逼了,问我,如何设计秒杀系统,我说可以用队列,队列满了就直接false。
面试官又问,分布式系统呢?那当然用MQ中间件。说实话,面试后,我对百度拜服。不久,网易二面来了,回答也算是very good!
网易三面来的非常快,我觉得网易面试很舒服。不久,网易HR加了我微信,人生第一个offer正式到手!
百度三面迟迟不来,我以为我挂了,心想好吧,去网易也不错!杭州,舒服。
可我觉得还有希望,便给百度打了电话,百度说,等段时间。不久,百度三面到来,三面主要是聊项目,聊的还不错,毕竟自己做的东西被人欣赏自己也很开心。
没多久,百度HR直接给我打电话,说offer已发,让我当天就要确认。
晚上,问了很多老师学长,包括我的家人,都希望我去百度,不过最后,我还是选择了杭州网易,因为,那里有梦想的阿里。
END
学习福利
【Android 详细知识点思维脑图(技能树)】
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!