写点什么

2020 年 Android 开发年终总结之如何挤进一线大厂?(1),如何成为杰出的程序员

用户头像
Android架构
关注
发布于: 刚刚

一件一件小事本没有什么意义,但只要注意积累,重复练习,积少成多,应该也会有一定的价值~


下面总结一些 2020 年的一些小收获


  • 完成了一次跳槽,顺利进入一线互联网大厂

  • 坚持写文章

  • 坚持了 ARTS 打卡

  • 坚持了每周的总结与下周规划


2021 的展望


========================================================================


  • 做一个 100 以上 star 的 Github 开源项目

  • 读几本计算机原理,计算机网络,数据结构等基础领域的书

  • 掌握 flutter 的使用与相关原理

  • 继续坚持 ARTS 打卡

  • 继续坚持每周的总结与下周规划

  • 最后,希望以上都能实现


下面是大家更关心的问题:


怎么挤进一线大厂


=========================================================================


腾讯、阿里巴巴、字节跳动、华为、美团、滴滴、百度 …


一线大厂一般有很多部门负责不同的项目,里面不乏知名大学毕业,技术大牛,往往在某一领域已经做到极致,有专门的团队负责某一功能点(性能优化、性能监控、中间件工具组件等),能投入人力物力去做好项目,并且薪酬福利可观,只是工作强度会很大。


我在一位同事身上看到很多优秀的学习习惯和方法,在这里不得不承认比你优秀的人还比你努力,是什么能让他变得如此优秀?


  • 多写多练,没有捷径 : 知识面广的人一定是不断积累形成的广度,一道难题他能解答,更多的可能在于 1. 这道题他做过 2. 做过相似的题型。 例如 链表中环的检测 ,没有做过或者了解相似题型的人,是很难能够写出答案的,但实际上它并不难。

  • 善于思考,系统性学习 : 例如网络编程 TCP / UDP 工作中接触的概率不大,大多数人都是冲着面试去学的,百度谷歌一下 TCP / HTTP 面试相关,知道有三次握手、四次挥手滑动窗口等,但很难把这些知识内容关联成网状结构,看了没多久又会忘得差不多。这里我建议系统性学习,从文档、书籍中更全面更系统地了解这些内容,加入到大脑的一个记忆分支中。

  • 不要试水,一步到位 : 人都会有侥幸心理,抱着试试看的态度。编码、学习、或者是面试,没有一次性做到位的决心。事实上重构、重新开始、重新面试都会花费更多的时间。像大厂的面试周期都要半个月或者一个月,没有通过的话不仅浪费时间,而且这段时间心情复杂、焦虑、期盼。因此如果想面试跳槽,尽量一步到位、下定决心,把目标放高一些,进不了一线大厂也能找到一个好的公司。


这次换工作差不多花了四个月时间,刷题、复习、学习,面试了数十家小中型公司,但是只面了两家大厂:腾讯和字节跳动,最终去了字节跳动。 两家都是内推的方式,如果身边有大厂的朋友,建议内推试试,避免在 HR 这关被筛了简历。


一些面试资源


=======================================================================


今年完成了第一次跳槽,积累了一些面试相关的资源,在这里总结一下,希望对读者有用。


简历




首先是简历,一般找一个模板,填写掌握的技能和项目经历即可。


github 上有一个不错的模板,详情可见:https://github.com/CyC2018/Markdown-Resume


项目 clone 后,个性 Resuem.md 即可,然后导出为 pdf 文件。


简历建议长度为 2 页,太长太短都不好。


建议用掌握与熟练掌握取代了解与精通。


刷题




算法题可以说是现在找工作必刷的了。不过根据我面试的经验,算法题总得来说问的还是比较少,还有一些公司是基本不问算法的。


当然如果碰到字节,快手这种每轮都问算法的公司,如果因为算法题拿不到 offer 就很可惜了。


算法题就好像高考语文的古诗词默写一样,分不多,但丢了就很可惜了。


根据我的经验,大概刷了,掌握 100 道题就足以应付面试了。


当然完全掌握需要重复练习,不是刷了一遍就可以的。


这里推荐一下极客时间上覃超的五遍刷题法:


1.第一遍,直接看解法


多解法,比较解法优劣,默写好的解法


2.第二遍,打开 leetcode,直接开始写


多种解法比较,调优


3.第三遍,过一天之后,再重复做题


4.第四遍,过了一周,再来反复练


5.第五遍,面试前一周,恢复性训练


通过以上方法重复练习,大概刷 100 题就足以应付面试,如果每天刷 3 道,大概准备一个月即可。


Android 核心知识点




Android 涵盖点比较广,建议以官方文档为主 : Android 开发者指南 ,官方文档很详细并且几乎覆盖所有的 Api ,如果你想学习 Jetpack, 也建议从官方文档入手 Android Jetpack ,比大多数博客更权威,是一种不错的知识和资源获取途径。


可以把 Android 分为以下几个大纲:


1.Android 相关源码


学习 Android 源码有助于我们学习其中的设计模式、思想、架构。熟悉整个源码的架构,有助于我们更加正确地调用 Android 提供的 SDK,写出高效正确的代码。


我把源码相关资料整


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


理成了 PDF,内容涵盖 MMKV、Retrofit、OkHttp、EventBus、View、Handler、Binder、Glide、JNI 的源码深度解析。但由于篇幅原因,只做核心内容截图展示,笔记全文共有 486 页。



2.Android 性能优化


在 Android 开发中,性能优化策略十分重要。因为其决定了应用程序的开发质量:可用性、流畅性、稳定性等,是提高用户留存率的关键。


在此献上一份 Android 性能优化的详细攻略, 含:优化方向、原因 & 具体优化方案、APP 性能优化实践,希望你们会喜欢。



所有知识点详细内容都整理在了开源项目【GitHub】,有需要的可以自取。


3.Android 开源框架


随着互联网企业的不断发展,产品项目中的模块越来越多,用户体验要求也越来越高,想实现小步快跑、快速迭代的目的越来越难,还有 65535,应用之间的互相调用等等问题,插件化技术应用而生。如果没有插件化技术,美团、淘宝这些集成了大量“app”的应用,可能会有几个 g 那么大。


所以,当今的 Android 移动开发,不会热修复、插件化、组件化,80%以上的面试都过不了。


我花了将近半个月时间将 Android 热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava 响应式编程框架、IOC 依赖注入框架、最近架构组件 Jetpack 等等 Android 第三方开源框架整合成了一套系统知识笔记 PDF,长达 1042 页!相信看完这份文档,你将会对这些 Android 第三方框架有着更深入、更系统的理解。



4.Android Framework


Framework 广泛的应用在各个领域。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……


Framework 的重要性不用多说,为此我整理了一份 framework 高级开发笔记,部分知识章节发布到了 GitHub 已经标星 18k 了 ,今天就拿出来分享给大家。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
2020年Android开发年终总结之如何挤进一线大厂?(1),如何成为杰出的程序员