Android 面试心得(面试题+答案)

分享面试心得和一些些吐槽

任何行业发展过程中难免面临“内卷”化问题,呈现出企业招人才难,人才找工作难现象。

1、各种手机适配问题

xml进行手机匹配
刘海屏适配
implementation 'com.android.support:percent:28.+'

2、界面优化

布局重用,少嵌套,

3、自定义view

自定义View和自定义ViewGroup的区别在于

自定义View主要是实现onMeasure + onDraw(注重绘制)
自定义ViewGroup主要是实现onMeasure + onLayout(注重布局)

4、进程和线程区别+如何保证安全

进程是程序资源管理器最小单元,线程是程序执行的最小单元,
进程包括多个线程组成,同一个进程中的多个线程享受相同的资源,

5、内存泄漏、溢出、抖动

内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。

内存溢出:程序向系统申请的内存空间超出了系统能给的。比如内存只能分配一个int类型,我却要塞给他一个long类型,系统就出现oom。

大量的内存泄露会导致内存溢出(oom)。
容易产生内存泄漏的情况
ActivityContextstatic Activity activity; static view;
Inner Classes(内部类---内部类持有外部类实例的强引用)
HandlerThreads

6、混合开发,Android调用前端问题

7、组件化、模块化开发

8、Android 更新UI有哪几种方法

9、MVC、MVP、MVVM、MVI

MVC:数据和视图分离
MVP:P持有view接口
MVVP:职责分明
MVI:单向数据流

10、listview和recycleView的区别是什么

11、Java设计模式有哪些

1、单例模式;2、工厂模式;3、建造(Builder)模式;4、观察者模式;
5、适配器(Adapter)模式;6、代理模式;7、装饰模式。 

12、Activity启动模式

标准模式、栈顶模式、栈内模式,唯一模式

13、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值