人生的第一次技术面- -【CVTE那次根本就不算= =
感觉有好多问题都问得好深入- -虽然【已经】跪了,但是知道了好多东西,我学得还不够深入TAT
Q1:android的系统架构上使用了怎么样的模式?
Q2: 从桌面上点击一个应用图标后,到启动一个activity的过程是怎样的?
Q3: Java的匿名内部类是如何实现的?
Q4: handler跟Looper到底是怎么绑定的?为什么一个looper能跟当前的线程绑定?looper里面的消息队列怎么获取消息,会死循环吗?
Q5: android进程间的通信方式有哪些?android的IPC机制是怎么实现的?
Q6: HTTP如何实现断点续传?
Q7: 类加载器的delegate机制
我自己的答案:
A1:mashup模式。一种基于组件的设计模式,一个应用由一个或多个组件“混搭”而成。组件与组件通过intent沟通,组件的配置是通过AndroidManifest配置的- -
【其实这个问题我回答错了吧。android的系统架构使用怎样的模式?而不是Android应用是怎样的架构模式,android应用的话才是基于组件的设计。
如果是android系统的话?这个还真搞不懂- -
【这是个模式,我是看android开发精要上提到的。因为我实在不觉得是mvc模式
Update:
C/S架构?昨天看到资料说,其实Binder让Android的Davlk虚拟机跟Linux内核部分形成一个微型的CORBA,即一个分布式结构。运行在上层的应用可以获取系统服务,就像一个客户端。
A2:说是像是一个button,但是实际不是吧。【待查完资料补充
A3:虽然是匿名类,但是在对象中还存在它的一个引用,所以他可以调用外部类【待查资料补充
A4:【好混乱- -虽然看过源码,但是没怎么整理我的想法。感觉我需要在看源码的时候顺便画个类图啥的
A5:AIDL,Binder【具体没说上来= =明明早上才看来着。快去看官方文档里的Process and thread
A6:【这个真心不懂了。。。
A7:子类加载不了就委托父类进行加载【这个真心记不得了=_=待补充
最后他问我有什么问题= =我感觉好囧啊。
我感觉我表达能力还有点问题。。感觉那个问题也问得好幼稚= =
项目的问题:
Q1: 如何实现android client实时性?
Q2:SurfaceView跟View有什么区别= =(我好像说成glSurfaceview了orz)
简单的问题就忽略了- -
比如说launchMode问题- -丫的,我忘记还有个singleTask了!!SingleInstance也说错功能了orz
还有final,finally,finalize的区别- -
堆跟栈的区别。
一些常见的设计模式,顺便举个栗子什么的
竟然没问算法题=_=该庆幸下吗