App求职

来源:互联网 发布:网络交友新时空原文 编辑:程序博客网 时间:2024/04/29 13:03


Need复习点:
1、Java基础;
2、安卓平台常用布局;
3、理解面向对象设计的基本原则;
4、精通常用的设计模式;
5、熟悉框架及各种特性;
6、熟悉Android下电话、信息、地理定位、数据库、动画等运行原理;
7、熟悉Android app 开发流程;
8、熟悉网络编程,熟悉Linux、XML、TCP/IP和HTTP协议;

9、深入了解android架构,对项目有构建系统框架能力;




re:

2、安桌平台常用布局;

LinearLayout:横、竖

RelativeLayout:以一个为基准

FrameLayout:默认左上角,一般结合Fragement使用

TableLayout:表格布局,TableRow,单员格里可以设置属性

AbsoluteLayout:使用具体坐标


3、理解面向对象设计的基本原则;

SOLID+迪米特原则

例子:ImageLoader

SOLID:

单一职责原则(SRP):显示、下载、初始化缓存都放在ImageLoader类中,未遵循该原则。
开放封闭原则(OCP):修改后,ImageLoader负责图片加载。ImageCache负责处理图片缓存。但只能通过内存缓存,程序退出后又得耗流量去下载,所以添加SDCard缓存、以及Double缓存(if else判断使用哪种),此时时if else逻辑就很臃肿,所以抽象出接口,通过注入接口的方式使用哪种缓存,这就是开闭原则。
里氏替换原则(LSP) :上面各种实际缓存的注入,其实就是里氏替换原则。

依赖倒置原则(DIP) :抽象依赖抽象,细节依赖抽象
接口隔离原则(ISP):try catch finally 里,finally里关闭对象,其实就可以整个关闭对象,让其只依赖其Closable接口,而不暴露具体对象的方法。


迪米特原则:
例子:租房中介,上面例子中SDCard缓存用到了jake wharton的DiskLruCache,但对用户是透明的,用户完全不知道其存在,这样就使得系统具有更好的扩展性与更低的耦合性。



6、熟悉Android下电话、信息、地理定位、数据库、动画等运行原理;
数据库运行原理:

query :使用匿名共享内存机制:适合数据量多的情况。内存映射

call:使用binder通信机制:适合数据量少的情况。


Provider :

android:bultiprocess=false:会在一个独立的应用程序中启动。

ContentProvider

ContentResolve

ContentService

ContentObserver


动画:

Animation   动画的一些属性,有两个成员,AnimationListener和Transformation

Transformation 有两个重要属性 alpha(透明度)  matrix(各种平移、缩放、旋转等)


地理定位运行原理:

GPS定位,WIFI定准,基站定位,AGPS定位




1.有扎实的编程基础,熟练掌握java开发语言和android sdk,熟悉Android消息机制、事件分发机制、以及对overdraw的优化,对Android系统架构有一定了解。

2.熟悉Android中socket与http网络通信方式以及xml与json解析。

3.了解Glide的用法,会使用OkHttp等第三方框架。

4.会使用Systrace、TraceViewer分析以及优化卡顿性能问题,有分析与解决anr以及oom的能力。

5.熟悉常见的设计模式,理解Android中一些使用到设计模式的技术点,有良好的编码习惯与面向对象设计经验。

6.乐于分享,有良好的沟通能力和团队协作能力。


Handler消息机制:

MessageQueue,消息队列

Looper不断循环消息队列

Handler处理消息




事件分发机制:


overdraw优化:


socked

http区别:


Glide用法及原理:


OkHttp用法及原理:


anr:


oom:


设计模式,举例Android中用到的:


MVP模式:









原创粉丝点击