刚好闲下来,顺便收集了一些关于爱奇艺,字节跳动,抖音的面试题目。也整理好了答案,希望对即将面试和跳槽的小伙伴有所帮助
一.2019爱奇艺秋招Android
1.使用堆排序方法排序(45,78,57,25,41,89),初始堆为( 89,45,78,25,41,57 )
2.6个圆盘的汉诺塔,总的移动次数是( 63 )
3.在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为(3)
4.有关希尔排序算法叙述
5.在一个空的5阶B-树中依次插入关键字序列{6,8,15,16,22,10,18,32,20},插入完成后,关键字6所在结点包含的关键字个数为( 3 )
6..在求两个集合并集的过程中,可能需用到的操作是?
需求:求两个集合的并集
- 取元素,至少得知道集合存的是啥元素
- 插入元素,并集可能存在集合 A 中有而集合 B 中无的元素,需要插入到新的集合中
- 比较操作,判断是否相等
- 求表长,完整遍历
7.TCP协议与UDP协议负责端到端连接,下列那些信息只出现在TCP报文,UDP报文不包含此信息?
UDP头部信息只有4个,
- 从哪来:源端口
- 到哪去:目的端口
- 有多长:长度
- 对不对:校验和
8.程序员编写程序时使用文件系统提供的系统调用将内存中由address地址开始的n个字节或n个记录的信息写入指定文件中,但发现文件名不可用,可行的解决办法是?
https://www.cnblogs.com/ChunJian-YANG/p/5322041.html
9.以下程序的执行结果是:
static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] args) { int i =0; for(foo(‘A‘);foo(‘B‘)&&(i<2);foo(‘C‘)) { i++; foo(‘D‘); } }
(ABDCBDCB)
- 其实foo(‘A’);就是初始化条件,只会执行一次,所以第一个打印的肯定是A
- 因为i=0;循环条件是i<2 (由此可知循环i等于2的时候就会停止循环,)所有0<2满足条件,接着会输出B,然后执行i++;i就变成1了,再输出D,再最后输出C,一次循环后的结果是:ABDC
- 第二次循环的开始是foo(‘A’);是初始条件所以不会执行,直接从foo(‘B’)开始,输出B,然后i为1,且小于2,此时循环体内再次执行i++;i的值为2了,再次输出D,最后输出C
第二次循环输出:BDC - 然后循环再次执行for(foo(‘A’);foo(‘B’)&&(i<2);foo(‘C’))
直接输出B.i的值在第二轮循环后的值变成了2,2<2不成立,终止循环,输出B
10.关于Java以下描述正确的有?
Class类是Object类的超类
object类是一个final类
string类是一个final类
class类可以装载其他类
11.以下代码可以使用的修饰符是
public interface Status { /*INSERT CODE HERE*/ int MY_VALUE=10; }
final.static.abstract.public
接口中字段的修饰符:public static final(默认不写)
接口中方法的修饰符:public abstract(默认不写)
12.在哪种模式下,同一个Activity可以被多次实例化
- standard标准模式:每次启动一个Activity就会创建一个新的实例
- singleTop栈顶复用模式:如果新Activity已经位于任务栈的栈顶,就不会重新创建,并回调 onNewIntent(intent) 方法
- singleTask栈内复用模式:只要该Activity在一个任务栈中存在,都不会重新创建,并回调 onNewIntent(intent) 方法。如果不存在,系统会先寻找是否存在需要的栈,如果不存在该栈,就创建一个任务栈,并把该Activity放进去;如果存在,就会创建到已经存在的栈中
- singleInstance单实例模式:具有此模式的Activity只能单独位于一个任务栈中,且此任务栈中只有唯一一个实例
13.A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为(3)
A B ---B出
C D ---D C出
E F ----F E出
----A出
所以是3
14.Android中,资源ID保存在哪里(R.java)
二.计算机-Android方面
1.在手机开发中常用的数据库是
SQLite,是一款轻型的 关系型 数据库, 它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是 嵌入式 的,而且目前已经在很多 嵌入式产品 中使用了它,占用资源非常的低,在 嵌入式设备 中,可能只需要几百K的内存
2.在Android的Activity活动中,我们一般可以归结为那四种状态
- running
- paused
- stopped
- killed
3.在同一线程中android.Handler和android.MessaegQueue的数量对应关系是怎样的?
- Handler 必须在 Looper.prepare() 之后才能创建使用
- Looper 与当前线程关联,并且管理着一个 MessageQueue
- Message 是实现 Parcelable 接口的类
- 以一个线程为基准,他们的数量级关系是: Handler(N) : Looper(1) : MessageQueue(1) : Thread(1)
三.2019字节跳动Android面试
四.2019抖音Android面试
整理和收集不易,希望对各位小伙伴有所帮助_
关于我
更多信息可以点击关于我 , 非常希望和大家一起交流 , 共同进步
目前是一名程序员,不仅分享 Android开发相关知识,同时还分享技术人成长历程,包括个人总结,职场经验,面试经验等,希望能让你少走一点弯路。
原文地址:https://www.cnblogs.com/1157760522ch/p/11655767.html