美文网首页
Android资深学习路线2

Android资深学习路线2

作者: Gaoit | 来源:发表于2019-10-06 00:04 被阅读0次

    #Android资深学习路线 

    资深工程师一般强调的是主力设计与开发,承担技术难点攻坚和新技术调研;深度参与产品需求讨论和设计。 同时也对所做产品的业务理解比较深刻。对于主导架构、模块优化相关工作是重点。同时能够指导新人,同时在多线程编程、Android源码上要非常熟悉。

    三、多线程编程篇

    多线程编程是资深工程师定位和排查多线程问题非常重要的能力。

    常见的多线程问题,如死锁,杂乱无章随便开的线程资源消耗,线程时序问题,卡住,循环调用问题。

    分别从锁的使用,线程切换,并发容器等几个方面介绍

    1、回顾线程的基础知识

    https://www.cnblogs.com/pony1223/p/9221328.html

    2、synchronized

    https://www.cnblogs.com/pony1223/p/9221348.html

    3、volatile关键字

    https://www.cnblogs.com/pony1223/p/9221355.html

    4、Java传统线程技术、传统定时器Timer

    https://www.cnblogs.com/pony1223/p/9249930.html

    5、线程范围内共享变量&ThreadLocal

    https://www.cnblogs.com/pony1223/p/9256224.html

    6、原子性操作类的应用

    https://www.cnblogs.com/pony1223/p/9266398.html

    7、线程并发库的应用_线程池

    https://www.cnblogs.com/pony1223/p/9286519.html

    8、Callable与Future的应用

    https://www.cnblogs.com/pony1223/p/9286547.html

    9、多线程中锁技术

    https://www.cnblogs.com/pony1223/p/9287015.html

    https://www.cnblogs.com/tison/p/8283233.html (推荐原因:对多种锁进行汇总对比)

    10、Semaphere同步信号量

    https://www.cnblogs.com/pony1223/p/9303009.html

    11、同步辅助类CyclicBarrier与CountDownLatch

    https://www.cnblogs.com/pony1223/p/9303016.html

    12、同步工具类Exchanger

    https://www.cnblogs.com/pony1223/p/9315885.html

    13、阻塞队列BlockingQueue

    https://www.cnblogs.com/pony1223/p/9315893.html

    14、并发集合容器类

    https://www.cnblogs.com/pony1223/p/9315920.html

    15、线程生命周期和线程同步

    https://www.cnblogs.com/tison/p/8266718.html

    四、技术规范制定,技术文档篇

    成熟的团队,都会建议文档机制,进行沉淀,无论是有人离职,还是新人入职,都可以快速保证岗位正常交接。不会因为人事变动,

    导致项目玩不转。技术规范主要从编码规范,技术文档主要从一篇设计方案文档、问题总结文档、版本封版总结文档、测试文档、工具文档、等方面。

    编码规范:

    C++:http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

    Android:http://source.android.com/source/code-style.html

    Java:https://files-cdn.cnblogs.com/files/han-1034683568/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%E7%BB%88%E6%9E%81%E7%89%88v1.3.0.pdf

    方案设计方案文档:包括类图关系、主要接口、内存模型,线程关系,时序图,方案优缺点,业务场景

    问题总结文档:包括问题背景,问题原因,问题影响范围,问题解决方案,下次出现类似问题,规避手段和方法。

    版本封版总结文档:包括版本时间点,需求点,出现的问题(无论是流程上还是个人上),每个人的各自封板总结,bug数量(分析哪些可以避免的,哪些是合理的bug)

    测试文档:包括测试功能点,测试工具,测试数据报告,测试场景,测试版本,输出结论,性能测试报告(各种率,成功率,崩溃率),功能测试报告(bug数,解决bug平均时间)

    工具文档:包括开发过程中比较高效的工具,汇总到一起,提高大家效率。

    五、难点攻坚和新技术调研篇

    难点攻坚,一般设立专项来解决,比如xx慢,xx率低,首先是要梳理链路,找出各个环节影响的原因。然后挨个优化。往往查原因比找解决方案要难很多。无论是通过请教同事,还是网上查资料,方向第一不能走偏,不然就是花了时间,绕了半天,还要被领导吊。

    新技术调研篇:这个到时补充个我调研新技术的PPT,给大家参考下,这个看个人习惯,但是主要东西要展现

    - 首先它是什么

    - 能对我们的产品带来什么收益

    - 和过去的技术相比,优缺点

    - 迁移成本,学习成本

    - 学习地址

    - 基础流程是怎样?解决了关键的痛点是什么?

    相关文章

      网友评论

          本文标题:Android资深学习路线2

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