android面试
Posted wzjhoutai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android面试相关的知识,希望对你有一定的参考价值。
腾讯面试题
int result = a+++3<<2;
int result = (a++ > 2)?(++a):(a+=3);
int b = 0x06;
int result = a&b;
Integer b = 34556;
boolean result = a==b;
return s.length() > 0 ? func(s.subString(1))+ s.charAt(0):"";
}
String result = func("Tencent");
比方 A = "Marginle"。B = Valaienie", 交集为aie,写个算法。
1.Activity和BroadCast Receiver的生命周期
Java基础
1.说出sleet,wait,notify的差别
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.用最快的方式将两个数组合并到一个数组中?时间复杂度
答:这个问题是搜狗2012年的笔试题,我開始还真是没想太明确。
刚才看到HashMap的时候才发现原来是这么回事。
当须要往ArrayList,HashMap中放东西时。像int,double这样的内建类型是放不进去的,由于容器都是装object的,这就须要这些内建类型的外覆类了。比方:int相应的Integer。double相应的Double。
答:频繁插入,链表效率高,频繁查找数组效率高,那么综合一下,我个人认为是哈希表,或者说HashMap等使用hash算法的数据结构。
面试过程描写叙述曾经做过的项目。
项目中你觉得的难点是什么。
2、对于网络交互这块儿须要注意什么问题
用uml画一个在你的项目中使用的设计模式。
(多家公司都在问,好好研究一下)
(多家公司都问。Android方向面试必考的)
(常考的)
技术更新永无止境。要时刻保持清醒的头脑,不断学习,充实自己。才干在竞争中不被淘汰,祝大家好运。找到心仪的工作。
=================================================================================================================
sdk文档中有具体说明
wait 和 sleep的差别
java经常使用的数据结构 怎样实现
重载与重写差别
android 有哪些安全机制