(2)面试
咱都是面试过的,大家都知道,准备面试真的很累,强度不输于期末考试,在此期间我们需要持续输入大量的知识。
但是,这是一个很强的学习动力,也是一次很好的学习机会。
A:总结自己的移动开发知识体系
总结知识体系的过程是一个查缺补漏的过程。遇到没掌握或者了解不深的知识点,务必去了解、搞清楚,否则就不算掌握。
一般都需要经历以下六步,这里就不一一展开。
作为一名有着快八年开发经验的老Android,这里我把自己的一个知识体系分享给大家,给大家提供一个参考。
-
底层基础(或者可以叫他《移动开发架构师筑基必备技能》第二点里面有分享,这份资料是一个基础知识的整合)
-
Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化
-
360°全方面性能调优:设计思想与代码质量优化+程序性能优化+开发效率优化
-
解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack
-
NDK模块开发:NDK基础知识体系+底层图片处理+音视频开发
-
微信小程序:小程序介绍+UI开发+API操作+微信对接
-
Flutter等跨平台开发技术
B:总结自己做过的项目
-
难点、亮点
-
技术架构
-
最佳实践
-
涉及到的所有技术点都可以挖一下,看看有没有某个点是自己描述不清的
这里给大家推荐一篇超实用干货:震惊!项目经验不会说?字节跳动小姐姐手把手教你"套路"面试官!
PS:这是一个凭借实力进入字节的小姐姐写的攻略哦建议按照这个准备一下项目
C:刷题
不多说,就是刷 LeetCode:剑指 offer、大厂题库、归纳总结。
这里可以给大家安利一份面试真题解析:1307页字节跳动Android面试全套真题解析在互联网火了 ,完整版开放下载
或者大家比较喜欢真人讲解的,可以去B站看这个:https://www.bilibili.com/video/BV1jU4y1Y7Tx
D:复盘
每面试一轮,就进行一复盘,回忆一下面试过程,查缺补漏。
这个并不复杂,只要总结一下遇到的面试题,理清思路和参考答案即可。
如果你不满足于只是吃上一碗普通的饭,而是想要在工作中提升自己,然后寻求更好的发展,吃上更好的饭,这里大致总结几种大多数开发者会用来主动学习的途径:
-
经典书籍
-
大佬公众号
-
知识付费
-
开发社区
-
免费公开课
-
长期培训班
(按推荐指数排序)
在本文中会描述不同途径的优点和缺点,以及我个人的学习方法分享。
(1)经典书籍
书拥有很多优点:
-
拥有完备的理论,方法论,帮助大家成体系地学习
-
有利于非常基础、长期稳定的知识体系形成,受益整个职业生涯
-
深入学习,可以成为理论王者,最后指导实践
A:Android 开发者,应该看哪些书?
这里推荐一些计算机类的经典书籍,主要是因为这些书籍的知识密度大,而且内容都是偏向基础的,表激动不会很大,不存在跟不上时代什么的。
-
计算机组成原理知识:《深入理解计算机系统》
-
计算机网络:《图解 HTTP》、《图解 TCP/IP》、《网络是怎样链接的》,再深入的话推荐《计算机网络:自顶向下》
-
操作系统:《现代操作系统》、《操作系统—精髓与设计原理》、《Linux内核设计与实现》、《鸟哥的 Linux 私房菜》
-
数据库:《SQL 必知必会》、《高性能 MySQL》、《Redis 深度历险:核心原理与应用实战》、《MongoDB权威指南》
-
设计模式类书籍
此外,一般我还会看业界大佬推荐,或者就是看最近新出了什么书,如果感兴趣都会买一本。
B:如何高效规划看书学习
- 制定看书计划
根据书的厚度安排一个期限看完,然后每天看固定量的厚度。
也可以根据自己的时间来安排,比如每天 1 小时
或者按照书的分节来,每天一章节(我是这种)。
- 如何高效看书
看书前: 看目录
看书时:写读书笔记
看书后:实战巩固
技术书籍一般附有大量的代码,可以跟着章节节奏动手敲敲代码,加深记忆。
- 学会总结
阅读完全书之后,可以回顾一下自己的读书笔记,总结一篇全书的读书笔记。
还可以将总结发表在社区上,和大家交流讨论,这样你会收获很大的满足感,获得正向反馈,然后有更多坚持看书的动力。
(2)大佬公众号
很多人觉得公众号就是垃圾营销,不能学习,我想说的是,找到方法就能学到东西。
通过公众号学习,我总结两个关键词:垂直和取舍。
垂直:关注 1-3 个垂直领域公众号
获取安卓领域深度文章、最新资讯、最佳实践等,为了深度。
-
关注 1 个计算机领域公众号(获取一些计算机领域的文章,扩展视野,为了广度)
-
不要在花边新闻和标题党上浪费时间(没有营养,浪费时间)
-
不要关注当下对自己没用的技术公众号(容易焦虑,自卑)
取舍:判断推文是否值得看
-
通过标题判断是否值得阅读
-
通过内容判断是否值得收藏
是否需要深度阅读?
是否未来可能对自己有用?
是否是一个解决方案、最佳实践?
- Mobile 端碎片阅读
由于屏幕和场景的限制,Mobile 端决定了无法深度阅读一篇文章,这里推荐的是大致扫一遍文章内容,了解通篇的主要内容即可。
- PC 端深度阅读、分类收藏
在 Mobile 端碎片阅读之后,如果觉得文章有用,则在 PC 端花时间深度阅读,并且分类收藏,未来可能就会用到。
(3)知识付费
随着国民经济水平以及版权意识等的提高,这几年知识付费挺流行的,各种培训课程、专栏、视频课程层出不穷。
这其实是一把双刃剑,好的课程可以引导我们,不好的课程浪费时间甚至误导我们,我们需要正确地看待它。
首先,知识付费存在即合理。天下没有免费的午餐,想想,别人为啥平白无故教你,然后来卷他?所以,想要让别人教你一些东西,还是要等价交换的。当然,这个价不能太贵。
其次,我们需要取其精华去其糟粕。不是所有的付费知识都是值得的,有些很好,有些真的很辣鸡。
如何为知识付费?为什么样的知识付费?
首先,不要反感知识付费,感兴趣、有帮助就买,没用的课程就别浪费钱。我这两年还是花了不少钱买课的,可能你会说我是“韭菜”?但是我确实从中得到了我想要的东西,当然,我也踩过坑,这里作为一个过来人分享下知识付费的经验。
三个基本点:
-
定向搜索自己需要体系化的知识点。比如想学 webpack 的时候,繁杂的配置和流程,如果有人能体系地指导一下,就非常好;再比如浏览器原理,这东西就很抽象,没有实战经验,就需要有经验的前辈给你总结一下
-
当被推荐、种草时。不要马上无脑买,先打开目录或者推荐语瞅瞅。这个课程讲了啥?是拼凑的还是成体系的?自己能用得上吗(查缺补漏、扩展视野、最佳实践等)?
-
寻找优惠渠道。一般付费课程都有分享返现或者优惠码的渠道。大家可以先观摩一下,或者进入一些交流群进行咨询。
(4)开发社区
这里的社区指的是一些社交平台和技术社区,包括 GitHub、知乎、掘金、Twitter 等。
这里推荐几个我经常用的社区:
-
GitHub
-
CSDN
-
掘金
-
Twitter
(按推荐程度排序)
GitHub:可以 follow 一些比较活跃的大 V,看他们的日常动态。
如果他 star 了某个仓库,
-
点进去看看,了解一下这个仓库干啥的
-
如果感兴趣可以写个 DEMO 玩玩
-
如果未来可能用到,就也 star 一下,至少保留一个印象
-
…
如果他 follow 了某个人,
-
点进去看看这个人是不是比较活跃
-
是有比较有名的开源项目呢
-
还是有一个非常高频原创的博客
-
…
准确地说,就是通过大 V 的眼睛去发现一些 GitHub 上的新东西,扩展视野。
CSDN:这是目前国内比较火的一个开发者社区
有非常多值得阅读的文章。
我们可以每天刷刷首页的推荐流,取其精华,发现高质量原创文章。
同样我们可以关注一些大佬。
掘金:也是目前国内比较火的一个开发者社区,和CSDN差不多。
同样我们可以关注一些大佬。
Twitter:主要还是关注一些大佬。
他们会经常在 Twitter 上讨论某个技术方向、某个新工具以及一个有意思的 idea,主要就是看他们都在 “玩” 什么。
玩社区的核心目的:持续关注和积累,保持好奇心。
平时看到啥技术相关的内容,都可以点进去了解了解。如果已经会了,关了就好;如果不会,就看看;如果可能对自己有用,那就收藏一下。~~俗话说得好,收藏 === 学会(并不)。
(5)免费公开课
由于现在的大环境很卷,包括培训班也很卷,所以一般都有可以免费白嫖的公开课,大家如果看见了他们的公开课活动,刚好有感兴趣的内容,不妨看一下他们的公开课。毕竟能出来做分享的人还是得有两把刷子的。
说不定就嫖到了有用的东西了。
(6)长期培训班
这一点我之所以放在最后,是因为这是一个填鸭式的学习途径。和上学一样,这是短时间内进行高浓度的知识摄入,然后迅速的提升,可能会不容易消化。
在这里,我也只推荐实在是迷茫找不到方向,或者是自己工作太忙是在是抽不出时间进行学习规划,或者是想迅速就业的朋友试试看。
=====================================================================
说这么多,其实就是想告诉大家:只要思想不滑坡,方法总比困难多。
工作再忙我们也不能纵容自己在技术上当一条咸鱼躺平(不然,迟早被淘汰)。
在这里给大家推荐一份火爆全网,几乎所有安卓开发人手一份的学习笔记,还没有上手的赶紧整一份。
有需要的朋友直接【一键三连】,然后点击【此处】进入群共享资源自取,或者直接通过下方代码块找我领取。
// Wechat number(可复制):
study5233
- 架构师筑基语言基础
知识要点:
1、深入理解Java泛型
2、注解深入浅出
面试复习笔记
这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《960页Android开发笔记》
《1307页Android开发面试宝典》
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
[外链图片转存中…(img-VxIBTK34-1714595741838)]
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
[外链图片转存中…(img-MkddB2xk-1714595741838)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!