在开始回答前,先简单概括性地说说Linux现有的所有进程间IPC方式:

1. **管道:**在创建时分配一个page大小的内存,缓存区大小比较有限;
2. 消息队列:信息复制两次,额外的CPU消耗;不合适频繁或信息量大的通信;
3. 共享内存:无须复制,共享缓冲区直接付附加到进程虚拟地址空间,速度快;但进程间的同步问题操作系统无法实现,必须各进程利用同步工具解决;
4. 套接字:作为更通用的接口,传输效率低,主要用于不通机器或跨网络的通信;
5. 信号量:常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
6. 信号: 不适用于信息交换,更适用于进程中断控制,比如非法内存访问,杀死某个进程等;

Android的内核也是基于Linux内核,为何不直接采用Linux现有的进程IPC方案呢,难道Linux社区那么多优秀人员都没有考虑到有Binder这样一个更优秀的方案,是google太过于牛B吗?事实是真相并非如此,请细细往下看,您就明白了。

Activity基础相关

说下Activity生命周期 ?

Activity A 启动另一个Activity B 会调用哪些方法?如果B是透明主题的又或则是个DialogActivity呢 ? 说下onSaveInstanceState()方法的作用 ? 何时会被调用?

说下 Activity的四种启动模式、应用场景 ?

了解哪些Activity常用的标记位Flags?

说下 Activity跟window,view之间的关系?

横竖屏切换的Activity生命周期变化?

如何启动其他应用的Activity?

Activity的启动过程?(重点)

Fragment基础相关

谈一谈Fragment的生命周期 ?

与Activity生命周期的不同 ?

谈谈Activity和Fragment的区别?

Fragment中add与replace的区别(Fragment重叠) getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之间的区别?

FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景

Service基础相关

谈一谈Service的生命周期?

Service的两种启动方式?区别在哪?

如何保证Service不被杀死 ? 能否在Service开启耗时操作 ?怎么做 ?

用过哪些系统Service ?

了解ActivityManagerService吗?发挥什么作用(重点)

Broadcast Receiver基础相关

广播有几种形式 ? 都有什么特点 ?

广播的两种注册方式 ?

广播发送和接收的原理了解吗 ?(Binder机制、AMS)

ContentProvider基础相关

ContentProvider了解多少?

ContentProvider的权限管理?

说说ContentProvider、ContentResolver、ContentObserver 之间的关系?

数据存储相关

描述一下Android数据持久存储方式?

SharedPreferences的应用场景?注意事项?

SharedPrefrences的apply和commit有什么区别?

了解SQLite中的事务操作吗?是如何做的 使用SQLite做批量操作有什么好的方法吗?

如何删除SQLite中表的个别字段?

使用SQLite时会有哪些优化操作?

IPC(重点)

Android中进程和线程的关系?区别?

如何开启多进程 ?应用是否可以开启N个进程 ?

为何需要IPC?

多进程通信可能会出现的问题?

Android中IPC方式、各种方式优缺点,为什么选择Binder?

Binder机制的作用和原理?

Binder框架中ServiceManager的作用?

Bundle传递对象为什么需要序列化?Serialzable和Parcelable的区别?

讲讲AIDL?原理是什么?如何优化多模块都使用AIDL的情况?

View相关

讲下View的绘制流程?

MotionEvent是什么?包含几种事件?什么条件下会产生?

描述一下View事件传递分发机制?

如何解决View的事件冲突 ?举个开发中遇到的例子 ?

scrollTo()和scollBy()的区别?

Scroller是怎么实现View的弹性滑动?

invalidate()和postInvalidate()的区别 ?

SurfaceView和View的区别?

自定义View如何考虑机型适配 ?

Handler相关

谈谈消息机制Handler ? 作用 ?有哪些要素 ?流程是怎样的 ?

一个线程能否创建多个Handler,Handler跟Looper之间的对应关系 ?

软引用跟弱引用的区别 Handler 引起的内存泄露原因以及最佳解决方案

为什么系统不建议在子线程访问UI Looper死循环为什么不会导致应用卡死

使用Handler的postDealy后消息队列会有什么变化 ?

可以在子线程直接new一个Handler吗 ?怎么做 ?

Message可以如何创建 ?哪种效果更好 ?为什么 ?

最后我想说

为什么很多程序员做不了架构师?
1、良好健康的职业规划很重要,但大多数人都忽略了
2、学习的习惯很重要,持之以恒才是正解。
3、编程思维没能提升一个台阶,局限在了编码,业务,没考虑过选型、扩展
4、身边没有好的架构师引导、培养。所处的圈子对程序员的成长影响巨大。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。

附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

[外链图片转存中…(img-fF7bwWwx-1622042489392)]

里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

