可能会改变你的话(两年内收集的33条Awesome Tips)

1,998 阅读16分钟

前言

这是一篇记录平时读书遇到的一些让人觉得会改变自己的话。

Some Awesome Tips

    1.一个浪头打过来,最好的办法是迎上去了解个究竟,而不是漠视,或者干脆当事情没有发生。
    
    2.记住这个教训:别猜,去问!去查!
    
    3.隔一段时间重顾知识是记忆的关键方法。不要一次性学完一项知识就不管了,
    这样你无法真正的掌握。隔一段时间回顾一下,每次重复,你都会加深自己的
    理解,次数多了,你就会理解每个细节,成为真正的专家。
    
    4.对于一个技术通常我们需要抱有这样的疑问

    它是什么 一句话概括
    解决了什么问题 存在的意义
    怎样去使用它
    怎样解决了问题 内部的实现
    它的缺点是什么 多角度分析
    
    5.高效率的学习方法。

    理清楚概念很重要
    做好控制变量法
    多动手实践,与理论结合
    抓住重点,剔除干扰因素
    
    6.关于如何选择第三方库
    
    确定这个库是否是必需的
    这个库能否带来开发效率的提升,降低代码的维护成本
    这个库的学习成本如何 比如rxjava其实学习成本会相对高一些。
    这个库的质量如何,不要仅仅看star,更要看issue的处理情况。
    
    7.怎样练习算法题?
    
    每道算法题都先自己去实现,先写思路,然后自己去实现一遍,然后再看看答
    案,记住答案的思路,第二天再重新按照答案的思路实现一遍。
    
    8."另类"的学习方法
    
    抄书的奥妙——那就是延缓阅读速度,不至遗漏每一个重要的细节:眼到,手到,
    心到,其实不仅书抄得,代码(优秀源码)也抄得。
    
    9.建议:建立逐字稿
    
    计算机网络相关的逐字稿
    计算机操作系统相关的逐字稿
    数据库相关的逐字稿
    设计模式相关的逐字稿
    数据结构与算法相关的逐字稿
    Java知识相关的逐字稿
    Kotlin知识相关的逐字稿
    Python知识相关的逐字稿
    React Native知识相关的逐字稿
    Flutter知识相关的逐字稿
    小程序知识相关的逐字稿
    JS知识相关的逐字稿
    Android知识相关的逐字稿
    与技术无关的逐字稿
    
    10.如何提升你的阅读能力?
    
    只字不差的反复阅读
    真正的获取知识,是通过阅读,深入思考与践行
    
    11.如何高效阅读一篇文章?
    
    由主题扩展为知识树
    尝试描述
    尝试记忆
    
    12.如何阅读源码?
    
    流程:
    1.寻找驱动力
    2.浏览官方文档,对开源项目的功能、架构有大概的印象
    3.在工作中或实践中使用开源项目
    4.网上搜索针对该开源项目进行分析的优秀文章
    5.对开源项目提出自己的疑问
    6.把开源项目下载到本地,并导入IDE,方便调试、测试
    7.带着疑问阅读源码
    8.阅读源码过程中多添加注释、多做笔记
    9.做阅读总结,吸收和再创造
    
    准备:
    Java设计模式(模板方法,单例,观察者,工厂方法,代理,策略,装饰者),
    Java高级相关
    熟练掌握这个库
    先Google了解软件的整体架构设计
    搭建系统,把源码跑起来
    
    开始阅读:
    根据你对系统的理解,设计几个主要的测试案例,定义好输入,输出。(Debug一
    遍肯定是不行的,需要Debug很多遍)
    第一篇抛弃细节,抓住主要流程,第二篇,第三篇,再去看各个部分的细节。
    阅读的时候同时使用UML画出系统的类图。
    主要的测试案例明白了,丰富测试案例,考虑一些分支。
    这一步会非常非常地花费时间,但是你做完了,对系统的理解绝对有质的飞跃。
    
    13.想象一个来自未来的自己,他非常自信,非常成功,
    拥有你现在所希望的一切,他会对现在的你说些什么?
    他怎么说,你就怎么去做,10年之后,你就变成了他。
    
    14.重视实践,充分运用感性认知潜能,在项目中磨炼自
    己,才是正确的学习之道。在实践中,在某些关键动作
    上刻意练习,也会取得事半功倍的效果。
    
    15.我们需要从别人身上学习。从老师、领导、同事、
    下属甚至对手身上学习,是快速成长的重要手段。
    
    16.多多总结,多多分享,善莫大焉。
    
    17.解答别人的问题也是个人成长的重要手段。有时候,
    某个问题自己本来不太懂,但是在给别人讲解的时候却
    豁然开朗。所以,“诲人不倦”利人惠己。
    
    18.学习计划最好能结合工作计划,理论联系实际结合,快速学以致用。
    
    19.良好的用人方式应该如下:

    首选选择相信,在面临失败后,收缩信任度。
    
    查找失败的原因,提供改进意见,提升下属的能力。

    总是给下属机会,在恰当地时机给下属更高的挑战。 总之,苍天大树来自一颗小种子,要相信成长的力量。
    
    20.学习就是不断地刻意联系,刻意练习,就是有目的的练习,先规划好,
    再去练习。首先给自己定一个目标,目标可以有效的引导你学习,然后使
    用3F练习法:

    1: 专注(Focus),专注在眼前的任务上,在学习过程中保持专注,可以尝试使用番茄工作法。
    
    2:反馈(Feedback),意识到自己的不足,学习完之后进行反思,思考下自己哪些方面不足,为什么不足,
    
    3: 修正(Fix),改进自己的不足。
    
    不停的练习和思考可以改变大脑结构,大脑像肌肉一样,挑战越大,影响越大,学习更高效,并且也会产生突破性。
    
    21.写一篇博客的过程,其实就是对一件事情,学习、理解、思考、转化,最终输出成一篇博客的过程。
    
    22.深入浅出SQL给出的学习法则:
    
    如何快速记忆知识?
    将文字转换为图片(将文字嵌入图片效果比较好),如果能转换为令人惊奇,
    有趣的情景模拟,那么可以让你的大脑意识到这是重要的东西,记忆效果会更好。
    
    1.慢慢来,理解越多,需要强记得就越少。
    
    2.勤做笔记,写下你的心得笔记。
    
    3.你的大脑会需要一段时间来消化新知识,如果之后再学别的知识,会使之前
    的记忆效果减弱,因此,在睡前看最重要的知识。
    
    4.喝水,多喝水。
    
    5.大声说出你想要记忆的知识,如果能与别人进行一问一答则效果更佳。
    
    6.当学习知识时,达到了漫不经心或过目即忘的状态,则应该让大脑好好休息。
    
    7.用心感受,让你的大脑知道这很重要,将学习的内容尽量以情景化+惊奇+幽默的形式展示出来。
    
    8.用学到的知识解决实际的难题(真实的情景演练)。

    23.想要学习新技术,想要提升自己,不是看见新技术就去学,沉下心来认真钻研
    才行,吃透它,不再为缓解焦虑而学习。
    
    24.业务代码一样很牛逼
    
    1.使用封装和抽象可以使业务代码更具扩展性。
    2.多和产品交流以便更好地理解和实现业务。
    3.日志记录好了问题定位效率可以提升10倍。
    
    25.在工作中学习、实战提升是效果最好的,其余时间可有目的去碎片化学习
    一整块知识,也可以快速构建牢固的知识体系。
    
    26.做更多:工作中熟悉多个业务代码,端到端(前后端)的业务代码,自学。
    做更好:1.提升项目稳定性,引进单元测试和UI测试。
    2.重构解耦项目。
    3.性能优化。
    4.设计模式去除重复代码。
    做练习:1.学习
    2.尝试
    3.教学
    
    27.一项新技术的出现,应该先去了解它,看它是否对自身的技术成长有比较大
    的帮助,有的话按优先级加入计划表
    
    
    28.重复记忆时间间隔:1小时、早上/晚上、1天、3天、7天、1个月、3个月形成长期记忆~
    
    29.学习一个新的知识点的流程:
    what、why、how、原理/源码、优缺点~
    注意”先主后从“原则,多实践加深理解。
    
    30.真正地掌握一个知识点:

    1.看书、博客和源码学习

    2.看的过程中要把书中的例子都敲一遍,所有的代码都要亲自敲,不要使用复制
    粘贴,相信我,复制粘贴达不到你想要的效果
    
    3.看的过程中多思考,多总结,多验证,把关键点和自己的思考总结写成博客或者笔记,于人于己都是好事
    
    4.一个个的知识点重复上述的三个过程,并坚持下来
    
    31.高效学习:
    1.源头:一手资料
    2.基础知识和原理
    3.思维导图实现知识地图
    (注意:根节点即为一个技术最重要最主干的地方,也可以应用在重要的问题上面,最后实现一个倒树结构)
    
    31.系统学习一门技术:
    1.成因和目标
    2.优势和劣势
    3.适用场景(业务场景和技术场景)
    4.组成部分和关键点
    5.底层原理和关键实现
    6.已有实现和它之间的比较
    
    32.牢记三大沟通方式:尊重对方、倾听对方和情绪控制。沟通的目的不是为了附
    和对方,而是产生一种更完整更全面的认知。只有当双方都愿意接受不同的观点
    时,此时的沟通才会迸发出更多的火花,而这一切都需要发生在相互尊重的基础之上。

    33.学习的第一步是知道自己学习的这个知识问题是什么,答案是什么,然后找到
    这些问题和答案之间的关系,这个关系是我们需要学习的东西,最后能把这个关
    系通过通俗易懂的语言输出出来,那么这个知识你一定学会了。

