美文网首页Android开发经验谈
我学了十年的Android,愿意把经验分享给你。(内容太过真实,

我学了十年的Android,愿意把经验分享给你。(内容太过真实,

作者: 程序员面试秘籍 | 来源:发表于2020-10-13 16:42 被阅读0次

导语

其实成为初级android工程师,并不困难,但是目前初级android工程师已趋于饱和,这与前两年客户端培训火爆密不可分,所以呢,这可能会让一些正在走这条路或者想要走这条路的人感到困难。但是想要脱颖而出也不是很难的。

今年参加校招,也拿到bat之一等一线互联网公司offer. 想说说我的看法,虽然客户端现在的市场趋于饱和,但是我想说的是:想进入一线互联网公司并不是没有可能,可以分享一下我的自学之路。背景:本人科班,也不是很好学校,决定走客户端方向是因为自己的兴趣,学校内教的东西太浅显了,很多东西都是自学,就连基本课程也觉得老师并没有讲什么。(可能是我没听)

1.基础,基础最重要。

想进入一线互联网公司,这一项必不可少。

算法分析和数据结构:查找,排序,DP,图论,数论,栈,堆,二叉树等,一本《算法导论》,再来一本数据结构的书基本够了。 最重要的是刷题,让你更加理解。同时有些公司笔试也这样。

操作系统: 进程线程,中断机制等,推荐书《深入理解计算机系统》计算机网络:五层架构,各种协议等等,推荐书《计算机网络:自顶向下方法》

编译原理: 它可以让你更好的理解语言的结构,词法分析,语法分析等,对你的掌握语言有帮助,书籍一本教材就差不多了。数据库:可以去了解了解,各种范式,android开发对其要求也不高,但有必要了解,可以去买一本简单的教材看看。

2.java语言掌握

写android肯定要会java语言啊,所以java语言也需要良好掌握。

java虚拟机(jvm): 到底java语言是怎么运行起来的,jvm内部又有哪些部分,需要一本周志明的《深入理解java虚拟机》java基础:推荐书籍《Java编程思想》《java并发编程实战》

3.android基础

安卓工程师肯定android基础要熟练啦,

所以呢,新手入门推荐郭大神的《第一行代码》后面可以看看《android开发艺术探索》,《android编程权威指南》可随便翻翻,当字典用。

4.设计模式

对于java和android熟悉后,你还需要对代码整洁度等的提升

推荐书籍《大话设计模式》《head first:java》到工作中了可以看看《重构:改善既有代码的设计》《android源码设计模式与实战》

总结一下书籍:

基础: 《数据结构与算法分析》,《算法导论》可尝试《深入理解计算机操作系统》《计算机网络:自定向下方法》《编译原理》《数据库系统概论》

java基础: 《深入理解java虚拟机》《java编程思想》《java并发编程实战》

android基础: 《第一行代码》《android开发艺术探索》《android编程权威指南》

设计模式: 《大话设计模式》《head first:Java》《重构》《android源码设计与实战》

上面是需要看的书籍,也可以通过点击获取电子书。也可以多去逛逛国内大神的博客,都在csdn上面,看看他们的一些思想。还可以去看视频学习,现在互联网时代,自学真的很方便的,推荐慕课网,还有网易云课堂,云课堂里面的老师都是通过筛选的,很多基础讲得也很生动。


5、如何高效学习

好好利用github,stackoverflow,这些网站,github有很多开源库,stackoverflow基本上有你遇到的90%的问题及解决方案。

学习方式: 看书,逛博客,看视频。自己写一个感兴趣的项目,把学到的知识都用到,这个就是能让你慢慢从书本上到实践的过程啦。

好吧,学了上面的知识,真的可以去互联网一线公司了吗?

我觉得未必,还差一点。还需要融会贯通,也就是说,把整个基础,java以及android都链接起来,成为你自己的知识体系。

需要你去钻研,Read The Fucking Source Code,程序员必须有这份钻研的精神在,所以我们可以去找找我们喜欢的开源库,先去使用它,熟悉之后,去看看内部是如何架构的,为什么这样架构,如果是你来架构,又会用什么方法,跟他有什么不同?你可以学到些什么。这一步我觉得才是达到一个真正程序员的关键。也就是为什么你比别人厉害之处。


6、从微观到宏观,再从宏观到微观

首先从开源库的一个小功能学习起来使用,慢慢的熟悉整个开源库的功能,然后呢,我整个开源库有哪些功能我都知道了。

开始试着画出开源库的类图,整体是怎么构造的,也就是从微观到宏观;后来知道整体构造,我再去有宏观到微观,细到每一行代码是怎么写的,为什么这么写。

如果是我,我又会怎么写。举个例子:比如你需要封装一个ImageLoader图片库,你可以想到什么?ImageLoader简单说就是加载图片,显示图片功能。安卓手机oom所以要图片压缩;因为单线程(UI线程)绘制,所以需要线程间通信,整体为一个生产者消费者模型,需要同步异步拉取;因为流量有限,所以需要缓存等等。

这些都是在脑海里的框图。然后再细看,同步异步又是怎么做到的,代码如何实现。异步的本质又是什么?不就是中断机制吗,这又涉及到计算机操作系统,又可以了解中断机制。为什么要中断呢?很大程度上是进程间通信,保护现场,进程间通信又有哪些方式呢?进程又是什么?了解之后,你又会发现android为什么会用binder机制等等。为什么上面我写得那么细呢?因为我觉得可能那才是我的亮点之处,也是各大互联网公司看重的吧。

好吧,这大概就是我的自学之路了,没有导师,我相信你们也可以的。但是这个肯定比外面培训班花的功夫更多吧,差不多一年时间。这也只是我经历今年校招的看法,希望对大家有帮助,至于社招的同学,如果要进入一线互联网公司的话,还需要更加努力。祝大家好运吧~

一些我觉得不错的学习资源

本着为社会做一些事情的想法,欢迎过来白嫖.点击【白嫖】查看!

视频


面试题整理

书籍整理

本文在开源项目:【GitHub 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

如果需要PDF版本可以在群文件夹里,自行领取!

相关文章

  • 我学了十年的Android,愿意把经验分享给你。(内容太过真实,

    导语 其实成为初级android工程师,并不困难,但是目前初级android工程师已趋于饱和,这与前两年客户端培训...

  • 做好这三点,提高你给领导汇报的公文水平

    根据自身十年国企的工作汇报经验,把写好公文需要的三个要点分享给你。 一、内容简练、干脆利落 内容是工作汇报最重要的...

  • 我来教你混职场

    所有的智慧都是经验的积累,所有的经验都是流血的教训,这是真实的存在,要珍惜分享给你经验的人! 小心老板放弃你!严是...

  • 几种钱的不同英文表达法,你分得清楚吗?

    既然优享是经验分享平台,我就把一些英语学习经验分享给大家,同时我也可以把英语知识从输入变成输出。 学了这么多年英语...

  • 自媒体从业者如何做好内容?

    如何做好内容呢? 我也把自己的经验,分享给你。 第一,尽量要日更。 我自己决定做公众号时,就做了一个决定,日更。 ...

  • Android 优秀文章和开源库推荐

    文章 1.Android权限机制与适配经验 本文主要分享了以下几个知识点的内容,1、Android权限机制关键知识...

  • 怪我

    怪我, 太过信任, 把以后给你, 却只有不合适。 怪我, 太过爱你, 把自己给你, 却只有太幼稚。 怪我, 太过自...

  • 【剽悍牛班分享】我把我的经验送给你

    大家好,我是简简单单。一个18线外小城的普通高中历史教师。 001唯有行动,才会改变。 曾经,我的世界一片灰暗。沉...

  • 2022.6.2

    课件:养老+基石 我今天所讲的内容多是过往的经验分享,不会太过多的关注Ptt! 分两部分: 一.理念的沟通 秉承保...

  • 银杏树

    我突然发现我们之间 并不只是性欲 或许还有另一种东西 因为我愿意把时间给你 愿意把过去给你 愿意把现在和未来给你 ...

网友评论

    本文标题:我学了十年的Android,愿意把经验分享给你。(内容太过真实,

    本文链接:https://www.haomeiwen.com/subject/qxbvpktx.html