从新手到Flutter架构师,一篇就够!吐血整理相关推荐

  1. 从新手到Flutter架构师,一篇就够!学习路线+知识点梳理

    前言 IT行业薪水高,这是众所周知的,所以很多人大学都选择IT相关专业,即使非该专业的人,毕业了也想去一个培训机构镀镀金,进入这一行业. 但是有关这个行业35岁就退休的说法,也一直盛传. 加上这几年不 ...

  2. 从新手到Flutter架构师,一篇就够!深度解析,值得收藏

    前言 今天想停下代码,写点脑袋里不断浮现出来的一些看法. 也就是最近在微博和知乎上老看到"互联网寒冬"的说法.要么是看到啥公司薪水无法如期发放了,要么是看到别人说什么"裁 ...

  3. 从新手到Flutter架构师,一篇就够!这原因我服了

    咸鱼翻身不断上演 2018年5月份,北京,在所谓的互联网寒冬里,一个普通二本的学生,在小公司工作一年后,跳槽拿到了百度的offer,月薪从9k变为17k,涨薪幅度接近100%. 2018年底,上海,一 ...

  4. 从新手到Flutter架构师,一篇就够!附赠课程+题库

    导语 Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 音视频的开发,往往是比较难的,而这个比较难 ...

  5. 从新手到Flutter架构师,一篇就够!帮你突破瓶颈

    前言 马上快到金三银四都春招阶段了,在这本就是跳槽.找工作的年后黄金时间,大多数求职者都早早做好年后求职的准备,其中不乏有年前早早辞了工作准备年后跳槽的有经验的职场老人们,也有一批即将毕业的应届毕业生 ...

  6. 跳槽字节跳动,从新手到Flutter架构师,一篇就够!深度好文

    目前情况:10届某民办大学本科生,实际接触Android年限6年多了,工作年限五年半(注意,我说的是工作年限,不是工作经验),今年1月份裸辞后歇了大半年,经常一周也收不到几个offer,好不容易熬到H ...

  7. Github星标90K?京东架构师一篇讲明白百亿级并发系统架构设计

    学习高并发系统设计的原因 高并发到底是什么,想必各位多多少少对此都有所了解,那我在这就不多说了.真正经历过"双11"以及"618"的小伙伴应该都知道,在大促时如 ...

  8. 如何把自己打造成为一名金领架构师-开悟篇

    在你开始这次阅读之旅前,花10秒的时间,想一想,截止到现在,你人生发展过程中,有哪些人对你的成长最重要?谁对你的影响最大?是一个人?一本书?一件事?一朵花? 在你人生悟道之前,所有走过的路,都是为了这 ...

  9. 架构师花费近一年时间整理出来的Java核心知识,100%好评!

    前言 现如今的互联网应用大都是采用 分布式系统架构 设计的,所以 消息队列 已经逐渐成为企业的应用系统 内部通信 的核心手段, 它具有 低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 当 ...

最新文章

  1. Solr分页与高亮(使用SolrNet实现)
  2. 当按下ESC键时,关闭应用程序
  3. 组件的生命周期钩子函数
  4. 【Elasticsearch】es 报错 index has not yet rolled over with that alias
  5. 程序员:时间就是最好的创意
  6. 摄影测量学习总结(较全面易懂)
  7. python安装第三方库超时
  8. 火星来客创业周刊第1期:独立开发者Twitter小工具60天,从月入300美金到月入3000美金
  9. 张氏华孙公 福建省上杭县张氏第一代开基祖宗
  10. 科目二上车前的基础说明
  11. 现在的SQLSERVER数据库监控软件有哪些?
  12. Java实现163网易邮箱消息发送
  13. [渝粤教育] 山东大学 生物信息学 参考 资料
  14. 带宽测试初探(UDP发包方式)
  15. 10 EPC与物联网
  16. constrain用法_SQL中的CONSTRAINT(约束)用法总结
  17. Web 3浪潮席卷东南亚 越南为何会成为“热点”地区
  18. php laravel入口文件,Laravel 应用的入口:路由系列之基础入门篇
  19. 安装visio后,EXCEL打开后滚动鼠标滑轮自动退出解决方法
  20. windows10计算机管理中没有账户,win10系统没有管理员帐户的解决方法

热门文章

  1. java setsession_Java Session.setServerAliveInterval方法代码示例
  2. java mysql_Java与mysql的连接
  3. 引导界面图标好大_游戏里那些图标和界面,原来是这么设计出来的?
  4. html 访问节点,HTML DOM 访问节点
  5. javafx android sdk,JavaFX打包到Android上
  6. mysql5.6主从复制(读写分离)方案_MySQL5.6主从复制(读写分离)方案
  7. 山体等高线怎么看_每日一题 | 此处向斜山,你看出来了吗?
  8. LeetCode 27.移除元素 思考分析
  9. 双向a*搜索算法_双向搜索算法
  10. Java BigDecimal stripTrailingZeros()方法与示例