Android 进阶学习2

篇幅太长,共2篇,第2篇,可以直接在手机上点击开头的标签,找第1篇

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

三、多线程编程篇

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

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

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

1、回顾线程的基础知识JAVA多线程基础学习一:基础知识 - pony1223 - 博客园2、synchronizedJAVA多线程基础学习二:synchronized - pony1223 - 博客园3、volatile关键字JAVA多线程基础学习三:volatile关键字 - pony1223 - 博客园4、Java传统线程技术、传统定时器TimerJAVA多线程提高一:传统线程技术&传统定时器Timer - pony1223 - 博客园5、线程范围内共享变量&ThreadLocalJAVA多线程提高四:多个线程之间共享数据的方式 - pony1223 - 博客园6、原子性操作类的应用JAVA多线程提高五:原子性操作类的应用 - pony1223 - 博客园7、线程并发库的应用_线程池JAVA多线程提高六:java5线程并发库的应用_线程池 - pony1223 - 博客园8、Callable与Future的应用JAVA多线程提高七:Callable与Future的应用 - pony1223 - 博客园9、多线程中锁技术JAVA多线程提高八:线程锁技术 - pony1223 - 博客园java 多线程总结篇4——锁机制 - Tison - 博客园 (推荐原因:对多种锁进行汇总对比)

10、Semaphere同步信号量JAVA多线程提高九:Semaphere同步工具 - pony1223 - 博客园11、同步辅助类CyclicBarrier与CountDownLatchJAVA多线程提高十:同步工具CyclicBarrier与CountDownLatch - pony...12、同步工具类ExchangerJAVA多线程提高十一:同步工具Exchanger - pony1223 - 博客园13、阻塞队列BlockingQueueJAVA多线程提高十二:阻塞队列应用 - pony1223 - 博客园14、并发集合容器类JAVA多线程提高十三:同步集合类的应用 - pony1223 - 博客园15、线程生命周期和线程同步java 多线程总结篇3之——生命周期和线程同步 - Tison - 博客园四、技术规范制定,技术文档篇

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

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

编码规范:

C++:http://google-styleguide.googlecode.com/svn/trunk/...Android:http://source.android.com/source/code-style.htmlJava:https://files-cdn.cnblogs.com/files/han-1034683568...方案设计方案文档:包括类图关系、主要接口、内存模型,线程关系,时序图,方案优缺点,业务场景

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

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

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

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

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

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

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

- 首先它是什么

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

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

- 迁移成本,学习成本

- 学习地址

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

你可能感兴趣的:(Android 进阶学习2)