Contact Me

现如今,Android 行业人才已逐渐饱和化,但高级人才依旧很稀缺,我们经常遇到的情况是,100份简历里只有2、3个比较合适的候选人,大部分的人都是疲于业务,没有花时间来好好学习,或是完全不知道学什么来提高自己的技术。对于 Android 开发者来说,尽早建立起一个完整的 Android 知识框架,了解目前大厂高频出现的常考知识点,掌握面试技巧,是一件非常需要重视的事情。

去年,为了进入一线大厂去做更有挑战的事情,拿到更高的薪资,我提前准备了半年的时间,沉淀了一份 「两年磨一剑」 的体系化精品面试题,而后的半年,我都在不断地进行面试,总共面试了二三十家公司,每一场面试完之后,我都将对应的面试题和详细的答案进行了系统化的总结,并更新到了我的面试项目里,现在,在每一个模块之下,我都已经精心整理出了 超高频和高频的常考 知识点。

在我近一年的大厂实战面试复盘中逐渐对原本的内容进行了大幅度的优化,并且新增了很多新的内容。它可以说是一线互联网大厂的面试精华总结,同时后续还会包含如何写简历和面试技巧的内容,能够帮你省时省力地准备面试,大大降低找到一个好工作的难度。

这份面试项目不同于我 Github 上的 Awesome-Android-Interview 面试项目:github.com/JsonChao/Aw… 已经在 2 年前(2020年 10 月停止更新),内容稍显陈旧,里面也有不少点表述不严谨,总体含金量较低。而我今天要分享的这份面试题库,是我在这两年持续总结、细化、沉淀出来的体系化精品面试题,里面很多的核心题答案在面试的压力下,经过了反复的校正与升华,含金量极高。

