Android 面试专辑优秀的android架构师@IT·互联网

android 面试你们不得不了解的问题

2018-07-20  本文已影响27人  android框架安卓

百度面试题

2013-5-2号补充:

1.View和ViewGroup的关系

2.如何定位和解决Andorid的内存溢出问题

3.一个有N个元素的一维数组(A[0],A[1], ..., A[n-1]),设计一个算法求解该数组最大子数组。(要求时间复杂度是O(n))

4.用Java代码实现判断一个字符串中是否包含另一个字符串,不要用jdk中String的indexOf方法。

5.用Java实现一个Singleton.

6.简述Observer设计模式,并画出Observer模式的典型结构类图

7.& 和&&的区别

8.什么是dpi,ps,sp?适配是如何做的,为什么?

9.用最有效率的方法算出2乘以8等于几?

10.静态成员类、非静态成员类有什么区别?什么是匿名内部类?

11.Handler机制的原理,内部是如何实现的,消息队列的实现机制?

12.什么是ANR,如何定位和避免?

13.APK之间互相传递数据

14.简述Android的启动过程

15.如何加载ndk库?如何在jni中注册native函数,有几种注册方法?

16.如何收集软件崩溃信息?

17.简述软件编译流程和发布流程

18.是否编译过android源码和linux内核源码

19.写一个归并排序数组

20.自定义控件相关

21.缓存实现

22.线程同步(生产者 消费者)

23.符号匹配(栈)

24.还问了下拉刷新和分页加载的实现机制

盘古搜索面试总结

算法题

2.求一个数组的最大连续子序列和,比如:-10,3,5,2,-3,6,7

最笨的方法就是穷举法,用三层for循环

3.求一个数组中出现次数最多且值最大的数

android的基础题

1.service的生命周期

2.Intent用途,了解多少?IntentService知道么?

3.自定义控件

4.xmpp协议的理解

5.广播创建方式有几种?有什么区别?

6.多线程有几种实现方式?

继承Thread,  实现Runnable接口, AsynTask

------------------------------------------------------------

一、listview如何优化(这个很重要,多次被问到)

1.分页加载

2.convertView缓存

3.viewHolder

4.scrollListener,记住滑动的状态

二、常用排序算法,各种算法的复杂度,用Java实现一种排序算法。

四、单链表的反转、合并、排序

五、二分查找法

六、Intent Flag常用的记住几个

七、AIDL怎么用?全称是什么?

八、taskAffinity 亲和性

这个一般人应该都不熟悉,了解一下,面试中可能被问到,几率不大。

百度各种面试总结

1.Listview item缓存如何实现

convertView

2.很多view如何缓存

3.图片上传

4.图片过大如何处理?压缩后图片有多大?

分辨率压缩、质量压缩

5.OOM怎么办?

6.图片的缓存机制,如何做到高效和稳定?

7.自定义view怎么做能提高效率? 自定义view如何做图片缓存?自定义view如何判断单击和双击?自定义view 的 onDraw方法主要做什么?

避免重复调用measure 和 layout

8.是否看过view的源码

9.动画的机制及其底层实现?

10.二叉树、链表

11.平时看什么书?去哪些论坛看?

12.问项目底层实现

13.Linux文件系统实现,如何实现文件的隐藏?

---------------------------------------------------------------------------------------------------------

面试算法题总结

1.有一个整数数组,有负数和整数,用一个方法把正负数分开,要求空间复杂度是O(1),时间复杂度是:O(N)(百度移动平台部)

2.有一个数列,奇数个,其中有3个是单个的, 其它都是成对的,怎么找出其中任意一个单个的数(小米一面)

3.在一个数组中,找出出现次数最多且数值最大的一个数并输出

4.用最快的方式将两个数组合并到一个数组中?时间复杂度

问题:怎样的类可以作为HashMap的键?

答:这个问题是搜狗2012年的笔试题,我开始还真是没想太明白。刚才看到HashMap的时候才发现原来是这么回事。

当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这就需要这些内建类型的外覆类了。比如:int对应的Integer,double对应的Double。

同样是搜狗的笔试题:适合频繁插入和查找的数据结构

答:频繁插入,链表效率高,频繁查找数组效率高,那么综合一下,我个人觉得是哈希表,或者说HashMap等使用hash算法的数据结构。

上一篇 下一篇

猜你喜欢

热点阅读