我来告诉你:零基础如何成为高级 Android 开发,入职字节跳动
**2、招聘网站实际调研。** 接下里需要你去一些招聘网站上找一部分岗位招聘详情来进行分析,总结出哪些技术是必须要学习的。也许你会纳闷,为什么已经有了培训机构的大纲却还要去招聘网站调研呢? 一是因为怕你遇到那种三年课程都不更新的不良机构;而是技术的更新迭代很快,基本每半年企业的招聘需求就会有一定的变化。这样做,能够保证你学习的是刚需性技术知识,自学完后能够真正的找到一份入行工作。 **3、规划出学习的大纲。** 面已经把多家培训机构的课程大纲进行了整合,且把企业招聘需求进行了调研,那么接下来就要花时间做一份详细的学习大纲,包括学习时间,学习规划。 因为一份好的学习计划能达到事半功倍的效果。 **4、接下里就是找课程,分享一些学习技术的免费网站。** 1).Codecademy 国外在线学习编程的网站,它为用户提供了一种学习编程的新方式,是最受欢迎的免费编程学习网站之一。基于网络编程教学,手把手帮助用户了解 JavaScript 的一些基本原理。更重要的是,使用 Codecademy 学习编程充满了趣味性。 Codecademy 目前开设的课程有 HTML&CSS,JavaScript,jQuery,PHP,Python 和 Ruby。事实上,已经有超过 2400 万人通过它学会了编程。 2).Udemy Udemy 成立于 2010 年,是一个在线学习平台,可以帮助你改善或学习工作技能。虽然有部分课程需要付费,但也有大量的免费编程学习课程,通过视频讲授。 demy 这个名字有它特别的含义。“Udemy” 是由 “you” 加上 “academy” 合成的,意思是 “你的大学”。 与其他在线教育平台不同的是,Udemy 不仅开放各种课程,更开放了教学的机会。也就是说,只要你愿意,你也可以成为老师。 3).GitHub GitH ``` 《Android 学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 浏览器打开:qq.cn.hn/FTe 免费领取 ``` ub 于 2008 年 4 月 10 日正式上线,除了 git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱、代码片段分享等功能。 目前,其注册用户已经超过 350 万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。 4).edX edX 是另一个领先的在线学习平台,重点是它不是以营利为目的,而是开源的。edX 是由美国哈佛大学和麻省理工学院于 2012 年联合创办的,所以你将会在这里学习到先进的技术和理论。如今,edX 已涵盖了 60 所学校。此外在这里,你应该不会错过哈佛大学的计算机科学导论的,免费的哦。 一定要明白,技术是永远看不会的,并且就算你会敲代码,也不代表你掌握了它。如果真正的要把所学技术运用到一个项目中去,那你可以在网上找一些项目来做,或者参与一些付费项目。如果你觉得以上方法太麻烦,那么直接某宝上买课程即可,几块、几十块、几百块不等,等市面上培训机构的课程基本都有。另外,关于就业,其实就是你的沟通表达能力了,当你把一个项目或者某一个较难的技术掌握之后,你一定要尝试去把它说出来。因为对于一个技术人员而言,团队沟通能力也至关重要。 最后,很重要很重要的一点,不要他娘的只是三分钟热度,自律性是你做成这件事的最最根本的保障,无它,狗屁都干不了。读到这也别杠精附体尝试反驳,难道忘了从小到大数次制定的计划和目标你实现了吗? 姐们儿,一不小心就年纪不小了…… ![](https://static001.geekbang.org/infoq/13/13cb25e0528a0fab93751e1cdf2ec090.jpeg) **五、选择一家靠谱的 IT 培训机构** **1.教育背景** 看下是否具备教学资质,优秀的培训机构是需要长时间接收相关部门监督并且审核通过后颁发培训资质的,不然可能存在教学质量不佳、跑路或者换壳经营的风险。 **2.线下面授** 既然都要参加培训了,最好还是找家线下面授教学的,面对面学习有问题可以及时探讨、请教和解决,更能保证学习效果。如果觉得自己自控力和学习能力没问题,那更没必要花这个钱了,某宝上几块钱就可以买一套教程,是吧? **3.机构口碑** 纸是保不住火的,一家不负责的机构网上肯定会有人跳出来去批判和揭露他。而一所好的 IT 培训机构,在口碑和知名度方也肯定比一般培训机构高很多。PS:不排除同行竞争,恶意诋毁。对于那些靠着投机取巧或者歪门邪道忽悠招生的机构,我们会看到一些甚至是铺天盖地的负面消息,绝大多数声音代表着他的形象和真实反馈。 如果对于外界声音实在拿捏不准,最好的办法就是去考察培训机构的时候利用机会和在读老学员多多交流,亦或是想办法在网上加上他们已经毕业的学员,再去判断真实口碑到底怎么样。 **4.课程体系** 靠谱和负责的 IT 培训机构,它的课程体系一定是在持续更新的,对于 IT 行业来说,技术更新日新月异,市场需求、企业用人需求也会一直进行着变更,那么相对应的,培训机构就需要对课程体系进行持续更新,和市场进行完美的结合、匹配,也正是基于此,普通的高校计算机专业毕业生明显竞争不过培训机构,一个重要的原因就在这里,一套授课 PPT 长期不变。当然,还是有很多的高校在培养牛逼的计算机人才,这里说的是普遍现象,杠精请绕道。 **5.师资力量** 师资力量是一个培训机构的核心所在,我一直觉得就业是教学成果的直接体现,一家培训机构应该把所有的精力放在教学上而非为了应付企业教着大家如何进行学历和简历造假,以谋得一份高薪。 而想教学优秀,就得有优秀的老师。一个教育背景深厚而又真正想做好教育的培训机构,必须要招聘大牛级别的讲师才是可行的,不然是禁不住市场的考验的,师资不牛何以让学员成才? ![](https://static001.geekbang.org/infoq/c3/c3c5b9948fc7cd307d335fd1dcd982a8.jpeg) ## **学习篇** 无论做什么事情之前呢,第一步选择很重要,编程也不例外! **第一步:选择一门语言** Javascript:web 前端开发,在 node 中可以做后端,互联网以及无数浏览器仍然坚持使用 JavaScript,而 Node.js 的出现甚至迫使我们在服务器端也要使用 JavaScript。 HTML/CSS:标记语言,主要是给前端工程师构建页面使用 C++:图形图像、科研、通信、桌面软件、游戏、游戏服务器 C#:Windows 桌面软件、.NET Web、服务器 Java: Java SE:跨平台的桌面应用,Android;Java EE:企业级应用,web 开发、服务器后端; GO:高性能服务器应用,比较年轻 Erlang:高并发服务器应用,多用于游戏 Python:Web、科学计算、运维 Ruby:web Perl:运维、文本处理,用的较少 Lisp:科研,一种逻辑语言,用于人工智能 Node:一个 JavaScript 运行环境(runtime) Haskell:Haskell 是一种标准化的、通用纯函数编程语言,数学逻辑方面 Scala:一种类似 Java 的编程语言,集成面向对象编程和函数式编程的各种特性 等等。 **第二步:找适合自己的学习方式** 现在网络如此便利,找学习资源个人觉得不成问题,当然了,学会利用网络找资源是你必须会的,将来大有用处。总结了下,大概有这么几种方式: 网络搜索/查找(google、baidu) 购买书籍(根据自己的水平) 适合自己的视频或者博客 多码 demo,多认识同行,多交流 试着去写博客,做记录 以上几种方式个人建议最好能结合起来,要知道,编程本来就是一件很辛苦的事。 **三步:基础不留痕** 我所说的基础是指基础知识,千万不要心急,所谓“欲速则不达”,急于求成反而会功亏一溃,其中,语法和编程习惯很重要,没有掌握好一门语言的语法,等于没有灵魂的画家,出不了惊人的作品; 而一个良好的编程习惯,则会给你带来很多益处,想想此时在你面前有两个项目,一个所有 code 都加了详细的注释,变量定义遵循一定的规则,而且代码都是经过格式化的风格,而另一个则看不到任何注释,而且代码格式乱七八糟,更不要说什么变量定义规则了,此时,你会觉得那个好呢? “天下大事必作于细,天下难事必作于易” **第四步:三看两不厌** 我是这么总结的: 1、多看效果 2、多看技术分享(博客、论坛、各种分享平台、已发布 APP) 3、多看代码 所谓的看效果包括两个方面,自己需要实现的效果,别人已经实现或者相似的效果,多做收藏,有空拿出来练练;多看技术分享,要知道技术在于分享,在编程这个路上,有很多同行都是乐意分享的,多看他们的分享,既是学习也是铺垫;作为编程人员,最终都是要落实在 code 上,所以要多看 code,多敲 code;不厌 bug;不厌枯燥 可能对于开发人员来说,最不想听见的就是有人对你说:“出 bug 了”,这个时候不能厌烦,如果投简历的时候仔细看过招聘信息的朋友应该会注意到有时候会包括这么一条:“对 bug 不厌烦,能适应需求变更”,所以,正常应对策略应该这样想,出 bug 那就说明是正常的,因为没有那个程序是不存在任何 bug 的,有 bug 正是我们提升技术的一个途径啊,要坚持“不忘初心,方得始终”;编程前期感觉到枯燥无味那就对了,说明你正在入行,坚持一段时间,你就会发现其实也没有那么枯燥啊,因为你会慢慢认识很多有趣的人,知道很多有趣的事。 **第五步:学习资料搜集** 去多种技术平台,如 CSDN,简书,把好的文章搜集下来,有时间自己可以拿出来学习,毕竟接近成功最快的方法就是吸取别人成功的经验,还有一些视频网站 B 站啊,腾讯课堂课堂都是不错的选择。 近年来,我和一些朋友面试收集整理了很多大厂的面试真题和资料,还有来自如阿里、小米、爱奇艺等一线大厂的大牛整理的架构进阶资料。在这里分享出来,希望可以帮助更多的朋友快速成长。 如果你有需要的话,可以私信我【**进阶】**我分享给你。或者点击下面链接获取。 [Android 学习 PDF+架构视频+面试文档+源码笔记?shimo.im![](https://static001.geekbang.org/infoq/b0/b03ae6fb8df13f07b23796ef4f6b35a3.jpeg)](https://link.zhihu.com/?target=https%3A//shimo.im/docs/gVk96k6dJCWCdV3R/read) **第六步:进阶** 编程呢,一般都会认为有这么几个成长阶段:初级——>中级——>高级——>资深或者管理岗等,这条路是漫长而又艰辛的,且每个阶段需要掌握不同的知识点,对应每个人的领悟不同在时间长短上就不一样,需要做的,一步一个脚印,搞好该有的技能,别妄想有什么 XX 天精通等途径。 **经典编程书籍大全** 100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。 ![](https://static001.geekbang.org/infoq/16/16fcbdfebc1a6cb442b07b224a5f55aa.jpeg) **计算机系统与网络** 《图灵的秘密:他的生平、思想及论文解读》 《计算机系统概论》 《深入理解 Linux 内核》 《深入 Linux 内核架构》 《TCP/IP 详解 卷 1:协议》 《Linux 系统编程(第 2 版)》 《Linux 内核设计与实现(第 3 版)》 《深入理解计算机系统(原书第 2 版)》 《计算机程序的构造和解释(原书第 2 版)》 《编码:隐匿在计算机软硬件背后的语言》 《性能之颠:洞悉系统、企业与云计算》 《UNIX 网络编程 卷 1:套接字联网 API(第 3 版)》 《UNIX 网络编程 卷 2:进程间通信》 《Windows 核心编程(第 5 版)》 《WireShark 网络分析就这么简单》 《WireShark 网络分析的艺术》 **编程通用** 《编程原本》 《代码大全》 《UNIX 编程艺术》 《代码整洁之道》 《编程珠玑(第 2 版)》 《编程珠玑(续)》 《软件调试的艺术》 《修改代码的艺术》 《编程语言实现模式》 《编写可读代码的艺术》 《解析极限编程:拥抱变化》 《精通正则表达式(第 3 版)》 《编译原理(第 2 版)》龙书 《重构:改善既有代码的设计》 《七周七语言:理解多种编程范型》 《调试九法:软硬件错误的排查之道》 《程序设计语言:实践之路(第 3 版)》 《计算的本质:深入剖析程序和计算机》 《设计模式 : 可复用面向对象软件的基础》 **算法与数据结构** 《算法(第 4 版)》 《算法导论(原书第 2 版)》 《Python 算法教程》 《算法设计与分析基础(第 3 版)》 《学习 JavaScript 数据结构与算法》 《数据结构与算法分析 : C++描述(第 4 版)》 《数据结构与算法分析 : C 语言描述(第 2 版)》 《数据结构与算法分析 : Java 语言描述(第 2 版)》 **职业修炼与规划** 《大教堂与集市》 《卓有成效的程序员》 《程序员的职业素养》 《程序员修炼之道:从小工到专家》 《软件开发者路线图:从学徒到高手》 《我编程,我快乐: 程序员职业规划之道》 《程序员的思维修炼:开发认知潜能的九堂课》 《高效程序员的 45 个习惯:敏捷开发修炼之道(修订版)》 **大师访谈** 《编程大师智慧》 《编程大师访谈录》 《编程人生 : 15 位软件先驱访谈录》 《奇思妙想 : 15 位计算机天才及其重大发现》 《图灵和 ACM 图灵奖》 **架构/性能** 《微服务设计》 《大数据日知录》 《企业应用架构模式》 《Web 性能权威指南》 《SRE:Google 运维解密》 《发布!软件的设计与部署》 《高扩展性网站的 50 条原则》 《大型网站技术架构:核心原理与案例分析》 《恰如其分的软件架构:风险驱动的设计方法》 《软件系统架构:使用视点和视角与利益相关者合作(第 2 版)》 **Web 前端** 《高性能 JavaScript》 《锋利的 jQuery(第 2 版)》 《JavaScript 忍者秘籍》(感谢[@joker-danta]( )补充推荐) 《编写可维护的 JavaScript》 《你不知道的 JavaScript(上)》 《JavaScript 权威指南(第 6 版)》 《JavaScript 语言精粹(修订版)》 《JavaScript DOM 编程艺术 (第 2 版)》 《JavaScript 高级程序设计(第 3 版)》 《JavaScript 异步编程:设计快速响应的网络应用》 《Effective JavaScript:编写高质量 JavaScript 代码的 68 个有效方法》 《HTML5 权威指南》
评论