在分享之前,有一点要注意的是,一定不要将资料泄露出去!细想一下就明白了:

1、如果暴露出去,拿到手的人比你更快掌握,更早进入大厂,拿到高薪,你进大厂的机会就会变小,毕竟现在好公司就那么多,一个萝卜一个坑。

2、两年前我公开分享的简陋版 Awesome-Android-Interview 面试题库现在还在被各个培训机构当做引流资料,加大了现在 Android 内卷。。

所以,这一点一定要切记。

现在,我已经在我的成长社群里修订好了 《体系化高频核心 Android 面试题库》 中的 ”计算机基础高频核心面试题“ 和 ”Java 和 kotlin 高频核心面试题“ 部分,后续还会为你带来我核心题库中的:

  • “Android基础 高频核心面试题”
  • “基础架构 高频核心面试题”
  • “跨平台 高频核心面试题”
  • “性能优化 高频核心面试题”
  • ”Framework 高频核心面试题“
  • ”NDK 高频核心面试题“

获取方法:点击此处查看

出身普通的人,如何真正改变命运?

这是我过去五、六年一直研究的命题。首先,是为自己研究,因为我是从小城镇出来的,通过持续不断地逆袭立足深圳。越是出身普通的人,就越需要有耐心,去进行系统性地全面提升,这方面,我有非常丰富的实践经验和方法论。因此,我开启了 “JsonChao” 的成长社群,希望和你一起完成系统性地蜕变。

星球目前有哪些服务?

  • 每周会提供一份让 个人增值,避免踩坑 的硬干货
  • 每日以文字或语音的形式分享我个人学习和实践中的 思考精华或复盘记录
  • 提供 每月 三 次成长、技术或面试指导的咨询服务。
  • 更多服务正在研发中...

超哥的知识星球适合谁?

  • 如果你希望持续提升自己,获得更高的薪资或是想加入大厂,那么超哥的知识星球会对你有很大的帮助。
  • 如果你既努力,又焦虑,特别适合加入超哥的知识星球,因为我经历过同样的阶段,而且最后找到了走出焦虑,靠近梦想的地方。
  • 如果你希望改变自己的生活状态,欢迎加入超哥的知识星球,和我一起每日迭代,持续精进。

星球如何定价?

365元每年

每天一元,给自己的成长持续加油💪

为了回馈 JsonChao 的 掘金 忠实用户,我申请了少量优惠券,先到者先得,错过再无。